web3-polkadot 1.1.0.0 → 1.1.0.1
raw patch · 11 files changed
+55309/−1 lines, 11 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- tests/meta/v10.hex +1/−0
- tests/meta/v10.json +7821/−0
- tests/meta/v11.hex +1/−0
- tests/meta/v11.json +11686/−0
- tests/meta/v12.hex +1/−0
- tests/meta/v12.json +14399/−0
- tests/meta/v13.hex +1/−0
- tests/meta/v13.json +16490/−0
- tests/meta/v9.hex +1/−0
- tests/meta/v9.json +4896/−0
- web3-polkadot.cabal +12/−1
+ tests/meta/v10.hex view
@@ -0,0 +1,1 @@+0x6d6574610a6c1853797374656d011853797374656d34304163636f756e744e6f6e636501010130543a3a4163636f756e74496420543a3a496e646578001000000000047c2045787472696e73696373206e6f6e636520666f72206163636f756e74732e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e4c416c6c45787472696e73696373576569676874000018576569676874040004150120546f74616c2077656967687420666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010138543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101010c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101011c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e01242866696c6c5f626c6f636b0004210120412062696720646973706174636820746861742077696c6c20646973616c6c6f7720616e79206f74686572207472616e73616374696f6e20746f20626520696e636c756465642e1872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f64650410636f64651c5665633c75383e04682053657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e041d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e04a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f7261676504106b657973205665633c4b65793e0478204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697804187072656669780c4b6579041501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e01084045787472696e7369635375636365737304304469737061746368496e666f049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f045420416e2065787472696e736963206661696c65642e00143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c5370656356657273696f6e4e6f74416c6c6f776564546f4465637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c496d706c56657273696f6e4e6f74416c6c6f776564546f44656372656173650849012054686520696d706c656d656e746174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e7c537065634f72496d706c56657273696f6e4e656564546f496e637265617365083501205468652073706563696669636174696f6e206f722074686520696d706c656d656e746174696f6e2076657273696f6e206e65656420746f20696e637265617365206265747765656e20746865942063757272656e742072756e74696d6520616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e1c5574696c697479011c5574696c69747904244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e0114146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e00ec20546869732077696c6c206578656375746520756e74696c20746865206669727374206f6e65206661696c7320616e64207468656e2073746f702e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e002c2023203c7765696768743ea4202d205468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602e34202d204f6e65206576656e742e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e1861735f7375620814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1ce02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e70202d2054686520776569676874206f6620746865206063616c6c602e302023203c2f7765696768743e2061735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3ea4590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e40617070726f76655f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d80590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d5859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e302023203c2f7765696768743e0118404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734c2077656c6c20617320746865206572726f722e384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e2c4e65774d756c746973696708244163636f756e744964244163636f756e7449640849012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e20466972737420706172616d20697320746865206163636f756e74207468617420697320617070726f76696e672c80207365636f6e6420697320746865206d756c7469736967206163636f756e742e404d756c7469736967417070726f76616c0c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640859012041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e404d756c7469736967457865637574656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e744964384469737061746368526573756c74082d012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e444d756c746973696743616e63656c6c65640c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640831012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e20466972737420706172616d20697320746865206163636f756e742074686174206973ac2063616e63656c6c696e672c20746869726420697320746865206d756c7469736967206163636f756e742e00001042616265011042616265242845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100205b75383b2033325d80000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e384e65787452616e646f6d6e6573730100205b75383b2033325d800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101010c753332345665633c5b75383b2033325d3e000400002c496e697469616c697a65640000204d6179626556726604000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e010000083445706f63684475726174696f6e0c75363420c800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420b80b00000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e002454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e245820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420dc0500000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e0028417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e1c496e6469636573011c496e6469636573082c4e657874456e756d53657401003c543a3a4163636f756e74496e6465781000000000047c20546865206e657874206672656520656e756d65726174696f6e207365742e1c456e756d5365740101013c543a3a4163636f756e74496e646578445665633c543a3a4163636f756e7449643e00040004582054686520656e756d65726174696f6e20736574732e010001043c4e65774163636f756e74496e64657808244163636f756e744964304163636f756e74496e64657810882041206e6577206163636f756e7420696e646578207761732061737369676e65642e0005012054686973206576656e74206973206e6f7420747269676765726564207768656e20616e206578697374696e6720696e64657820697320726561737369676e65646020746f20616e6f7468657220604163636f756e744964602e00002042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c56657374696e6700010130543a3a4163636f756e744964ac56657374696e675363686564756c653c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e2c4672656542616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c9c20546865202766726565272062616c616e6365206f66206120676976656e206163636f756e742e004101205468697320697320746865206f6e6c792062616c616e63652074686174206d61747465727320696e207465726d73206f66206d6f7374206f7065726174696f6e73206f6e20746f6b656e732e204974750120616c6f6e65206973207573656420746f2064657465726d696e65207468652062616c616e6365207768656e20696e2074686520636f6e747261637420657865637574696f6e20656e7669726f6e6d656e742e205768656e207468697355012062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e20746865202763757272656e74206163636f756e74272069733d012064656c657465643a207370656369666963616c6c7920604672656542616c616e6365602e20467572746865722c2074686520604f6e4672656542616c616e63655a65726f602063616c6c6261636b450120697320696e766f6b65642c20676976696e672061206368616e636520746f2065787465726e616c206d6f64756c657320746f20636c65616e2075702064617461206173736f636961746564207769746854207468652064656c65746564206163636f756e742e00750120606672616d655f73797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c657465642069662060526573657276656442616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e3c526573657276656442616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c75012054686520616d6f756e74206f66207468652062616c616e6365206f66206120676976656e206163636f756e7420746861742069732065787465726e616c6c792072657365727665643b20746869732063616e207374696c6c206765749c20736c61736865642c20627574206765747320736c6173686564206c617374206f6620616c6c2e006d0120546869732062616c616e63652069732061202772657365727665272062616c616e63652074686174206f746865722073756273797374656d732075736520696e206f7264657220746f2073657420617369646520746f6b656e732501207468617420617265207374696c6c20276f776e65642720627920746865206163636f756e7420686f6c6465722c20627574207768696368206172652073757370656e6461626c652e007501205768656e20746869732062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e2074686973202772657365727665206163636f756e7427b42069732064656c657465643a207370656369666963616c6c792c2060526573657276656442616c616e6365602e00650120606672616d655f73797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c6574656420696620604672656542616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473190120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e29144c6f636b7301010130543a3a4163636f756e744964b05665633c42616c616e63654c6f636b3c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e0110207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e64d8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642edc2020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765725901202020202060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e6365646020616e642060543a3a4f6e4672656542616c616e63655a65726f3a3a6f6e5f667265655f62616c616e63655f7a65726f602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e00302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e349420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742c01012069742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e0851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e4d6f64756c652e68746d6c236d6574686f642e7472616e736665720114284e65774163636f756e7408244163636f756e7449641c42616c616e6365046c2041206e6577206163636f756e742077617320637265617465642e345265617065644163636f756e7408244163636f756e7449641c42616c616e6365045c20416e206163636f756e7420776173207265617065642e205472616e7366657210244163636f756e744964244163636f756e7449641c42616c616e63651c42616c616e636504b0205472616e7366657220737563636565646564202866726f6d2c20746f2c2076616c75652c2066656573292e2842616c616e63655365740c244163636f756e7449641c42616c616e63651c42616c616e636504c420412062616c616e6365207761732073657420627920726f6f74202877686f2c20667265652c207265736572766564292e1c4465706f73697408244163636f756e7449641c42616c616e636504dc20536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e0c484578697374656e7469616c4465706f73697428543a3a42616c616e63654000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e2c5472616e7366657246656528543a3a42616c616e6365400010a5d4e800000000000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e46656528543a3a42616c616e6365400010a5d4e80000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e203856657374696e6742616c616e6365049c2056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e7304c8204163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c204f766572666c6f77047420476f7420616e206f766572666c6f7720616674657220616464696e674c496e73756666696369656e7442616c616e636504782042616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f73697404ec2056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650490205472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c6504cc20412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e74048c2042656e6566696369617279206163636f756e74206d757374207072652d6578697374485472616e73616374696f6e5061796d656e74012042616c616e63657304444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665653042616c616e63654f663c543e400010a5d4e8000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e001c5374616b696e67011c5374616b696e67683856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010130543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010130543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010130543a3a4163636f756e7449644452657761726444657374696e6174696f6e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010130543a3a4163636f756e7449643856616c696461746f72507265667301040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010130543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e01040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010130543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e6c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e24536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010120457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2903040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e03040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010130543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101018c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014410626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965654452657761726444657374696e6174696f6e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737325012074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965654452657761726444657374696e6174696f6e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e1c45012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c6564206279206569746865722074686520726f6f74206f726967696e206f7270207468652060543a3a536c61736843616e63656c4f726967696e602e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e18e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e002c2023203c7765696768743ef0202d2054696d6520636f6d706c65786974793a204f2831292e20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e302023203c2f7765696768743e010c18526577617264081c42616c616e63651c42616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e28344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e6465780444204475706c696361746520696e6465782e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e44496e73756666696369656e7456616c756504cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e1c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b6579730002051c5665633c75383e38543a3a56616c696461746f7249641c543a3a4b657973010400109c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e204b65794f776e65720002051c5665633c75383e50284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496401040010250120546865206f776e6572206f662061206b65792e20546865207365636f6e64206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e0104207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e28e42053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b6579602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e88202d204f286c6f67206e2920696e206e756d626572206f66206163636f756e74732e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e044044454455505f4b45595f50524546495814265b75385d38343a73657373696f6e3a6b6579730865012055736564206173206669727374206b657920666f7220604e6578744b6579736020616e6420604b65794f776e65726020746f2070757420616c6c20746865206461746120696e746f207468652073616d65206272616e636834206f662074686520747269652e0c30496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e2444656d6f6372616379012444656d6f6372616379403c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e24507265696d616765730001011c543a3a48617368d4285665633c75383e2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d62657229000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e244465706f7369744f660001012450726f70496e646578842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e2900040004842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401003c5265666572656e64756d496e646578100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001013c5265666572656e64756d496e6465789c5265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173683e00040004b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e34446973706174636851756575650100bc5665633c28543a3a426c6f636b4e756d6265722c20543a3a486173682c205265666572656e64756d496e646578293e0400044101205175657565206f66207375636365737366756c207265666572656e646120746f20626520646973706174636865642e2053746f726564206f72646572656420627920626c6f636b206e756d6265722e24566f74657273466f720101013c5265666572656e64756d496e646578445665633c543a3a4163636f756e7449643e00040004a4204765742074686520766f7465727320666f72207468652063757272656e742070726f706f73616c2e18566f74654f660101017c285265666572656e64756d496e6465782c20543a3a4163636f756e7449642910566f7465000400106101204765742074686520766f746520696e206120676976656e207265666572656e64756d206f66206120706172746963756c617220766f7465722e2054686520726573756c74206973206d65616e696e6766756c206f6e6c794d012069662060766f746572735f666f726020696e636c756465732074686520766f746572207768656e2063616c6c6564207769746820746865207265666572656e64756d2028796f75276c6c20676574207468655d012064656661756c742060566f7465602076616c7565206f7468657277697365292e20496620796f7520646f6e27742077616e7420746f20636865636b2060766f746572735f666f72602c207468656e20796f752063616ef420616c736f20636865636b20666f722073696d706c65206578697374656e636520776974682060566f74654f663a3a657869737473602066697273742e1450726f787900010130543a3a4163636f756e74496430543a3a4163636f756e7449640004000831012057686f2069732061626c6520746f20766f746520666f722077686f6d2e2056616c7565206973207468652066756e642d686f6c64696e67206163636f756e742c206b6579206973207468658820766f74652d7472616e73616374696f6e2d73656e64696e67206163636f756e742e2c44656c65676174696f6e7301010130543a3a4163636f756e7449646828543a3a4163636f756e7449642c20436f6e76696374696f6e2901840000000000000000000000000000000000000000000000000000000000000000000441012047657420746865206163636f756e742028616e64206c6f636b20706572696f64732920746f20776869636820616e6f74686572206163636f756e742069732064656c65676174696e6720766f74652e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001011c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101011c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e01541c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e80202d2054776f204442206368616e6765732c206f6e6520444220656e7472792e302023203c2f7765696768743e187365636f6e64042070726f706f73616c48436f6d706163743c50726f70496e6465783e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e2870726f78795f766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c510120566f746520696e2061207265666572656e64756d206f6e20626568616c66206f6620612073746173682e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374f4207468652070726f706f73616c3b206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578085101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368083101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a48617368145901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e6065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a48617368144901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e28666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d626572245101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f9820202060456d657267656e6379566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736804bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e4463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e04542052656d6f76652061207265666572656e64756d2e3463616e63656c5f717565756564041477686963683c5265666572656e64756d496e64657804a02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e247365745f70726f7879041470726f787930543a3a4163636f756e7449641498205370656369667920612070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3072657369676e5f70726f787900149820436c656172207468652070726f78792e2043616c6c6564206279207468652070726f78792e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e3072656d6f76655f70726f7879041470726f787930543a3a4163636f756e744964149820436c656172207468652070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e2064656c65676174650808746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e143c2044656c656761746520766f74652e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e28756e64656c656761746500144420556e64656c656761746520766f74652e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e58636c6561725f7075626c69635f70726f706f73616c7300040101205665746f20616e6420626c61636b6c697374207468652070726f706f73616c20686173682e204d7573742062652066726f6d20526f6f74206f726967696e2e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e0861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e586e6f74655f696d6d696e656e745f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e0845012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265b420696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e34726561705f707265696d616765043470726f706f73616c5f686173681c543a3a4861736814f42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00510120546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d616765207761735d01206e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79b020776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e01402050726f706f736564082450726f70496e6465781c42616c616e636504c02041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e04dc2041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404602041207265666572656e64756d2068617320626567756e2e18506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f74506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c6564043c5265666572656e64756d496e64657804842041207265666572656e64756d20686173206265656e2063616e63656c6c65642e204578656375746564083c5265666572656e64756d496e64657810626f6f6c047420412070726f706f73616c20686173206265656e20656e61637465642e2444656c65676174656408244163636f756e744964244163636f756e74496404e020416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404244163636f756e74496404e820416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d626572049820416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504e020412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636504150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964045d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c6563746564206279207468652072656170657220286c617374206974656d292e1c3c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d62657210002f0d0014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210004e0c0004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210004e0c0004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e400000c16ff2862300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e54456d657267656e6379566f74696e67506572696f6438543a3a426c6f636b4e756d626572108051010004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f7220616e20656d657267656e6379207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210004e0c0004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400010a5d4e800000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e582056616c75654c6f7704382056616c756520746f6f206c6f773c50726f706f73616c4d697373696e6704602050726f706f73616c20646f6573206e6f74206578697374204e6f7450726f78790430204e6f7420612070726f787920426164496e646578043820556e6b6e6f776e20696e6465783c416c726561647943616e63656c656404982043616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c04582050726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c6973746564046c2050726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f7269747904ac204e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c696448617368043420496e76616c69642068617368284e6f50726f706f73616c0454204e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564049c204964656e74697479206d6179206e6f74207665746f20612070726f706f73616c20747769636530416c726561647950726f7879044020416c726561647920612070726f78792857726f6e6750726f787904302057726f6e672070726f7879304e6f7444656c6567617465640438204e6f742064656c656761746564444475706c6963617465507265696d616765045c20507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e740434204e6f7420696d6d696e656e74144561726c79042820546f6f206561726c7920496d6d696e656e74042420496d6d696e656e743c507265696d6167654d697373696e67044c20507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964048820566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964044420496e76616c696420707265696d6167652c4e6f6e6557616974696e670454204e6f2070726f706f73616c732077616974696e671c436f756e63696c014c496e7374616e636531436f6c6c656374697665142450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001011c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001011c543a3a486173684c566f7465733c543a3a4163636f756e7449643e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e01102c7365745f6d656d62657273042c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e105101205365742074686520636f6c6c6563746976652773206d656d62657273686970206d616e75616c6c7920746f20606e65775f6d656d62657273602e204265206e69636520746f2074686520636861696e20616e645c2070726f76696465206974207072652d736f727465642e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e01182050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e0018244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642148546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665142450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001011c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001011c543a3a486173684c566f7465733c543a3a4163636f756e7449643e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e01102c7365745f6d656d62657273042c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e105101205365742074686520636f6c6c6563746976652773206d656d62657273686970206d616e75616c6c7920746f20606e65775f6d656d62657273602e204265206e69636520746f2074686520636861696e20616e645c2070726f76696465206974207072652d736f727465642e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e01182050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e0018244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642124456c656374696f6e73014050687261676d656e456c656374696f6e181c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e1c566f7465734f6601010130543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e01040004010120566f746573206f66206120706172746963756c617220766f7465722c20776974682074686520726f756e6420696e646578206f662074686520766f7465732e1c5374616b654f6601010130543a3a4163636f756e7449643042616c616e63654f663c543e0040000000000000000000000000000000000464204c6f636b6564207374616b65206f66206120766f7465722e2843616e646964617465730100445665633c543a3a4163636f756e7449643e0400086501205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742d69642e20412063757272656e74206d656d626572206f7220612072756e6e65722063616e3101206e6576657220656e746572207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e3c050120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792eac2020202d206265206c657373207468616e20746865206e756d626572206f662063616e646964617465732e005d012055706f6e20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e742069732072657365727665642e5d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f283129c8205772697465733a204f28562920676976656e2060566020766f7465732e205620697320626f756e6465642062792031362e302023203c2f7765696768743e3072656d6f76655f766f746572001c21012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f28312934205772697465733a204f283129302023203c2f7765696768743e507265706f72745f646566756e63745f766f74657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6fb420202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d6265722e002c2023203c7765696768743e2c202323232320537461746515012052656164733a204f284e4c6f674d2920676976656e204d2063757272656e742063616e6469646174657320616e64204e20766f74657320666f722060746172676574602e34205772697465733a204f283129302023203c2f7765696768743e407375626d69745f63616e646964616379003478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e2c20232323232053746174658c2052656164733a204f284c6f674e2920476976656e204e2063616e646964617465732e34205772697465733a204f283129302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379002451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722075702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64842020206f726967696e2069732072656d6f76656420617320612072756e6e65722e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e3472656d6f76655f6d656d626572040c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c6163657320746865f4206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20726f756e6420697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e2c2023232323205374617465582052656164733a204f28646f5f70687261676d656e295c205772697465733a204f28646f5f70687261676d656e29302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e0855012041206e6577207465726d2077697468206e6577206d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e6469646174657320657869737465642c206e6f742074686174450120656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f72207468697320707572706f73652e24456d7074795465726d0004d8204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e304d656d6265724b69636b656404244163636f756e7449640845012041206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a02041206d656d626572206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c086101204120766f7465722028666972737420656c656d656e742920776173207265706f72746564202862797420746865207365636f6e6420656c656d656e742920776974682074686520746865207265706f7274206265696e678c207375636365737366756c206f72206e6f742028746869726420656c656d656e74292e143443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d030000000000000000000028566f74696e67426f6e643042616c616e63654f663c543e4000407a10f35a000000000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d6265721080130300003830556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3052756e6e65725375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e34496e76616c69644f726967696e04c8204f726967696e206973206e6f7420612063616e6469646174652c206d656d626572206f7220612072756e6e65722075702e244e6f744d656d6265720438204e6f742061206d656d6265722e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970041c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e0114286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00b4204d6179206f6e6c792062652063616c6c65642066726f6d20604164644f726967696e60206f7220726f6f742e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00c0204d6179206f6e6c792062652063616c6c65642066726f6d206052656d6f76654f726967696e60206f7220726f6f742e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e7449640cc02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00b8204d6179206f6e6c792062652063616c6c65642066726f6d2060537761704f726967696e60206f7220726f6f742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00bc204d6179206f6e6c792062652063616c6c65642066726f6d206052657365744f726967696e60206f7220726f6f742e286368616e67655f6b6579040c6e657730543a3a4163636f756e7449640cd82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e00003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d6265721c4772616e647061013c4772616e64706146696e616c6974791c2c417574686f726974696573010034417574686f726974794c6973740400102c20444550524543415445440061012054686973207573656420746f2073746f7265207468652063757272656e7420617574686f72697479207365742c20776869636820686173206265656e206d6967726174656420746f207468652077656c6c2d6b6e6f776e94204752414e4450415f415554484f52495445535f4b455920756e686173686564206b65792e14537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001011453657449643053657373696f6e496e64657800040004c1012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f7220776869636820697473206d656d62657273207765726520726573706f6e7369626c652e0104487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0464205265706f727420736f6d65206d69736265686176696f722e010c384e6577417574686f7269746965730434417574686f726974794c6973740490204e657720617574686f726974792073657420686173206265656e206170706c6965642e1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e00102c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e20547265617375727901205472656173757279143450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001013450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001051c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01203470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e94202d204f6e65204442206368616e67652c206f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e1cfc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e205d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173d420605469705265706f72744465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e9c202d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e64202d204f6e652062616c616e6365206f7065726174696f6e2e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e24202d20604f2854296064202d204f6e652062616c616e6365206f7065726174696f6e2ec4202d2054776f2073746f726167652072656d6f76616c7320286f6e6520726561642c20636f64656320604f28542960292e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c75653042616c616e63654f663c543e4cf4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e4101202d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e2060546020697345012020206e61747572616c6c79206361707065642061732061206d656d62657273686970207365742c20605260206973206c696d69746564207468726f756768207472616e73616374696f6e2d73697a652e0d01202d2054776f2073746f7261676520696e73657274696f6e732028636f6465637320604f285229602c20604f28542960292c206f6e65207265616420604f283129602e34202d204f6e65206576656e742e302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c75653042616c616e63654f663c543e4cb4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743e24202d20604f285429600101202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28542960292c206f6e652073746f72616765207265616420604f283129602e4c202d20557020746f206f6e65206576656e742e302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368386020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743e24202d20604f28542960e4202d204f6e652073746f726167652072657472696576616c2028636f64656320604f285429602920616e642074776f2072656d6f76616c732e88202d20557020746f2074687265652062616c616e6365206f7065726174696f6e732e302023203c2f7765696768743e012c2050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504b420412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f736974041c42616c616e6365048020536f6d652066756e64732068617665206265656e206465706f73697465642e184e657754697004104861736804982041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e6704104861736804dc2041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504882041207469702073756767657374696f6e20686173206265656e20636c6f7365642e3054697052657472616374656404104861736804942041207469702073756767657374696f6e20686173206265656e207265747261637465642e203050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080700000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210807000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e5c5469705265706f72744465706f736974506572427974653042616c616e63654f663c543e400010a5d4e800000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e2070496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e50496e76616c696450726f706f73616c496e646578046c204e6f2070726f706f73616c206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e24436f6e7472616374730120436f6e74726163741c204761735370656e7401000c476173200000000000000000048020476173207370656e7420736f2066617220696e207468697320626c6f636b2e3c43757272656e745363686564756c650100205363686564756c65c5010000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af000000000000000100000000000000010000000000000004000000000001001000000000400000002000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001012c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001012c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010130543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e00040004a82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e20476173507269636501003042616c616e63654f663c543e4001000000000000000000000000000000047820546865207072696365206f66206f6e6520756e6974206f66206761732e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e0118205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365046901205472616e736665722068617070656e6564206066726f6d6020746f2060746f60207769746820676976656e206076616c7565602061732070617274206f662061206063616c6c60206f722060696e7374616e7469617465602e30496e7374616e74696174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e28436f646553746f72656404104861736804b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c5363686564756c6555706461746564040c75333204c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e284469737061746368656408244163636f756e74496410626f6f6c08390120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e20436f6e747261637408244163636f756e7449641c5665633c75383e048c20416e206576656e742066726f6d20636f6e7472616374206f66206163636f756e742e404c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c75333210080000000851012053697a65206f66206120636f6e7472616374206174207468652074696d65206f6620696e7374616e746961696f6e2e205468697320697320612073696d706c652077617920746f20656e737572652074686174a420656d70747920636f6e747261637473206576656e7475616c6c7920676574732064656c657465642e2c52656e74427974654665653042616c616e63654f663c543e4000407a10f35a00000000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e4000008a5d7845630100000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e400080a1a76b4a3500000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e2c5472616e736665724665653042616c616e63654f663c543e400010a5d4e800000000000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e4665653042616c616e63654f663c543e400010a5d4e80000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e485472616e73616374696f6e426173654665653042616c616e63654f663c543e400010a5d4e8000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c436f6e74726163744665653042616c616e63654f663c543e400010a5d4e80000000000000000000000084101205468652066656520726571756972656420746f20696e7374616e7469617465206120636f6e747261637420696e7374616e63652e204120726561736f6e61626c652064656661756c742076616c75651c2069732032312e2c43616c6c426173654665650c47617320e803000000000000081d0120546865206261736520666565206368617267656420666f722063616c6c696e6720696e746f206120636f6e74726163742e204120726561736f6e61626c652064656661756c74382076616c7565206973203133352e48496e7374616e7469617465426173654665650c47617320e80300000000000008390120546865206261736520666565206368617267656420666f7220696e7374616e74696174696e67206120636f6e74726163742e204120726561736f6e61626c652064656661756c742076616c756520206973203137352e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e34426c6f636b4761734c696d69740c47617320809698000000000008250120546865206d6178696d756d20616d6f756e74206f6620676173207468617420636f756c6420626520657870656e6465642070657220626c6f636b2e204120726561736f6e61626c65742064656661756c742076616c75652069732031305f3030305f3030302e1858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e010c107375646f042070726f706f73616c40426f783c543a3a50726f706f73616c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652070726f706f73616c40426f783c543a3a50726f706f73616c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e010c1453756469640410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e284b65794368616e67656404244163636f756e74496404f020546865207375646f6572206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e7420496d4f6e6c696e650120496d4f6e6c696e651020476f737369704174010038543a3a426c6f636b4e756d626572100000000004a02054686520626c6f636b206e756d626572207768656e2077652073686f756c6420676f737369702e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002013053657373696f6e496e6465782441757468496e6465781c5665633c75383e01040008e420466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e646578608c20746f20606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102013053657373696f6e496e64657838543a3a56616c696461746f7249640c75333201100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500010c444865617274626561745265636569766564042c417574686f72697479496404c02041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964601c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0431012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e63652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e48417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e6365730c1c5265706f727473000101345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010201104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010101104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f7408550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e00006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e0100000000204964656e7469747901105375646f10284964656e746974794f6600010130543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e00040004210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e1c53757065724f6600010130543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010130543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e29004400000000000000000000000000000000000cb820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e012c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605265676973747261724f726967696e60206f722060526f6f74602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743ee4202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f482d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e0501202d20604f2858202b2052296020776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e646564292e88202d204174206d6f73742074776f2062616c616e6365206f7065726174696f6e732eac202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e40902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c202d206073756273603a20546865206964656e746974792773207375622d6163636f756e74732e002c2023203c7765696768743eec202d20604f285329602077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f73742074776f2062616c616e6365206f7065726174696f6e732e4101202d204174206d6f7374204f2832202a2053202b2031292073746f72616765206d75746174696f6e733b20636f64656320636f6d706c657869747920604f2831202a2053202b2053202a20312960293b582020206f6e652073746f726167652d6578697374732e302023203c2f7765696768743e38636c6561725f6964656e74697479003c390120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e7420616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65a42053656c663a3a72656769737472617273287265675f696e646578292e75776e72617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e301d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496430c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647330ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602e302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e011c2c4964656e7469747953657404244163636f756e74496404f02041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e636504d02041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e384964656e746974794b696c6c656408244163636f756e7449641c42616c616e636504c82041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e64657804a02041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e646578048c2041206a756467656d656e74207265717565737420776173207265747261637465642e384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e64657804982041206a756467656d656e742077617320676976656e2062792061207265676973747261722e3852656769737472617241646465640438526567697374726172496e646578045c204120726567697374726172207761732061646465642e002c48546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e1c536f6369657479011c536f6369657479401c466f756e646572000030543a3a4163636f756e7449640400044820546865206669727374206d656d6265722e1452756c657300001c543a3a48617368040008510120412068617368206f66207468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e2043616e206f6e6c7920626520736574206f6e636520616e6454206f6e6c792062792074686520666f756e6465722e2843616e6469646174657301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e0400043901205468652063757272656e7420736574206f662063616e646964617465733b206269646465727320746861742061726520617474656d7074696e6720746f206265636f6d65206d656d626572732e4c53757370656e64656443616e6469646174657300010130543a3a4163636f756e744964e42842616c616e63654f663c542c20493e2c204269644b696e643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e2900040004842054686520736574206f662073757370656e6465642063616e646964617465732e0c506f7401003c42616c616e63654f663c542c20493e400000000000000000000000000000000004410120416d6f756e74206f66206f7572206163636f756e742062616c616e63652074686174206973207370656369666963616c6c7920666f7220746865206e65787420726f756e642773206269642873292e1048656164000030543a3a4163636f756e744964040004e820546865206d6f7374207072696d6172792066726f6d20746865206d6f737420726563656e746c7920617070726f766564206d656d626572732e1c4d656d626572730100445665633c543a3a4163636f756e7449643e04000494205468652063757272656e7420736574206f66206d656d626572732c206f7264657265642e4053757370656e6465644d656d6265727301010130543a3a4163636f756e74496410626f6f6c00040004782054686520736574206f662073757370656e646564206d656d626572732e104269647301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e040004e8205468652063757272656e7420626964732c2073746f726564206f726465726564206279207468652076616c7565206f6620746865206269642e20566f756368696e6700010130543a3a4163636f756e74496438566f756368696e6753746174757300040004e4204d656d626572732063757272656e746c7920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e1c5061796f75747301010130543a3a4163636f756e744964985665633c28543a3a426c6f636b4e756d6265722c2042616c616e63654f663c542c20493e293e000400044d012050656e64696e67207061796f7574733b206f72646572656420627920626c6f636b206e756d6265722c20776974682074686520616d6f756e7420746861742073686f756c642062652070616964206f75742e1c537472696b657301010130543a3a4163636f756e7449642c537472696b65436f756e7400100000000004dc20546865206f6e676f696e67206e756d626572206f66206c6f73696e6720766f746573206361737420627920746865206d656d6265722e14566f74657300020530543a3a4163636f756e74496430543a3a4163636f756e74496410566f746505040004d020446f75626c65206d61702066726f6d2043616e646964617465202d3e20566f746572202d3e20284d617962652920566f74652e20446566656e646572000030543a3a4163636f756e744964040004c42054686520646566656e64696e67206d656d6265722063757272656e746c79206265696e67206368616c6c656e6765642e34446566656e646572566f74657300010530543a3a4163636f756e74496410566f7465000400046020566f74657320666f722074686520646566656e6465722e284d61784d656d6265727301000c753332100000000004dc20546865206d6178206e756d626572206f66206d656d6265727320666f722074686520736f6369657479206174206f6e652074696d652e01300c626964041476616c75653c42616c616e63654f663c542c20493e84e020412075736572206f757473696465206f662074686520736f63696574792063616e206d616b6520612062696420666f7220656e7472792e003901205061796d656e743a206043616e6469646174654465706f736974602077696c6c20626520726573657276656420666f72206d616b696e672061206269642e2049742069732072657475726e6564f0207768656e2074686520626964206265636f6d65732061206d656d6265722c206f7220696620746865206269642063616c6c732060756e626964602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a5901202d206076616c7565603a2041206f6e652074696d65207061796d656e74207468652062696420776f756c64206c696b6520746f2072656365697665207768656e206a6f696e696e672074686520736f63696574792e002c2023203c7765696768743e5501204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520726573657276652944202d2053746f726167652052656164733aec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f284329c820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d2948202d2053746f72616765205772697465733a810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3a2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6820092d204f6e65206576656e7420666f72206e6577206269642efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e14756e626964040c706f730c7533324cd82041206269646465722063616e2072656d6f76652074686569722062696420666f7220656e74727920696e746f20736f63696574792e010120427920646f696e6720736f2c20746865792077696c6c20686176652074686569722063616e646964617465206465706f7369742072657475726e6564206f728420746865792077696c6c20756e766f75636820746865697220766f75636865722e00fc205061796d656e743a2054686520626964206465706f73697420697320756e7265736572766564206966207468652075736572206d6164652061206269642e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206269646465722e003020506172616d65746572733a1901202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2077616e747320746f20756e6269642e002c2023203c7765696768743eb0204b65793a204220286c656e206f662062696473292c2058202862616c616e636520756e72657365727665290d01202d204f6e652073746f72616765207265616420616e6420777269746520746f20726574726965766520616e64207570646174652074686520626964732e204f2842294501202d20456974686572206f6e6520756e726573657276652062616c616e636520616374696f6e204f285829206f72206f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2842202b205829302023203c2f7765696768743e14766f7563680c0c77686f30543a3a4163636f756e7449641476616c75653c42616c616e63654f663c542c20493e0c7469703c42616c616e63654f663c542c20493eb045012041732061206d656d6265722c20766f75636820666f7220736f6d656f6e6520746f206a6f696e20736f636965747920627920706c6163696e67206120626964206f6e20746865697220626568616c662e005501205468657265206973206e6f206465706f73697420726571756972656420746f20766f75636820666f722061206e6577206269642c206275742061206d656d6265722063616e206f6e6c7920766f75636820666f725d01206f6e652062696420617420612074696d652e2049662074686520626964206265636f6d657320612073757370656e6465642063616e64696461746520616e6420756c74696d6174656c792072656a65637465642062794101207468652073757370656e73696f6e206a756467656d656e74206f726967696e2c20746865206d656d6265722077696c6c2062652062616e6e65642066726f6d20766f756368696e6720616761696e2e005901204173206120766f756368696e67206d656d6265722c20796f752063616e20636c61696d206120746970206966207468652063616e6469646174652069732061636365707465642e2054686973207469702077696c6c51012062652070616964206173206120706f7274696f6e206f66207468652072657761726420746865206d656d6265722077696c6c207265636569766520666f72206a6f696e696e672074686520736f63696574792e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733acc202d206077686f603a2054686520757365722077686f20796f7520776f756c64206c696b6520746f20766f75636820666f722e5101202d206076616c7565603a2054686520746f74616c2072657761726420746f2062652070616964206265747765656e20796f7520616e64207468652063616e6469646174652069662074686579206265636f6d65642061206d656d62657220696e2074686520736f63696574792e4901202d2060746970603a20596f757220637574206f662074686520746f74616c206076616c756560207061796f7574207768656e207468652063616e64696461746520697320696e64756374656420696e746f15012074686520736f63696574792e2054697073206c6172676572207468616e206076616c7565602077696c6c206265207361747572617465642075706f6e207061796f75742e002c2023203c7765696768743e0101204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d626572732944202d2053746f726167652052656164733ac820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d29090120092d204f6e652073746f72616765207265616420746f20636865636b206d656d626572206973206e6f7420616c726561647920766f756368696e672e204f283129ec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f28432948202d2053746f72616765205772697465733a0d0120092d204f6e652073746f7261676520777269746520746f20696e7365727420766f756368696e672073746174757320746f20746865206d656d6265722e204f283129810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3ac020092d204f286c6f67204d292073656172636820746f20636865636b2073656e6465722069732061206d656d6265722e2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6020092d204f6e65206576656e7420666f7220766f7563682efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e1c756e766f756368040c706f730c753332442d01204173206120766f756368696e67206d656d6265722c20756e766f7563682061206269642e2054686973206f6e6c7920776f726b73207768696c6520766f7563686564207573657220697394206f6e6c792061206269646465722028616e64206e6f7420612063616e646964617465292e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206120766f756368696e67206d656d6265722e003020506172616d65746572733a2d01202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2073686f756c6420626520756e766f75636865642e002c2023203c7765696768743e54204b65793a204220286c656e206f662062696473290901202d204f6e652073746f726167652072656164204f28312920746f20636865636b20746865207369676e6572206973206120766f756368696e67206d656d6265722eec202d204f6e652073746f72616765206d757461746520746f20726574726965766520616e64207570646174652074686520626964732e204f28422994202d204f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f284229302023203c2f7765696768743e10766f7465082463616e6469646174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c617070726f766510626f6f6c4c882041732061206d656d6265722c20766f7465206f6e20612063616e6469646174652e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733a0d01202d206063616e646964617465603a205468652063616e646964617465207468617420746865206d656d62657220776f756c64206c696b6520746f20626964206f6e2ef4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265d82020202020202020202020202020617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743ebc204b65793a204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722e58202d204f6e65206163636f756e74206c6f6f6b75702e2d01202d204f6e652073746f726167652072656164204f28432920616e64204f2843292073656172636820746f20636865636b2074686174207573657220697320612063616e6469646174652ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204329302023203c2f7765696768743e34646566656e6465725f766f7465041c617070726f766510626f6f6c408c2041732061206d656d6265722c20766f7465206f6e2074686520646566656e6465722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733af4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265a420617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743e68202d204b65793a204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e007820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d29302023203c2f7765696768743e187061796f757400504501205472616e7366657220746865206669727374206d617475726564207061796f757420666f72207468652073656e64657220616e642072656d6f76652069742066726f6d20746865207265636f7264732e006901204e4f54453a20546869732065787472696e736963206e6565647320746f2062652063616c6c6564206d756c7469706c652074696d657320746f20636c61696d206d756c7469706c65206d617475726564207061796f7574732e002101205061796d656e743a20546865206d656d6265722077696c6c20726563656976652061207061796d656e7420657175616c20746f207468656972206669727374206d61747572656478207061796f757420746f20746865697220667265652062616c616e63652e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d62657220776974684c207061796f7574732072656d61696e696e672e002c2023203c7765696768743e1d01204b65793a204d20286c656e206f66206d656d62657273292c205020286e756d626572206f66207061796f75747320666f72206120706172746963756c6172206d656d626572292501202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b207369676e65722069732061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28502920746f2067657420616c6c207061796f75747320666f722061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28312920746f20676574207468652063757272656e7420626c6f636b206e756d6265722e8c202d204f6e652063757272656e6379207472616e736665722063616c6c2e204f2858291101202d204f6e652073746f72616765207772697465206f722072656d6f76616c20746f2075706461746520746865206d656d6265722773207061796f7574732e204f285029009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2050202b205829302023203c2f7765696768743e14666f756e640c1c666f756e64657230543a3a4163636f756e7449642c6d61785f6d656d626572730c7533321472756c65731c5665633c75383e4c4c20466f756e642074686520736f63696574792e00f0205468697320697320646f6e65206173206120646973637265746520616374696f6e20696e206f7264657220746f20616c6c6f7720666f72207468651901206d6f64756c6520746f20626520696e636c7564656420696e746f20612072756e6e696e6720636861696e20616e642063616e206f6e6c7920626520646f6e65206f6e63652e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f466f756e6465725365744f726967696e5f2e003020506172616d65746572733a1901202d2060666f756e64657260202d20546865206669727374206d656d62657220616e642068656164206f6620746865206e65776c7920666f756e64656420736f63696574792e1501202d20606d61785f6d656d6265727360202d2054686520696e697469616c206d6178206e756d626572206f66206d656d6265727320666f722074686520736f63696574792ef4202d206072756c657360202d205468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e002c2023203c7765696768743ee0202d2054776f2073746f72616765206d75746174657320746f207365742060486561646020616e642060466f756e646572602e204f283129f4202d204f6e652073746f7261676520777269746520746f2061646420746865206669727374206d656d62657220746f20736f63696574792e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e1c756e666f756e6400348c20416e756c6c2074686520666f756e64696e67206f662074686520736f63696574792e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205369676e65642c20616e6420746865207369676e696e67206163636f756e74206d75737420626520626f74685901207468652060466f756e6465726020616e6420746865206048656164602e205468697320696d706c6965732074686174206974206d6179206f6e6c7920626520646f6e65207768656e207468657265206973206f6e6520206d656d6265722e002c2023203c7765696768743e68202d2054776f2073746f72616765207265616473204f2831292e78202d20466f75722073746f726167652072656d6f76616c73204f2831292e34202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e586a756467655f73757370656e6465645f6d656d626572080c77686f30543a3a4163636f756e7449641c666f726769766510626f6f6c6c2d0120416c6c6f772073757370656e73696f6e206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e646564206d656d6265722e00590120496620612073757370656e646564206d656d62657220697320666f72676976656e2c2077652073696d706c7920616464207468656d206261636b2061732061206d656d6265722c206e6f7420616666656374696e67cc20616e79206f6620746865206578697374696e672073746f72616765206974656d7320666f722074686174206d656d6265722e00490120496620612073757370656e646564206d656d6265722069732072656a65637465642c2072656d6f766520616c6c206173736f6369617465642073746f72616765206974656d732c20696e636c7564696e670101207468656972207061796f7574732c20616e642072656d6f766520616e7920766f7563686564206269647320746865792063757272656e746c7920686176652e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ab4202d206077686f60202d205468652073757370656e646564206d656d62657220746f206265206a75646765642e3501202d2060666f726769766560202d204120626f6f6c65616e20726570726573656e74696e672077686574686572207468652073757370656e73696f6e206a756467656d656e74206f726967696e2501202020202020202020202020202020666f726769766573202860747275656029206f722072656a6563747320286066616c7365602920612073757370656e646564206d656d6265722e002c2023203c7765696768743ea4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d6265727329f8202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e646564206d656d6265722e204f2831297101202d20557020746f206f6e652073746f72616765207772697465204f284d292077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d626572206261636b20746f20736f63696574792ef8202d20557020746f20332073746f726167652072656d6f76616c73204f28312920746f20636c65616e20757020612072656d6f766564206d656d6265722e4501202d20557020746f206f6e652073746f72616765207772697465204f2842292077697468204f2842292073656172636820746f2072656d6f766520766f7563686564206269642066726f6d20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e70202d204f6e652073746f726167652072656d6f76616c2e204f2831297c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204229302023203c2f7765696768743e646a756467655f73757370656e6465645f63616e646964617465080c77686f30543a3a4163636f756e744964246a756467656d656e74244a756467656d656e74a0350120416c6c6f772073757370656e646564206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e6465642063616e6469646174652e005d0120496620746865206a756467656d656e742069732060417070726f7665602c20776520616464207468656d20746f20736f63696574792061732061206d656d62657220776974682074686520617070726f70726961746574207061796d656e7420666f72206a6f696e696e6720736f63696574792e00550120496620746865206a756467656d656e74206973206052656a656374602c2077652065697468657220736c61736820746865206465706f736974206f6620746865206269642c20676976696e67206974206261636b110120746f2074686520736f63696574792074726561737572792c206f722077652062616e2074686520766f75636865722066726f6d20766f756368696e6720616761696e2e005d0120496620746865206a756467656d656e7420697320605265626964602c20776520707574207468652063616e646964617465206261636b20696e207468652062696420706f6f6c20616e64206c6574207468656d20676f94207468726f7567682074686520696e64756374696f6e2070726f6365737320616761696e2e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ac0202d206077686f60202d205468652073757370656e6465642063616e64696461746520746f206265206a75646765642ec4202d20606a756467656d656e7460202d2060417070726f7665602c206052656a656374602c206f7220605265626964602e002c2023203c7765696768743ef4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520616374696f6e29f0202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e6465642063616e6469646174652ec8202d204f6e652073746f726167652072656d6f76616c206f66207468652073757370656e6465642063616e6469646174652e40202d20417070726f7665204c6f676963150120092d204f6e652073746f72616765207265616420746f206765742074686520617661696c61626c6520706f7420746f2070617920757365727320776974682e204f283129dc20092d204f6e652073746f7261676520777269746520746f207570646174652074686520617661696c61626c6520706f742e204f283129e820092d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f283129b420092d204f6e652073746f72616765207265616420746f2067657420616c6c206d656d626572732e204f284d29a020092d20557020746f206f6e6520756e726573657276652063757272656e637920616374696f6e2eb020092d20557020746f2074776f206e65772073746f726167652077726974657320746f207061796f7574732e4d0120092d20557020746f206f6e652073746f726167652077726974652077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d62657220746f20736f63696574792e3c202d2052656a656374204c6f676963dc20092d20557020746f206f6e6520726570617472696174652072657365727665642063757272656e637920616374696f6e2e204f2858292d0120092d20557020746f206f6e652073746f7261676520777269746520746f2062616e2074686520766f756368696e67206d656d6265722066726f6d20766f756368696e6720616761696e2e38202d205265626964204c6f676963410120092d2053746f72616765206d75746174652077697468204f286c6f672042292062696e6172792073656172636820746f20706c616365207468652075736572206261636b20696e746f20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e5c202d204f6e652073746f726167652072656d6f76616c2e7c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2042202b205829302023203c2f7765696768743e3c7365745f6d61785f6d656d62657273040c6d61780c753332381d0120416c6c6f777320726f6f74206f726967696e20746f206368616e676520746865206d6178696d756d206e756d626572206f66206d656d6265727320696e20736f63696574792eb4204d6178206d656d6265727368697020636f756e74206d7573742062652067726561746572207468616e20312e00dc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d205f524f4f545f2e003020506172616d65746572733ae4202d20606d617860202d20546865206d6178696d756d206e756d626572206f66206d656d6265727320666f722074686520736f63696574792e002c2023203c7765696768743eb0202d204f6e652073746f7261676520777269746520746f2075706461746520746865206d61782e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e013c1c466f756e64656404244163636f756e74496404b82054686520736f636965747920697320666f756e6465642062792074686520676976656e206964656e746974792e0c42696408244163636f756e7449641c42616c616e63650861012041206d656d6265727368697020626964206a7573742068617070656e65642e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e64207468656972206f666665723c20697320746865207365636f6e642e14566f7563680c244163636f756e7449641c42616c616e6365244163636f756e7449640861012041206d656d6265727368697020626964206a7573742068617070656e656420627920766f756368696e672e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e64f0207468656972206f6666657220697320746865207365636f6e642e2054686520766f756368696e67207061727479206973207468652074686972642e244175746f556e62696404244163636f756e74496404090120412063616e646964617465207761732064726f70706564202864756520746f20616e20657863657373206f66206269647320696e207468652073797374656d292e14556e62696404244163636f756e74496404b020412063616e646964617465207761732064726f70706564202862792074686569722072657175657374292e1c556e766f75636804244163636f756e74496404f820412063616e646964617465207761732064726f70706564202862792072657175657374206f662077686f20766f756368656420666f72207468656d292e20496e64756374656408244163636f756e744964385665633c4163636f756e7449643e08590120412067726f7570206f662063616e646964617465732068617665206265656e20696e6475637465642e205468652062617463682773207072696d617279206973207468652066697273742076616c75652c207468657420626174636820696e2066756c6c20697320746865207365636f6e642e6053757370656e6465644d656d6265724a756467656d656e7408244163636f756e74496410626f6f6c048c20412073757370656e646564206d656d62657220686173206265656e206a75646765644843616e64696461746553757370656e64656404244163636f756e744964047c20412063616e64696461746520686173206265656e2073757370656e6465643c4d656d62657253757370656e64656404244163636f756e74496404702041206d656d62657220686173206265656e2073757370656e646564284368616c6c656e67656404244163636f756e74496404742041206d656d62657220686173206265656e206368616c6c656e67656410566f74650c244163636f756e744964244163636f756e74496410626f6f6c04c0204120766f746520686173206265656e20706c61636564202863616e6469646174652c20766f7465722c20766f74652930446566656e646572566f746508244163636f756e74496410626f6f6c04f0204120766f746520686173206265656e20706c6163656420666f72206120646566656e64696e67206d656d6265722028766f7465722c20766f746529344e65774d61784d656d62657273040c75333204902041206e6577206d6178206d656d62657220636f756e7420686173206265656e2073657424556e666f756e64656404244163636f756e744964045820536f636965747920697320756e666f756e6465642e184043616e6469646174654465706f7369743c42616c616e63654f663c542c20493e400080c6a47e8d0300000000000000000004fc20546865206d696e696d756d20616d6f756e74206f662061206465706f73697420726571756972656420666f7220612062696420746f206265206d6164652e4857726f6e6753696465446564756374696f6e3c42616c616e63654f663c542c20493e400080f420e6b5000000000000000000000855012054686520616d6f756e74206f662074686520756e70616964207265776172642074686174206765747320646564756374656420696e207468652063617365207468617420656974686572206120736b6570746963c020646f65736e277420766f7465206f7220736f6d656f6e6520766f74657320696e207468652077726f6e67207761792e284d6178537472696b65730c753332100a00000008750120546865206e756d626572206f662074696d65732061206d656d626572206d617920766f7465207468652077726f6e672077617920286f72206e6f7420617420616c6c2c207768656e207468657920617265206120736b65707469632978206265666f72652074686579206265636f6d652073757370656e6465642e2c506572696f645370656e643c42616c616e63654f663c542c20493e400000c52ebca2b1000000000000000000042d012054686520616d6f756e74206f6620696e63656e7469766520706169642077697468696e206561636820706572696f642e20446f65736e277420696e636c75646520566f7465725469702e38526f746174696f6e506572696f6438543a3a426c6f636b4e756d626572100077010004110120546865206e756d626572206f6620626c6f636b73206265747765656e2063616e6469646174652f6d656d6265727368697020726f746174696f6e20706572696f64732e3c4368616c6c656e6765506572696f6438543a3a426c6f636b4e756d626572108013030004d020546865206e756d626572206f6620626c6f636b73206265747765656e206d656d62657273686970206368616c6c656e6765732e482c426164506f736974696f6e049020416e20696e636f727265637420706f736974696f6e207761732070726f76696465642e244e6f744d656d62657204582055736572206973206e6f742061206d656d6265722e34416c72656164794d656d6265720468205573657220697320616c72656164792061206d656d6265722e2453757370656e646564044c20557365722069732073757370656e6465642e304e6f7453757370656e646564045c2055736572206973206e6f742073757370656e6465642e204e6f5061796f7574044c204e6f7468696e6720746f207061796f75742e38416c7265616479466f756e646564046420536f636965747920616c726561647920666f756e6465642e3c496e73756666696369656e74506f74049c204e6f7420656e6f75676820696e20706f7420746f206163636570742063616e6469646174652e3c416c7265616479566f756368696e6704e8204d656d62657220697320616c726561647920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e2e2c4e6f74566f756368696e670460204d656d626572206973206e6f7420766f756368696e672e104865616404942043616e6e6f742072656d6f7665207468652068656164206f662074686520636861696e2e1c466f756e646572046c2043616e6e6f742072656d6f76652074686520666f756e6465722e28416c7265616479426964047420557365722068617320616c7265616479206d6164652061206269642e40416c726561647943616e6469646174650474205573657220697320616c726561647920612063616e6469646174652e304e6f7443616e64696461746504642055736572206973206e6f7420612063616e6469646174652e284d61784d656d62657273048420546f6f206d616e79206d656d6265727320696e2074686520736f63696574792e284e6f74466f756e646572047c205468652063616c6c6572206973206e6f742074686520666f756e6465722e1c4e6f74486561640470205468652063616c6c6572206973206e6f742074686520686561642e205265636f7665727901205265636f766572790c2c5265636f76657261626c6500010130543a3a4163636f756e744964e85265636f76657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e0004000409012054686520736574206f66207265636f76657261626c65206163636f756e747320616e64207468656972207265636f7665727920636f6e66696775726174696f6e2e404163746976655265636f76657269657300020530543a3a4163636f756e74496430543a3a4163636f756e744964e84163746976655265636f766572793c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e050400106820416374697665207265636f7665727920617474656d7074732e001501204669727374206163636f756e7420697320746865206163636f756e7420746f206265207265636f76657265642c20616e6420746865207365636f6e64206163636f756e74ac20697320746865207573657220747279696e6720746f207265636f76657220746865206163636f756e742e245265636f766572656400010130543a3a4163636f756e74496430543a3a4163636f756e7449640004000c98205468652066696e616c206c697374206f66207265636f7665726564206163636f756e74732e00f8204d61702066726f6d20746865207265636f7665726564206163636f756e7420746f2074686520757365722077686f2063616e206163636573732069742e01203061735f7265636f7665726564081c6163636f756e7430543a3a4163636f756e7449641063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e34a42053656e6420612063616c6c207468726f7567682061207265636f7665726564206163636f756e742e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a2501202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f752077616e7420746f206d616b6520612063616c6c206f6e2d626568616c662d6f662e0101202d206063616c6c603a205468652063616c6c20796f752077616e7420746f206d616b65207769746820746865207265636f7665726564206163636f756e742e002c2023203c7765696768743e70202d2054686520776569676874206f6620746865206063616c6c602e0901202d204f6e652073746f72616765206c6f6f6b757020746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e347365745f7265636f766572656408106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e744964341d0120416c6c6f7720524f4f5420746f2062797061737320746865207265636f766572792070726f6365737320616e642073657420616e20612072657363756572206163636f756e747420666f722061206c6f7374206163636f756e74206469726563746c792e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f524f4f545f2e003020506172616d65746572733ab8202d20606c6f7374603a2054686520226c6f7374206163636f756e742220746f206265207265636f76657265642e1d01202d206072657363756572603a20546865202272657363756572206163636f756e74222077686963682063616e2063616c6c20617320746865206c6f7374206163636f756e742e002c2023203c7765696768743e64202d204f6e652073746f72616765207772697465204f28312930202d204f6e65206576656e74302023203c2f7765696768743e3c6372656174655f7265636f766572790c1c667269656e6473445665633c543a3a4163636f756e7449643e247468726573686f6c640c7531363064656c61795f706572696f6438543a3a426c6f636b4e756d6265726c5d01204372656174652061207265636f7665727920636f6e66696775726174696f6e20666f7220796f7572206163636f756e742e2054686973206d616b657320796f7572206163636f756e74207265636f76657261626c652e003101205061796d656e743a2060436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732062616c616e636549012077696c6c20626520726573657276656420666f722073746f72696e6720746865207265636f7665727920636f6e66696775726174696f6e2e2054686973206465706f7369742069732072657475726e6564bc20696e2066756c6c207768656e2074686520757365722063616c6c73206072656d6f76655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2501202d2060667269656e6473603a2041206c697374206f6620667269656e647320796f7520747275737420746f20766f75636820666f72207265636f7665727920617474656d7074732ed420202053686f756c64206265206f72646572656420616e6420636f6e7461696e206e6f206475706c69636174652076616c7565732e3101202d20607468726573686f6c64603a20546865206e756d626572206f6620667269656e64732074686174206d75737420766f75636820666f722061207265636f7665727920617474656d70741d012020206265666f726520746865206163636f756e742063616e206265207265636f76657265642e2053686f756c64206265206c657373207468616e206f7220657175616c20746f94202020746865206c656e677468206f6620746865206c697374206f6620667269656e64732e3d01202d206064656c61795f706572696f64603a20546865206e756d626572206f6620626c6f636b732061667465722061207265636f7665727920617474656d707420697320696e697469616c697a6564e820202074686174206e6565647320746f2070617373206265666f726520746865206163636f756e742063616e206265207265636f76657265642e002c2023203c7765696768743e68202d204b65793a204620286c656e206f6620667269656e6473292d01202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973206e6f7420616c7265616479207265636f76657261626c652e204f2831292eec202d204120636865636b20746861742074686520667269656e6473206c69737420697320736f7274656420616e6420756e697175652e204f2846299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f2858299c202d204f6e652073746f726167652077726974652e204f2831292e20436f646563204f2846292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e44696e6974696174655f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496458ec20496e697469617465207468652070726f6365737320666f72207265636f766572696e672061207265636f76657261626c65206163636f756e742e001d01205061796d656e743a20605265636f766572794465706f736974602062616c616e63652077696c6c20626520726573657276656420666f7220696e6974696174696e67207468652501207265636f766572792070726f636573732e2054686973206465706f7369742077696c6c20616c7761797320626520726570617472696174656420746f20746865206163636f756e74b820747279696e6720746f206265207265636f76657265642e205365652060636c6f73655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e2054686973206163636f756e7401012020206e6565647320746f206265207265636f76657261626c652028692e652e20686176652061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743ef8202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973207265636f76657261626c652e204f2846295101202d204f6e652073746f72616765207265616420746f20636865636b20746861742074686973207265636f766572792070726f63657373206861736e277420616c726561647920737461727465642e204f2831299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f285829e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831296c202d204f6e652073746f726167652077726974652e204f2831292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e38766f7563685f7265636f7665727908106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e74496464290120416c6c6f7720612022667269656e6422206f662061207265636f76657261626c65206163636f756e7420746f20766f75636820666f7220616e20616374697665207265636f76657279682070726f6365737320666f722074686174206163636f756e742e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d75737420626520612022667269656e64227420666f7220746865207265636f76657261626c65206163636f756e742e003020506172616d65746572733ad4202d20606c6f7374603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f2072657363756520746865206c6f7374206163636f756e74207468617420796f755420202077616e7420746f20766f75636820666f722e0025012054686520636f6d62696e6174696f6e206f662074686573652074776f20706172616d6574657273206d75737420706f696e7420746f20616e20616374697665207265636f76657279242070726f636573732e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629ec202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c6572206973206120667269656e642e204f286c6f6746291d01202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c657220686173206e6f7420616c726561647920766f75636865642e204f286c6f6756299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e00a420546f74616c20436f6d706c65786974793a204f2846202b206c6f6746202b2056202b206c6f675629302023203c2f7765696768743e38636c61696d5f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496450f420416c6c6f772061207375636365737366756c207265736375657220746f20636c61696d207468656972207265636f7665726564206163636f756e742e002d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061202272657363756572221d012077686f20686173207375636365737366756c6c7920636f6d706c6574656420746865206163636f756e74207265636f766572792070726f636573733a20636f6c6c6563746564310120607468726573686f6c6460206f72206d6f726520766f75636865732c20776169746564206064656c61795f706572696f646020626c6f636b732073696e636520696e6974696174696f6e2e003020506172616d65746572733a2d01202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f20636c61696d20686173206265656e207375636365737366756c6c79502020207265636f766572656420627920796f752e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205629302023203c2f7765696768743e38636c6f73655f7265636f76657279041c7265736375657230543a3a4163636f756e7449645015012041732074686520636f6e74726f6c6c6572206f662061207265636f76657261626c65206163636f756e742c20636c6f736520616e20616374697665207265636f76657279682070726f6365737320666f7220796f7572206163636f756e742e002101205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e2c20746865207265636f76657261626c65206163636f756e742077696c6c2072656365697665f820746865207265636f76657279206465706f73697420605265636f766572794465706f7369746020706c616365642062792074686520726573637565722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061f0207265636f76657261626c65206163636f756e74207769746820616e20616374697665207265636f766572792070726f6365737320666f722069742e003020506172616d65746572733a1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f207265736375652074686973207265636f76657261626c65206163636f756e742e002c2023203c7765696768743e84204b65793a205620286c656e206f6620766f756368696e6720667269656e6473293d01202d204f6e652073746f7261676520726561642f72656d6f766520746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629c0202d204f6e652062616c616e63652063616c6c20746f20726570617472696174652072657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2856202b205829302023203c2f7765696768743e3c72656d6f76655f7265636f766572790054b82052656d6f766520746865207265636f766572792070726f6365737320666f7220796f7572206163636f756e742e001501204e4f54453a205468652075736572206d757374206d616b65207375726520746f2063616c6c2060636c6f73655f7265636f7665727960206f6e20616c6c206163746976650901207265636f7665727920617474656d707473206265666f72652063616c6c696e6720746869732066756e6374696f6e20656c73652069742077696c6c206661696c2e002501205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e20746865207265636f76657261626c65206163636f756e742077696c6c20756e7265736572766598207468656972207265636f7665727920636f6e66696775726174696f6e206465706f7369742ef4202860436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732900050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061e4207265636f76657261626c65206163636f756e742028692e652e206861732061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743e60204b65793a204620286c656e206f6620667269656e6473292901202d204f6e652073746f72616765207265616420746f206765742074686520707265666978206974657261746f7220666f7220616374697665207265636f7665726965732e204f2831293901202d204f6e652073746f7261676520726561642f72656d6f766520746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846299c202d204f6e652062616c616e63652063616c6c20746f20756e72657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e01183c5265636f766572794372656174656404244163636f756e74496404c82041207265636f766572792070726f6365737320686173206265656e2073657420757020666f7220616e206163636f756e74445265636f76657279496e6974696174656408244163636f756e744964244163636f756e7449640405012041207265636f766572792070726f6365737320686173206265656e20696e6974696174656420666f72206163636f756e745f31206279206163636f756e745f323c5265636f76657279566f75636865640c244163636f756e744964244163636f756e744964244163636f756e7449640441012041207265636f766572792070726f6365737320666f72206163636f756e745f31206279206163636f756e745f3220686173206265656e20766f756368656420666f72206279206163636f756e745f33385265636f76657279436c6f73656408244163636f756e744964244163636f756e74496404f82041207265636f766572792070726f6365737320666f72206163636f756e745f31206279206163636f756e745f3220686173206265656e20636c6f736564404163636f756e745265636f766572656408244163636f756e744964244163636f756e74496404dc204163636f756e745f3120686173206265656e207375636365737366756c6c79207265636f7665726564206279206163636f756e745f323c5265636f7665727952656d6f76656404244163636f756e74496404cc2041207265636f766572792070726f6365737320686173206265656e2072656d6f76656420666f7220616e206163636f756e740000
+ tests/meta/v10.json view
@@ -0,0 +1,7821 @@+{+ "magicNumber": 1635018093,+ "metadata": {+ "v10": {+ "modules": [+ {+ "name": "System",+ "storage": {+ "prefix": "System",+ "items": [+ {+ "name": "AccountNonce",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Index",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " Extrinsics nonce for accounts."+ ]+ },+ {+ "name": "ExtrinsicCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total extrinsics count for the current block."+ ]+ },+ {+ "name": "AllExtrinsicsWeight",+ "modifier": "Optional",+ "type": {+ "plain": "Weight"+ },+ "fallback": "0x00",+ "docs": [+ " Total weight for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "AllExtrinsicsLen",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total length (in bytes) for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "BlockHash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "BlockNumber",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Map of block numbers to block hashes."+ ]+ },+ {+ "name": "ExtrinsicData",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "u32",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Extrinsics data for the current block (maps an extrinsic's index to its data)."+ ]+ },+ {+ "name": "Number",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current block number being processed. Set by `execute_block`."+ ]+ },+ {+ "name": "ParentHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Hash of the previous block."+ ]+ },+ {+ "name": "ExtrinsicsRoot",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Extrinsics root of the current block, also part of the block header."+ ]+ },+ {+ "name": "Digest",+ "modifier": "Default",+ "type": {+ "plain": "DigestOf"+ },+ "fallback": "0x00",+ "docs": [+ " Digest of the current block, also part of the block header."+ ]+ },+ {+ "name": "Events",+ "modifier": "Default",+ "type": {+ "plain": "Vec<EventRecord>"+ },+ "fallback": "0x00",+ "docs": [+ " Events deposited for the current block."+ ]+ },+ {+ "name": "EventCount",+ "modifier": "Default",+ "type": {+ "plain": "EventIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of events in the `Events<T>` list."+ ]+ },+ {+ "name": "EventTopics",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Vec<(BlockNumber,EventIndex)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Mapping between a topic (represented by T::Hash) and a vector of indexes",+ " of events in the `<Events<T>>` list.",+ "",+ " All topic vectors have deterministic storage locations depending on the topic. This",+ " allows light-clients to leverage the changes trie storage tracking mechanism and",+ " in case of changes fetch the list of events of interest.",+ "",+ " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",+ " the `EventIndex` then in case if the topic has the same contents on the next block",+ " no notification will be triggered thus the event might be lost."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "fill_block",+ "args": [],+ "docs": [+ " A big dispatch that will disallow any other transaction to be included."+ ]+ },+ {+ "name": "remark",+ "args": [+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark."+ ]+ },+ {+ "name": "set_heap_pages",+ "args": [+ {+ "name": "pages",+ "type": "u64"+ }+ ],+ "docs": [+ " Set the number of pages in the WebAssembly environment's heap."+ ]+ },+ {+ "name": "set_code",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code."+ ]+ },+ {+ "name": "set_code_without_checks",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code without doing any checks of the given `code`."+ ]+ },+ {+ "name": "set_changes_trie_config",+ "args": [+ {+ "name": "changes_trie_config",+ "type": "Option<ChangesTrieConfiguration>"+ }+ ],+ "docs": [+ " Set the new changes trie configuration."+ ]+ },+ {+ "name": "set_storage",+ "args": [+ {+ "name": "items",+ "type": "Vec<KeyValue>"+ }+ ],+ "docs": [+ " Set some items of storage."+ ]+ },+ {+ "name": "kill_storage",+ "args": [+ {+ "name": "keys",+ "type": "Vec<Key>"+ }+ ],+ "docs": [+ " Kill some items from storage."+ ]+ },+ {+ "name": "kill_prefix",+ "args": [+ {+ "name": "prefix",+ "type": "Key"+ }+ ],+ "docs": [+ " Kill all storage items with a key that starts with the given prefix."+ ]+ }+ ],+ "events": [+ {+ "name": "ExtrinsicSuccess",+ "args": [+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic completed successfully."+ ]+ },+ {+ "name": "ExtrinsicFailed",+ "args": [+ "DispatchError",+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic failed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidSpecName",+ "docs": [+ " The name of specification does not match between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "SpecVersionNotAllowedToDecrease",+ "docs": [+ " The specification version is not allowed to decrease between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "ImplVersionNotAllowedToDecrease",+ "docs": [+ " The implementation version is not allowed to decrease between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "SpecOrImplVersionNeedToIncrease",+ "docs": [+ " The specification or the implementation version need to increase between the",+ " current runtime and the new runtime."+ ]+ },+ {+ "name": "FailedToExtractRuntimeVersion",+ "docs": [+ " Failed to extract the runtime version from the new runtime.",+ "",+ " Either calling `Core_version` or decoding `RuntimeVersion` failed."+ ]+ }+ ]+ },+ {+ "name": "Utility",+ "storage": {+ "prefix": "Utility",+ "items": [+ {+ "name": "Multisigs",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "[u8;32]",+ "value": "Multisig",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of open multisig operations."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "batch",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls.",+ "",+ " This will execute until the first one fails and then stop.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " # <weight>",+ " - The sum of the weights of the `calls`.",+ " - One event.",+ " # </weight>",+ "",+ " This will return `Ok` in all circumstances. To determine the success of the batch, an",+ " event is deposited. If a call failed and the batch was interrupted, then the",+ " `BatchInterrupted` event is deposited, along with the number of successful calls made",+ " and the error of the failed call. If all were successful, then the `BatchCompleted`",+ " event is deposited."+ ]+ },+ {+ "name": "as_sub",+ "args": [+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through an indexed pseudonym of the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - The weight of the `call`.",+ " # </weight>"+ ]+ },+ {+ "name": "as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " If there are enough, then dispatch the call.",+ "",+ " Payment: `MultisigDepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `MultisigDepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call`: The call to be executed.",+ "",+ " NOTE: Unless this is the final approval, you will generally want to use",+ " `approve_as_multi` instead, since it only requires a hash of the call.",+ "",+ " Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise",+ " on success, result is `Ok` and the result from the interior call, if it was executed,",+ " may be found in the deposited `MultisigExecuted` event.",+ "",+ " # <weight>",+ " - `O(S + Z + Call)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - The weight of the `call`.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `MultisigDepositBase + threshold * MultisigDepositFactor`.",+ " # </weight>"+ ]+ },+ {+ "name": "approve_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " Payment: `MultisigDepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `MultisigDepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " NOTE: If this is the final approval, you will want to use `as_multi` instead.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `MultisigDepositBase + threshold * MultisigDepositFactor`.",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "timepoint",+ "type": "Timepoint"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ }+ ],+ "docs": [+ " Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously",+ " for this operation will be unreserved on success.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `timepoint`: The timepoint (block number and transaction index) of the first approval",+ " transaction for this dispatch.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - One event.",+ " - I/O: 1 read `O(S)`, one remove.",+ " - Storage: removes one item.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "BatchInterrupted",+ "args": [+ "u32",+ "DispatchError"+ ],+ "docs": [+ " Batch of dispatches did not complete fully. Index of first failing dispatch given, as",+ " well as the error."+ ]+ },+ {+ "name": "BatchCompleted",+ "args": [],+ "docs": [+ " Batch of dispatches completed fully with no error."+ ]+ },+ {+ "name": "NewMultisig",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A new multisig operation has begun. First param is the account that is approving,",+ " second is the multisig account."+ ]+ },+ {+ "name": "MultisigApproval",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId"+ ],+ "docs": [+ " A multisig operation has been approved by someone. First param is the account that is",+ " approving, third is the multisig account."+ ]+ },+ {+ "name": "MultisigExecuted",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "DispatchResult"+ ],+ "docs": [+ " A multisig operation has been executed. First param is the account that is",+ " approving, third is the multisig account."+ ]+ },+ {+ "name": "MultisigCancelled",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId"+ ],+ "docs": [+ " A multisig operation has been cancelled. First param is the account that is",+ " cancelling, third is the multisig account."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Babe",+ "storage": {+ "prefix": "Babe",+ "items": [+ {+ "name": "EpochIndex",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current epoch index."+ ]+ },+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Current epoch authorities."+ ]+ },+ {+ "name": "GenesisSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The slot at which the first epoch actually started. This is 0",+ " until the first block of the chain."+ ]+ },+ {+ "name": "CurrentSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current slot number."+ ]+ },+ {+ "name": "Randomness",+ "modifier": "Default",+ "type": {+ "plain": "[u8;32]"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The epoch randomness for the *current* epoch.",+ "",+ " # Security",+ "",+ " This MUST NOT be used for gambling, as it can be influenced by a",+ " malicious validator in the short term. It MAY be used in many",+ " cryptographic protocols, however, so long as one remembers that this",+ " (like everything else on-chain) it is public. For example, it can be",+ " used where a number is needed that cannot have been chosen by an",+ " adversary, for purposes such as public-coin zero-knowledge proofs."+ ]+ },+ {+ "name": "NextRandomness",+ "modifier": "Default",+ "type": {+ "plain": "[u8;32]"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Next epoch randomness."+ ]+ },+ {+ "name": "SegmentIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Randomness under construction.",+ "",+ " We make a tradeoff between storage accesses and list length.",+ " We store the under-construction randomness in segments of up to",+ " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",+ "",+ " Once a segment reaches this length, we begin the next one.",+ " We reset all segments and return to `0` at the beginning of every",+ " epoch."+ ]+ },+ {+ "name": "UnderConstruction",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "u32",+ "value": "Vec<[u8;32]>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": []+ },+ {+ "name": "Initialized",+ "modifier": "Optional",+ "type": {+ "plain": "MaybeVrf"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) which is `Some`",+ " if per-block initialization has already been called for current block."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [+ {+ "name": "EpochDuration",+ "type": "u64",+ "value": "0xc800000000000000",+ "docs": [+ " The number of **slots** that an epoch takes. We couple sessions to",+ " epochs, i.e. we start a new session once the new epoch begins."+ ]+ },+ {+ "name": "ExpectedBlockTime",+ "type": "Moment",+ "value": "0xb80b000000000000",+ "docs": [+ " The expected average block time at which BABE should be creating",+ " blocks. Since BABE is probabilistic it is not trivial to figure out",+ " what the expected average block time should be based on the slot",+ " duration and the security parameter `c` (where `1 - c` represents",+ " the probability of a slot being empty)."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Timestamp",+ "storage": {+ "prefix": "Timestamp",+ "items": [+ {+ "name": "Now",+ "modifier": "Default",+ "type": {+ "plain": "Moment"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current time for the current block."+ ]+ },+ {+ "name": "DidUpdate",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Did the timestamp get updated in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set",+ "args": [+ {+ "name": "now",+ "type": "Compact<Moment>"+ }+ ],+ "docs": [+ " Set the current time.",+ "",+ " This call should be invoked exactly once per block. It will panic at the finalization",+ " phase, if this call hasn't been invoked by that time.",+ "",+ " The timestamp should be greater than the previous one by the amount specified by",+ " `MinimumPeriod`.",+ "",+ " The dispatch origin for this call must be `Inherent`."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "MinimumPeriod",+ "type": "Moment",+ "value": "0xdc05000000000000",+ "docs": [+ " The minimum period between blocks. Beware that this is different to the *expected* period",+ " that the block production apparatus provides. Your chosen consensus system will generally",+ " work with this to determine a sensible block time. e.g. For Aura, it will be double this",+ " period on default settings."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Authorship",+ "storage": {+ "prefix": "Authorship",+ "items": [+ {+ "name": "Uncles",+ "modifier": "Default",+ "type": {+ "plain": "Vec<UncleEntryItem>"+ },+ "fallback": "0x00",+ "docs": [+ " Uncles"+ ]+ },+ {+ "name": "Author",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " Author of current block."+ ]+ },+ {+ "name": "DidSetUncles",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Whether uncles were already set in this block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_uncles",+ "args": [+ {+ "name": "new_uncles",+ "type": "Vec<Header>"+ }+ ],+ "docs": [+ " Provide a set of uncles."+ ]+ }+ ],+ "events": null,+ "constants": [],+ "errors": [+ {+ "name": "InvalidUncleParent",+ "docs": [+ " The uncle parent not in the chain."+ ]+ },+ {+ "name": "UnclesAlreadySet",+ "docs": [+ " Uncles already set in the block."+ ]+ },+ {+ "name": "TooManyUncles",+ "docs": [+ " Too many uncles."+ ]+ },+ {+ "name": "GenesisUncle",+ "docs": [+ " The uncle is genesis."+ ]+ },+ {+ "name": "TooHighUncle",+ "docs": [+ " The uncle is too high in chain."+ ]+ },+ {+ "name": "UncleAlreadyIncluded",+ "docs": [+ " The uncle is already included."+ ]+ },+ {+ "name": "OldUncle",+ "docs": [+ " The uncle isn't recent enough to be included."+ ]+ }+ ]+ },+ {+ "name": "Indices",+ "storage": {+ "prefix": "Indices",+ "items": [+ {+ "name": "NextEnumSet",+ "modifier": "Default",+ "type": {+ "plain": "AccountIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free enumeration set."+ ]+ },+ {+ "name": "EnumSet",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountIndex",+ "value": "Vec<AccountId>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The enumeration sets."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "NewAccountIndex",+ "args": [+ "AccountId",+ "AccountIndex"+ ],+ "docs": [+ " A new account index was assigned.",+ "",+ " This event is not triggered when an existing index is reassigned",+ " to another `AccountId`."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Balances",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "TotalIssuance",+ "modifier": "Default",+ "type": {+ "plain": "Balance"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total units issued in the system."+ ]+ },+ {+ "name": "Vesting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "VestingSchedule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information regarding the vesting of a given account."+ ]+ },+ {+ "name": "FreeBalance",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Balance",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The 'free' balance of a given account.",+ "",+ " This is the only balance that matters in terms of most operations on tokens. It",+ " alone is used to determine the balance when in the contract execution environment. When this",+ " balance falls below the value of `ExistentialDeposit`, then the 'current account' is",+ " deleted: specifically `FreeBalance`. Further, the `OnFreeBalanceZero` callback",+ " is invoked, giving a chance to external modules to clean up data associated with",+ " the deleted account.",+ "",+ " `frame_system::AccountNonce` is also deleted if `ReservedBalance` is also zero (it also gets",+ " collapsed to zero if it ever becomes less than `ExistentialDeposit`."+ ]+ },+ {+ "name": "ReservedBalance",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Balance",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of the balance of a given account that is externally reserved; this can still get",+ " slashed, but gets slashed last of all.",+ "",+ " This balance is a 'reserve' balance that other subsystems use in order to set aside tokens",+ " that are still 'owned' by the account holder, but which are suspendable.",+ "",+ " When this balance falls below the value of `ExistentialDeposit`, then this 'reserve account'",+ " is deleted: specifically, `ReservedBalance`.",+ "",+ " `frame_system::AccountNonce` is also deleted if `FreeBalance` is also zero (it also gets",+ " collapsed to zero if it ever becomes less than `ExistentialDeposit`.)"+ ]+ },+ {+ "name": "Locks",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Vec<BalanceLock>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Any liquidity locks on some account balances."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "transfer",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Transfer some liquid free balance to another account.",+ "",+ " `transfer` will set the `FreeBalance` of the sender and receiver.",+ " It will decrease the total issuance of the system by the `TransferFee`.",+ " If the sender's account is below the existential deposit as a result",+ " of the transfer, the account will be reaped.",+ "",+ " The dispatch origin for this call must be `Signed` by the transactor.",+ "",+ " # <weight>",+ " - Dependent on arguments but not critical, given proper implementations for",+ " input config types. See related functions below.",+ " - It contains a limited number of reads and writes internally and no complex computation.",+ "",+ " Related functions:",+ "",+ " - `ensure_can_withdraw` is always called internally but has a bounded complexity.",+ " - Transferring balances to accounts that did not exist before will cause",+ " `T::OnNewAccount::on_new_account` to be called.",+ " - Removing enough funds from an account will trigger",+ " `T::DustRemoval::on_unbalanced` and `T::OnFreeBalanceZero::on_free_balance_zero`.",+ " - `transfer_keep_alive` works the same way as `transfer`, but has an additional",+ " check that the transfer will not kill the origin account.",+ "",+ " # </weight>"+ ]+ },+ {+ "name": "set_balance",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "new_free",+ "type": "Compact<Balance>"+ },+ {+ "name": "new_reserved",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Set the balances of a given account.",+ "",+ " This will alter `FreeBalance` and `ReservedBalance` in storage. it will",+ " also decrease the total issuance of the system (`TotalIssuance`).",+ " If the new free or reserved balance is below the existential deposit,",+ " it will reset the account nonce (`frame_system::AccountNonce`).",+ "",+ " The dispatch origin for this call is `root`.",+ "",+ " # <weight>",+ " - Independent of the arguments.",+ " - Contains a limited number of reads and writes.",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Exactly as `transfer`, except the origin must be root and the source account may be",+ " specified."+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Same as the [`transfer`] call, but with a check that the transfer will not kill the",+ " origin account.",+ "",+ " 99% of the time you want [`transfer`] instead.",+ "",+ " [`transfer`]: struct.Module.html#method.transfer"+ ]+ }+ ],+ "events": [+ {+ "name": "NewAccount",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A new account was created."+ ]+ },+ {+ "name": "ReapedAccount",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was reaped."+ ]+ },+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " Transfer succeeded (from, to, value, fees)."+ ]+ },+ {+ "name": "BalanceSet",+ "args": [+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " A balance was set by root (who, free, reserved)."+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some amount was deposited (e.g. for transaction fees)."+ ]+ }+ ],+ "constants": [+ {+ "name": "ExistentialDeposit",+ "type": "Balance",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to keep an account open."+ ]+ },+ {+ "name": "TransferFee",+ "type": "Balance",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to make a transfer."+ ]+ },+ {+ "name": "CreationFee",+ "type": "Balance",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to create an account."+ ]+ }+ ],+ "errors": [+ {+ "name": "VestingBalance",+ "docs": [+ " Vesting balance too high to send value"+ ]+ },+ {+ "name": "LiquidityRestrictions",+ "docs": [+ " Account liquidity restrictions prevent withdrawal"+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " Got an overflow after adding"+ ]+ },+ {+ "name": "InsufficientBalance",+ "docs": [+ " Balance too low to send value"+ ]+ },+ {+ "name": "ExistentialDeposit",+ "docs": [+ " Value too low to create account due to existential deposit"+ ]+ },+ {+ "name": "KeepAlive",+ "docs": [+ " Transfer/payment would kill account"+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " A vesting schedule already exists for this account"+ ]+ },+ {+ "name": "DeadAccount",+ "docs": [+ " Beneficiary account must pre-exist"+ ]+ }+ ]+ },+ {+ "name": "TransactionPayment",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "NextFeeMultiplier",+ "modifier": "Default",+ "type": {+ "plain": "Multiplier"+ },+ "fallback": "0x0000000000000000",+ "docs": []+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [+ {+ "name": "TransactionBaseFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the base."+ ]+ },+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Staking",+ "storage": {+ "prefix": "Staking",+ "items": [+ {+ "name": "ValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The ideal number of staking participants."+ ]+ },+ {+ "name": "MinimumValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x04000000",+ "docs": [+ " Minimum number of staking participants before emergency conditions are imposed."+ ]+ },+ {+ "name": "Invulnerables",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",+ " easy to initialize and the performance hit is minimal (we expect no more than four",+ " invulnerables) and restricted to testnets."+ ]+ },+ {+ "name": "Bonded",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all locked \"stash\" accounts to the controller account."+ ]+ },+ {+ "name": "Ledger",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "StakingLedger",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."+ ]+ },+ {+ "name": "Payee",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "RewardDestination",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Where the reward payment should be made. Keyed by stash."+ ]+ },+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "ValidatorPrefs",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from (wannabe) validator stash key to the preferences of that validator."+ ]+ },+ {+ "name": "Nominators",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Nominations",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from nominator stash key to the set of stash keys of all validators to nominate.",+ "",+ " NOTE: is private so that we can ensure upgraded before all typical accesses.",+ " Direct storage APIs can still bypass this protection."+ ]+ },+ {+ "name": "Stakers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Exposure",+ "linked": false+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Nominators for a particular account that is in action right now. You can't iterate",+ " through validators here, but you can find them in the Session module.",+ "",+ " This is keyed by the stash account."+ ]+ },+ {+ "name": "CurrentElected",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The currently elected validator set keyed by stash account ID."+ ]+ },+ {+ "name": "CurrentEra",+ "modifier": "Default",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current era index."+ ]+ },+ {+ "name": "CurrentEraStart",+ "modifier": "Default",+ "type": {+ "plain": "MomentOf"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The start of the current era."+ ]+ },+ {+ "name": "CurrentEraStartSessionIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The session index at which the current era started."+ ]+ },+ {+ "name": "CurrentEraPointsEarned",+ "modifier": "Default",+ "type": {+ "plain": "EraPoints"+ },+ "fallback": "0x0000000000",+ "docs": [+ " Rewards for the current era. Using indices of current elected set."+ ]+ },+ {+ "name": "SlotStake",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of balance actively at stake for each validator slot, currently.",+ "",+ " This is used to derive rewards and punishments."+ ]+ },+ {+ "name": "ForceEra",+ "modifier": "Default",+ "type": {+ "plain": "Forcing"+ },+ "fallback": "0x00",+ "docs": [+ " True if the next session change will be a new era regardless of index."+ ]+ },+ {+ "name": "SlashRewardFraction",+ "modifier": "Default",+ "type": {+ "plain": "Perbill"+ },+ "fallback": "0x00000000",+ "docs": [+ " The percentage of the slash that is distributed to reporters.",+ "",+ " The rest of the slashed value is handled by the `Slash`."+ ]+ },+ {+ "name": "CanceledSlashPayout",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of currency given to reporters of a slash event which was",+ " canceled by extraordinary circumstances (e.g. governance)."+ ]+ },+ {+ "name": "UnappliedSlashes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "EraIndex",+ "value": "Vec<UnappliedSlash>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " All unapplied slashes that are queued for later."+ ]+ },+ {+ "name": "BondedEras",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(EraIndex,SessionIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from still-bonded eras to the first session index of that era."+ ]+ },+ {+ "name": "ValidatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "(Perbill,BalanceOf)",+ "key2Hasher": "Twox128"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on validators, mapped by era to the highest slash proportion",+ " and slash value of the era."+ ]+ },+ {+ "name": "NominatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "BalanceOf",+ "key2Hasher": "Twox128"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on nominators, mapped by era to the highest slash value of the era."+ ]+ },+ {+ "name": "SlashingSpans",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "SlashingSpans",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Slashing spans for stash accounts."+ ]+ },+ {+ "name": "SpanSlash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "(AccountId,SpanIndex)",+ "value": "SpanRecord",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Records information about the maximum slash of a stash within a slashing span,",+ " as well as how much reward has been paid out."+ ]+ },+ {+ "name": "EarliestUnappliedSlash",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The earliest era for which we have a pending, unapplied slash."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The version of storage for upgrade."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bond",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " Take the origin account as a stash and lock up `value` of its balance. `controller` will",+ " be the account that controls it.",+ "",+ " `value` must be more than the `minimum_balance` specified by `T::Currency`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash account.",+ "",+ " # <weight>",+ " - Independent of the arguments. Moderate complexity.",+ " - O(1).",+ " - Three extra DB entries.",+ "",+ " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned unless",+ " the `origin` falls below _existential deposit_ and gets removed as dust.",+ " # </weight>"+ ]+ },+ {+ "name": "bond_extra",+ "args": [+ {+ "name": "max_additional",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Add some extra amount that have appeared in the stash `free_balance` into the balance up",+ " for staking.",+ "",+ " Use this if there are additional funds in your stash account that you wish to bond.",+ " Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount",+ " that can be added.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - O(1).",+ " - One DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "unbond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Schedule a portion of the stash to be unlocked ready for transfer out after the bond",+ " period ends. If this leaves an amount actively bonded less than",+ " T::Currency::minimum_balance(), then it is increased to the full amount.",+ "",+ " Once the unlock period is done, you can call `withdraw_unbonded` to actually move",+ " the funds out of management ready for transfer.",+ "",+ " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)",+ " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need",+ " to be called first to remove some of the chunks (if possible).",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " See also [`Call::withdraw_unbonded`].",+ "",+ " # <weight>",+ " - Independent of the arguments. Limited but potentially exploitable complexity.",+ " - Contains a limited number of reads.",+ " - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",+ " will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",+ " The only way to clean the aforementioned storage item is also user-controlled via `withdraw_unbonded`.",+ " - One DB entry.",+ " </weight>"+ ]+ },+ {+ "name": "withdraw_unbonded",+ "args": [],+ "docs": [+ " Remove any unlocked chunks from the `unlocking` queue from our management.",+ "",+ " This essentially frees up that balance to be used by the stash account to do",+ " whatever it wants.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " See also [`Call::unbond`].",+ "",+ " # <weight>",+ " - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",+ " It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",+ " indirectly user-controlled. See [`unbond`] for more detail.",+ " - Contains a limited number of reads, yet the size of which could be large based on `ledger`.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "validate",+ "args": [+ {+ "name": "prefs",+ "type": "ValidatorPrefs"+ }+ ],+ "docs": [+ " Declare the desire to validate for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "nominate",+ "args": [+ {+ "name": "targets",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Declare the desire to nominate `targets` for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - The transaction's complexity is proportional to the size of `targets`,",+ " which is capped at `MAX_NOMINATIONS`.",+ " - Both the reads and writes follow a similar pattern.",+ " # </weight>"+ ]+ },+ {+ "name": "chill",+ "args": [],+ "docs": [+ " Declare no desire to either validate or nominate.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains one read.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_payee",+ "args": [+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " (Re-)set the payment target for a controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_controller",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " (Re-)set the controller of a stash.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_validator_count",+ "args": [+ {+ "name": "new",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " The ideal number of validators."+ ]+ },+ {+ "name": "force_no_eras",+ "args": [],+ "docs": [+ " Force there to be no new eras indefinitely.",+ "",+ " # <weight>",+ " - No arguments.",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of the next session. After this, it will be",+ " reset to normal (non-forced) behaviour.",+ "",+ " # <weight>",+ " - No arguments.",+ " # </weight>"+ ]+ },+ {+ "name": "set_invulnerables",+ "args": [+ {+ "name": "validators",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the validators who cannot be slashed (if any)."+ ]+ },+ {+ "name": "force_unstake",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Force a current staker to become completely unstaked, immediately."+ ]+ },+ {+ "name": "force_new_era_always",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of sessions indefinitely.",+ "",+ " # <weight>",+ " - One storage write",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_deferred_slash",+ "args": [+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "slash_indices",+ "type": "Vec<u32>"+ }+ ],+ "docs": [+ " Cancel enactment of a deferred slash. Can be called by either the root origin or",+ " the `T::SlashCancelOrigin`.",+ " passing the era and indices of the slashes for that era to kill.",+ "",+ " # <weight>",+ " - One storage write.",+ " # </weight>"+ ]+ },+ {+ "name": "rebond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Rebond a portion of the stash scheduled to be unlocked.",+ "",+ " # <weight>",+ " - Time complexity: O(1). Bounded by `MAX_UNLOCKING_CHUNKS`.",+ " - Storage changes: Can't increase storage, only decrease it.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Reward",+ "args": [+ "Balance",+ "Balance"+ ],+ "docs": [+ " All validators have been rewarded by the first balance; the second is the remainder",+ " from the maximum amount of reward."+ ]+ },+ {+ "name": "Slash",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " One validator (and its nominators) has been slashed by the given amount."+ ]+ },+ {+ "name": "OldSlashingReportDiscarded",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " An old slashing report from a prior era was discarded because it could",+ " not be processed."+ ]+ }+ ],+ "constants": [+ {+ "name": "SessionsPerEra",+ "type": "SessionIndex",+ "value": "0x06000000",+ "docs": [+ " Number of sessions per era."+ ]+ },+ {+ "name": "BondingDuration",+ "type": "EraIndex",+ "value": "0xa0020000",+ "docs": [+ " Number of eras that staked funds must remain bonded for."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotController",+ "docs": [+ " Not a controller account."+ ]+ },+ {+ "name": "NotStash",+ "docs": [+ " Not a stash account."+ ]+ },+ {+ "name": "AlreadyBonded",+ "docs": [+ " Stash is already bonded."+ ]+ },+ {+ "name": "AlreadyPaired",+ "docs": [+ " Controller is already paired."+ ]+ },+ {+ "name": "EmptyTargets",+ "docs": [+ " Targets cannot be empty."+ ]+ },+ {+ "name": "DuplicateIndex",+ "docs": [+ " Duplicate index."+ ]+ },+ {+ "name": "InvalidSlashIndex",+ "docs": [+ " Slash record index out of bounds."+ ]+ },+ {+ "name": "InsufficientValue",+ "docs": [+ " Can not bond with value less than minimum balance."+ ]+ },+ {+ "name": "NoMoreChunks",+ "docs": [+ " Can not schedule more unlock chunks."+ ]+ },+ {+ "name": "NoUnlockChunk",+ "docs": [+ " Can not rebond without unlocking chunks."+ ]+ }+ ]+ },+ {+ "name": "Session",+ "storage": {+ "prefix": "Session",+ "items": [+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ValidatorId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of validators."+ ]+ },+ {+ "name": "CurrentIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Current index of the session."+ ]+ },+ {+ "name": "QueuedChanged",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the underlying economic identities or weighting behind the validators",+ " has changed in the queued validator set."+ ]+ },+ {+ "name": "QueuedKeys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(ValidatorId,Keys)>"+ },+ "fallback": "0x00",+ "docs": [+ " The queued keys for the next session. When the next session begins, these keys",+ " will be used to determine the validator's session keys."+ ]+ },+ {+ "name": "DisabledValidators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<u32>"+ },+ "fallback": "0x00",+ "docs": [+ " Indices of disabled validators.",+ "",+ " The set is cleared when `on_session_ending` returns a new set of identities."+ ]+ },+ {+ "name": "NextKeys",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Bytes",+ "key2": "ValidatorId",+ "value": "Keys",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The next session keys for a validator.",+ "",+ " The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of",+ " the trie. Having all data in the same branch should prevent slowing down other queries."+ ]+ },+ {+ "name": "KeyOwner",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Bytes",+ "key2": "(KeyTypeId,Bytes)",+ "value": "ValidatorId",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The owner of a key. The second key is the `KeyTypeId` + the encoded key.",+ "",+ " The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of",+ " the trie. Having all data in the same branch should prevent slowing down other queries."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_keys",+ "args": [+ {+ "name": "keys",+ "type": "Keys"+ },+ {+ "name": "proof",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Sets the session key(s) of the function caller to `key`.",+ " Allows an account to set its session key prior to becoming a validator.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - O(log n) in number of accounts.",+ " - One extra DB entry.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewSession",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " New session has happened. Note that the argument is the session index, not the block",+ " number as the type might suggest."+ ]+ }+ ],+ "constants": [+ {+ "name": "DEDUP_KEY_PREFIX",+ "type": "Bytes",+ "value": "0x343a73657373696f6e3a6b657973",+ "docs": [+ " Used as first key for `NextKeys` and `KeyOwner` to put all the data into the same branch",+ " of the trie."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidProof",+ "docs": [+ " Invalid ownership proof."+ ]+ },+ {+ "name": "NoAssociatedValidatorId",+ "docs": [+ " No associated validator ID for account."+ ]+ },+ {+ "name": "DuplicatedKey",+ "docs": [+ " Registered duplicate key."+ ]+ }+ ]+ },+ {+ "name": "Democracy",+ "storage": {+ "prefix": "Democracy",+ "items": [+ {+ "name": "PublicPropCount",+ "modifier": "Default",+ "type": {+ "plain": "PropIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of (public) proposals that have been made so far."+ ]+ },+ {+ "name": "PublicProps",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(PropIndex,Hash,AccountId)>"+ },+ "fallback": "0x00",+ "docs": [+ " The public proposals. Unsorted. The second item is the proposal's hash."+ ]+ },+ {+ "name": "Preimages",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "(Bytes,AccountId,BalanceOf,BlockNumber)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map of hashes to the proposal preimage, along with who registered it and their deposit.",+ " The block number is the block at which it was deposited."+ ]+ },+ {+ "name": "DepositOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "PropIndex",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Those who have locked a deposit."+ ]+ },+ {+ "name": "ReferendumCount",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free referendum index, aka the number of referenda started so far."+ ]+ },+ {+ "name": "LowestUnbaked",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The lowest referendum index representing an unbaked referendum. Equal to",+ " `ReferendumCount` if there isn't a unbaked referendum."+ ]+ },+ {+ "name": "ReferendumInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReferendumIndex",+ "value": "ReferendumInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information concerning any given referendum."+ ]+ },+ {+ "name": "DispatchQueue",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(BlockNumber,Hash,ReferendumIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " Queue of successful referenda to be dispatched. Stored ordered by block number."+ ]+ },+ {+ "name": "VotersFor",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReferendumIndex",+ "value": "Vec<AccountId>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Get the voters for the current proposal."+ ]+ },+ {+ "name": "VoteOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "(ReferendumIndex,AccountId)",+ "value": "Vote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Get the vote in a given referendum of a particular voter. The result is meaningful only",+ " if `voters_for` includes the voter when called with the referendum (you'll get the",+ " default `Vote` value otherwise). If you don't want to check `voters_for`, then you can",+ " also check for simple existence with `VoteOf::exists` first."+ ]+ },+ {+ "name": "Proxy",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Who is able to vote for whom. Value is the fund-holding account, key is the",+ " vote-transaction-sending account."+ ]+ },+ {+ "name": "Delegations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(AccountId,Conviction)",+ "linked": true+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Get the account (and lock periods) to which another account is delegating vote."+ ]+ },+ {+ "name": "LastTabledWasExternal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the last referendum tabled was submitted externally. False if it was a public",+ " proposal."+ ]+ },+ {+ "name": "NextExternal",+ "modifier": "Optional",+ "type": {+ "plain": "(Hash,VoteThreshold)"+ },+ "fallback": "0x00",+ "docs": [+ " The referendum to be tabled whenever it would be valid to table an external proposal.",+ " This happens when a referendum needs to be tabled and one of two conditions are met:",+ " - `LastTabledWasExternal` is `false`; or",+ " - `PublicProps` is empty."+ ]+ },+ {+ "name": "Blacklist",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "(BlockNumber,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A record of who vetoed what. Maps proposal hash to a possible existent block number",+ " (until when it may not be resubmitted) and who vetoed it."+ ]+ },+ {+ "name": "Cancellations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Record of all proposals that have been subject to emergency cancellation."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " # <weight>",+ " - O(1).",+ " - Two DB changes, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "second",+ "args": [+ {+ "name": "proposal",+ "type": "Compact<PropIndex>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "Vote"+ }+ ],+ "docs": [+ " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;",+ " otherwise it is a vote to keep the status quo.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB change, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "proxy_vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "Vote"+ }+ ],+ "docs": [+ " Vote in a referendum on behalf of a stash. If `vote.is_aye()`, the vote is to enact",+ " the proposal; otherwise it is a vote to keep the status quo.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB change, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "emergency_cancel",+ "args": [+ {+ "name": "ref_index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same",+ " referendum."+ ]+ },+ {+ "name": "external_propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a referendum to be tabled once it is legal to schedule an external",+ " referendum."+ ]+ },+ {+ "name": "external_propose_majority",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a majority-carries referendum to be tabled next once it is legal to schedule",+ " an external referendum.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call."+ ]+ },+ {+ "name": "external_propose_default",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to",+ " schedule an external referendum.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call."+ ]+ },+ {+ "name": "fast_track",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "voting_period",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Schedule the currently externally-proposed majority-carries referendum to be tabled",+ " immediately. If there is no externally-proposed referendum currently, or if there is one",+ " but it is not a majority-carries referendum then it fails.",+ "",+ " - `proposal_hash`: The hash of the current external proposal.",+ " - `voting_period`: The period that is allowed for voting on this proposal. Increased to",+ " `EmergencyVotingPeriod` if too low.",+ " - `delay`: The number of block after voting has ended in approval and this should be",+ " enacted. This doesn't have a minimum amount."+ ]+ },+ {+ "name": "veto_external",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Veto and blacklist the external proposal hash."+ ]+ },+ {+ "name": "cancel_referendum",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Remove a referendum."+ ]+ },+ {+ "name": "cancel_queued",+ "args": [+ {+ "name": "which",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Cancel a proposal queued for enactment."+ ]+ },+ {+ "name": "set_proxy",+ "args": [+ {+ "name": "proxy",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Specify a proxy. Called by the stash.",+ "",+ " # <weight>",+ " - One extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "resign_proxy",+ "args": [],+ "docs": [+ " Clear the proxy. Called by the proxy.",+ "",+ " # <weight>",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxy",+ "args": [+ {+ "name": "proxy",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Clear the proxy. Called by the stash.",+ "",+ " # <weight>",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "delegate",+ "args": [+ {+ "name": "to",+ "type": "AccountId"+ },+ {+ "name": "conviction",+ "type": "Conviction"+ }+ ],+ "docs": [+ " Delegate vote.",+ "",+ " # <weight>",+ " - One extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "undelegate",+ "args": [],+ "docs": [+ " Undelegate vote.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "clear_public_proposals",+ "args": [],+ "docs": [+ " Veto and blacklist the proposal hash. Must be from Root origin."+ ]+ },+ {+ "name": "note_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This doesn't require the proposal to be",+ " in the dispatch queue but does require a deposit, returned once enacted."+ ]+ },+ {+ "name": "note_imminent_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This requires the proposal to be",+ " in the dispatch queue. No deposit is needed."+ ]+ },+ {+ "name": "reap_preimage",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Remove an expired proposal preimage and collect the deposit.",+ "",+ " This will only work after `VotingPeriod` blocks from the time that the preimage was",+ " noted, if it's the same account doing it. If it's a different account, then it'll only",+ " work an additional `EnactmentPeriod` later."+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "PropIndex",+ "Balance"+ ],+ "docs": [+ " A motion has been proposed by a public account."+ ]+ },+ {+ "name": "Tabled",+ "args": [+ "PropIndex",+ "Balance",+ "Vec<AccountId>"+ ],+ "docs": [+ " A public proposal has been tabled for referendum vote."+ ]+ },+ {+ "name": "ExternalTabled",+ "args": [],+ "docs": [+ " An external proposal has been tabled."+ ]+ },+ {+ "name": "Started",+ "args": [+ "ReferendumIndex",+ "VoteThreshold"+ ],+ "docs": [+ " A referendum has begun."+ ]+ },+ {+ "name": "Passed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been approved by referendum."+ ]+ },+ {+ "name": "NotPassed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been rejected by referendum."+ ]+ },+ {+ "name": "Cancelled",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A referendum has been cancelled."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "ReferendumIndex",+ "bool"+ ],+ "docs": [+ " A proposal has been enacted."+ ]+ },+ {+ "name": "Delegated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An account has delegated their vote to another account."+ ]+ },+ {+ "name": "Undelegated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account has cancelled a previous delegation operation."+ ]+ },+ {+ "name": "Vetoed",+ "args": [+ "AccountId",+ "Hash",+ "BlockNumber"+ ],+ "docs": [+ " An external proposal has been vetoed."+ ]+ },+ {+ "name": "PreimageNoted",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal's preimage was noted, and the deposit taken."+ ]+ },+ {+ "name": "PreimageUsed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal preimage was removed and used (the deposit was returned)."+ ]+ },+ {+ "name": "PreimageInvalid",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was invalid."+ ]+ },+ {+ "name": "PreimageMissing",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was missing."+ ]+ },+ {+ "name": "PreimageReaped",+ "args": [+ "Hash",+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A registered preimage was removed and the deposit collected by the reaper (last item)."+ ]+ }+ ],+ "constants": [+ {+ "name": "EnactmentPeriod",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The minimum period of locking and the period between a proposal being approved and enacted.",+ "",+ " It should generally be a little more than the unstake period to ensure that",+ " voting stakers have an opportunity to remove themselves from the system in the case where",+ " they are on the losing side of a vote."+ ]+ },+ {+ "name": "LaunchPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) new public referenda are launched."+ ]+ },+ {+ "name": "VotingPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) to check for new votes."+ ]+ },+ {+ "name": "MinimumDeposit",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be used as a deposit for a public referendum proposal."+ ]+ },+ {+ "name": "EmergencyVotingPeriod",+ "type": "BlockNumber",+ "value": "0x80510100",+ "docs": [+ " Minimum voting period allowed for an emergency referendum."+ ]+ },+ {+ "name": "CooloffPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " Period in blocks where an external proposal may not be re-submitted after being vetoed."+ ]+ },+ {+ "name": "PreimageByteDeposit",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of balance that must be deposited per byte of preimage stored."+ ]+ }+ ],+ "errors": [+ {+ "name": "ValueLow",+ "docs": [+ " Value too low"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal does not exist"+ ]+ },+ {+ "name": "NotProxy",+ "docs": [+ " Not a proxy"+ ]+ },+ {+ "name": "BadIndex",+ "docs": [+ " Unknown index"+ ]+ },+ {+ "name": "AlreadyCanceled",+ "docs": [+ " Cannot cancel the same proposal twice"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Proposal already made"+ ]+ },+ {+ "name": "ProposalBlacklisted",+ "docs": [+ " Proposal still blacklisted"+ ]+ },+ {+ "name": "NotSimpleMajority",+ "docs": [+ " Next external proposal not simple majority"+ ]+ },+ {+ "name": "InvalidHash",+ "docs": [+ " Invalid hash"+ ]+ },+ {+ "name": "NoProposal",+ "docs": [+ " No external proposal"+ ]+ },+ {+ "name": "AlreadyVetoed",+ "docs": [+ " Identity may not veto a proposal twice"+ ]+ },+ {+ "name": "AlreadyProxy",+ "docs": [+ " Already a proxy"+ ]+ },+ {+ "name": "WrongProxy",+ "docs": [+ " Wrong proxy"+ ]+ },+ {+ "name": "NotDelegated",+ "docs": [+ " Not delegated"+ ]+ },+ {+ "name": "DuplicatePreimage",+ "docs": [+ " Preimage already noted"+ ]+ },+ {+ "name": "NotImminent",+ "docs": [+ " Not imminent"+ ]+ },+ {+ "name": "Early",+ "docs": [+ " Too early"+ ]+ },+ {+ "name": "Imminent",+ "docs": [+ " Imminent"+ ]+ },+ {+ "name": "PreimageMissing",+ "docs": [+ " Preimage not found"+ ]+ },+ {+ "name": "ReferendumInvalid",+ "docs": [+ " Vote given for invalid referendum"+ ]+ },+ {+ "name": "PreimageInvalid",+ "docs": [+ " Invalid preimage"+ ]+ },+ {+ "name": "NoneWaiting",+ "docs": [+ " No proposals waiting"+ ]+ }+ ]+ },+ {+ "name": "Council",+ "storage": {+ "prefix": "Instance1Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the collective's membership manually to `new_members`. Be nice to the chain and",+ " provide it pre-sorted.",+ "",+ " Requires root origin."+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective."+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage reads and writes.",+ " - Argument `threshold` has bearing on weight.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage read and writes.",+ " - Will be slightly heavier if the proposal is approved / disapproved after the vote.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`)."+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`)."+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold."+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A motion was executed; `bool` is true if returned without error."+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A single member did some action; `bool` is true if returned without error."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ }+ ]+ },+ {+ "name": "TechnicalCommittee",+ "storage": {+ "prefix": "Instance2Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the collective's membership manually to `new_members`. Be nice to the chain and",+ " provide it pre-sorted.",+ "",+ " Requires root origin."+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective."+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage reads and writes.",+ " - Argument `threshold` has bearing on weight.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage read and writes.",+ " - Will be slightly heavier if the proposal is approved / disapproved after the vote.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`)."+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`)."+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold."+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A motion was executed; `bool` is true if returned without error."+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A single member did some action; `bool` is true if returned without error."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ }+ ]+ },+ {+ "name": "Elections",+ "storage": {+ "prefix": "PhragmenElection",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current elected membership. Sorted based on account id."+ ]+ },+ {+ "name": "RunnersUp",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current runners_up. Sorted based on low to high merit (worse to best runner)."+ ]+ },+ {+ "name": "ElectionRounds",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The total number of vote rounds that have happened, excluding the upcoming one."+ ]+ },+ {+ "name": "VotesOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Vec<AccountId>",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes of a particular voter, with the round index of the votes."+ ]+ },+ {+ "name": "StakeOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Locked stake of a voter."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The present candidate list. Sorted based on account-id. A current member or a runner can",+ " never enter this vector and is always implicitly assumed to be a candidate."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vote",+ "args": [+ {+ "name": "votes",+ "type": "Vec<AccountId>"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Vote for a set of candidates for the upcoming round of election.",+ "",+ " The `votes` should:",+ " - not be empty.",+ " - be less than the number of candidates.",+ "",+ " Upon voting, `value` units of `who`'s balance is locked and a bond amount is reserved.",+ " It is the responsibility of the caller to not place all of their balance into the lock",+ " and keep some for further transactions.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(1)",+ " Writes: O(V) given `V` votes. V is bounded by 16.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_voter",+ "args": [],+ "docs": [+ " Remove `origin` as a voter. This removes the lock and returns the bond.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(1)",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "report_defunct_voter",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Report `target` for being an defunct voter. In case of a valid report, the reporter is",+ " rewarded by the bond amount of `target`. Otherwise, the reporter itself is removed and",+ " their bond is slashed.",+ "",+ " A defunct voter is defined to be:",+ " - a voter whose current submitted votes are all invalid. i.e. all of them are no",+ " longer a candidate nor an active member.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(NLogM) given M current candidates and N votes for `target`.",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "submit_candidacy",+ "args": [],+ "docs": [+ " Submit oneself for candidacy.",+ "",+ " A candidate will either:",+ " - Lose at the end of the term and forfeit their deposit.",+ " - Win and become a member. Members will eventually get their stash back.",+ " - Become a runner-up. Runners-ups are reserved members in case one gets forcefully",+ " removed.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(LogN) Given N candidates.",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "renounce_candidacy",+ "args": [],+ "docs": [+ " Renounce one's intention to be a candidate for the next election round. 3 potential",+ " outcomes exist:",+ " - `origin` is a candidate and not elected in any set. In this case, the bond is",+ " unreserved, returned and origin is removed as a candidate.",+ " - `origin` is a current runner up. In this case, the bond is unreserved, returned and",+ " origin is removed as a runner.",+ " - `origin` is a current member. In this case, the bond is unreserved and origin is",+ " removed as a member, consequently not being a candidate for the next round anymore.",+ " Similar to [`remove_voter`], if replacement runners exists, they are immediately used."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove a particular member from the set. This is effective immediately and the bond of",+ " the outgoing member is slashed.",+ "",+ " If a runner-up is available, then the best runner-up will be removed and replaces the",+ " outgoing member. Otherwise, a new phragmen round is started.",+ "",+ " Note that this does not affect the designated block number of the next election.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(do_phragmen)",+ " Writes: O(do_phragmen)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTerm",+ "args": [+ "Vec<(AccountId,Balance)>"+ ],+ "docs": [+ " A new term with new members. This indicates that enough candidates existed, not that",+ " enough have has been elected. The inner value must be examined for this purpose."+ ]+ },+ {+ "name": "EmptyTerm",+ "args": [],+ "docs": [+ " No (or not enough) candidates existed for this round."+ ]+ },+ {+ "name": "MemberKicked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has been removed. This should always be followed by either `NewTerm` ot",+ " `EmptyTerm`."+ ]+ },+ {+ "name": "MemberRenounced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has renounced their candidacy."+ ]+ },+ {+ "name": "VoterReported",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A voter (first element) was reported (byt the second element) with the the report being",+ " successful or not (third element)."+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidacyBond",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": []+ },+ {+ "name": "VotingBond",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": []+ },+ {+ "name": "DesiredMembers",+ "type": "u32",+ "value": "0x0d000000",+ "docs": []+ },+ {+ "name": "DesiredRunnersUp",+ "type": "u32",+ "value": "0x07000000",+ "docs": []+ },+ {+ "name": "TermDuration",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": []+ }+ ],+ "errors": [+ {+ "name": "UnableToVote",+ "docs": [+ " Cannot vote when no candidates or members exist."+ ]+ },+ {+ "name": "NoVotes",+ "docs": [+ " Must vote for at least one candidate."+ ]+ },+ {+ "name": "TooManyVotes",+ "docs": [+ " Cannot vote more than candidates."+ ]+ },+ {+ "name": "MaximumVotesExceeded",+ "docs": [+ " Cannot vote more than maximum allowed."+ ]+ },+ {+ "name": "LowBalance",+ "docs": [+ " Cannot vote with stake less than minimum balance."+ ]+ },+ {+ "name": "UnableToPayBond",+ "docs": [+ " Voter can not pay voting bond."+ ]+ },+ {+ "name": "MustBeVoter",+ "docs": [+ " Must be a voter."+ ]+ },+ {+ "name": "ReportSelf",+ "docs": [+ " Cannot report self."+ ]+ },+ {+ "name": "DuplicatedCandidate",+ "docs": [+ " Duplicated candidate submission."+ ]+ },+ {+ "name": "MemberSubmit",+ "docs": [+ " Member cannot re-submit candidacy."+ ]+ },+ {+ "name": "RunnerSubmit",+ "docs": [+ " Runner cannot re-submit candidacy."+ ]+ },+ {+ "name": "InsufficientCandidateFunds",+ "docs": [+ " Candidate does not have enough funds."+ ]+ },+ {+ "name": "InvalidOrigin",+ "docs": [+ " Origin is not a candidate, member or a runner up."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ }+ ]+ },+ {+ "name": "TechnicalMembership",+ "storage": {+ "prefix": "Instance1Membership",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current membership, stored as an ordered Vec."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a member `who` to the set.",+ "",+ " May only be called from `AddOrigin` or root."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Remove a member `who` from the set.",+ "",+ " May only be called from `RemoveOrigin` or root."+ ]+ },+ {+ "name": "swap_member",+ "args": [+ {+ "name": "remove",+ "type": "AccountId"+ },+ {+ "name": "add",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out one member `remove` for another `add`.",+ "",+ " May only be called from `SwapOrigin` or root."+ ]+ },+ {+ "name": "reset_members",+ "args": [+ {+ "name": "members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Change the membership to a new set, disregarding the existing membership. Be nice and",+ " pass `members` pre-sorted.",+ "",+ " May only be called from `ResetOrigin` or root."+ ]+ },+ {+ "name": "change_key",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out the sending member for some other key `new`.",+ "",+ " May only be called from `Signed` origin of a current member."+ ]+ }+ ],+ "events": [+ {+ "name": "MemberAdded",+ "args": [],+ "docs": [+ " The given member was added; see the transaction for who."+ ]+ },+ {+ "name": "MemberRemoved",+ "args": [],+ "docs": [+ " The given member was removed; see the transaction for who."+ ]+ },+ {+ "name": "MembersSwapped",+ "args": [],+ "docs": [+ " Two members were swapped; see the transaction for who."+ ]+ },+ {+ "name": "MembersReset",+ "args": [],+ "docs": [+ " The membership was reset; see the transaction for who the new set is."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [],+ "docs": [+ " One of the members' keys changed."+ ]+ },+ {+ "name": "Dummy",+ "args": [+ "PhantomData"+ ],+ "docs": [+ " Phantom member, never used."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "FinalityTracker",+ "storage": null,+ "calls": [+ {+ "name": "final_hint",+ "args": [+ {+ "name": "hint",+ "type": "Compact<BlockNumber>"+ }+ ],+ "docs": [+ " Hint that the author of this block thinks the best finalized",+ " block is the given number."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "WindowSize",+ "type": "BlockNumber",+ "value": "0x65000000",+ "docs": [+ " The number of recent samples to keep from this chain. Default is 101."+ ]+ },+ {+ "name": "ReportLatency",+ "type": "BlockNumber",+ "value": "0xe8030000",+ "docs": [+ " The delay after which point things become suspicious. Default is 1000."+ ]+ }+ ],+ "errors": [+ {+ "name": "AlreadyUpdated",+ "docs": [+ " Final hint must be updated only once in the block"+ ]+ },+ {+ "name": "BadHint",+ "docs": [+ " Finalized height above block number"+ ]+ }+ ]+ },+ {+ "name": "Grandpa",+ "storage": {+ "prefix": "GrandpaFinality",+ "items": [+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "AuthorityList"+ },+ "fallback": "0x00",+ "docs": [+ " DEPRECATED",+ "",+ " This used to store the current authority set, which has been migrated to the well-known",+ " GRANDPA_AUTHORITES_KEY unhashed key."+ ]+ },+ {+ "name": "State",+ "modifier": "Default",+ "type": {+ "plain": "StoredState"+ },+ "fallback": "0x00",+ "docs": [+ " State of the current authority set."+ ]+ },+ {+ "name": "PendingChange",+ "modifier": "Optional",+ "type": {+ "plain": "StoredPendingChange"+ },+ "fallback": "0x00",+ "docs": [+ " Pending change: (signaled at, scheduled change)."+ ]+ },+ {+ "name": "NextForced",+ "modifier": "Optional",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00",+ "docs": [+ " next block number where we can force a change."+ ]+ },+ {+ "name": "Stalled",+ "modifier": "Optional",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x00",+ "docs": [+ " `true` if we are currently stalled."+ ]+ },+ {+ "name": "CurrentSetId",+ "modifier": "Default",+ "type": {+ "plain": "SetId"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The number of changes (both in terms of keys and underlying economic responsibilities)",+ " in the \"set\" of Grandpa validators from genesis."+ ]+ },+ {+ "name": "SetIdSession",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "SetId",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from grandpa set ID to the index of the *most recent* session for which its members were responsible."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_misbehavior",+ "args": [+ {+ "name": "_report",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Report some misbehavior."+ ]+ }+ ],+ "events": [+ {+ "name": "NewAuthorities",+ "args": [+ "AuthorityList"+ ],+ "docs": [+ " New authority set has been applied."+ ]+ },+ {+ "name": "Paused",+ "args": [],+ "docs": [+ " Current authority set has been paused."+ ]+ },+ {+ "name": "Resumed",+ "args": [],+ "docs": [+ " Current authority set has been resumed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "PauseFailed",+ "docs": [+ " Attempt to signal GRANDPA pause when the authority set isn't live",+ " (either paused or already pending pause)."+ ]+ },+ {+ "name": "ResumeFailed",+ "docs": [+ " Attempt to signal GRANDPA resume when the authority set isn't paused",+ " (either live or already pending resume)."+ ]+ },+ {+ "name": "ChangePending",+ "docs": [+ " Attempt to signal GRANDPA change with one already pending."+ ]+ },+ {+ "name": "TooSoon",+ "docs": [+ " Cannot signal forced change so soon after last."+ ]+ }+ ]+ },+ {+ "name": "Treasury",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "ProposalIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of proposals that have been made."+ ]+ },+ {+ "name": "Proposals",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ProposalIndex",+ "value": "TreasuryProposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Proposals that have been made."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ProposalIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Proposal indices that have been approved but not yet awarded."+ ]+ },+ {+ "name": "Tips",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Hash",+ "value": "OpenTip",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Tips that are not yet completed. Keyed by the hash of `(reason, who)` from the value.",+ " This has the insecure enumerable hash function since the key itself is already",+ " guaranteed to be a secure hash."+ ]+ },+ {+ "name": "Reasons",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Hash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Simple preimage lookup from the reason's hash to the original data. Again, has an",+ " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_spend",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Put forward a suggestion for spending. A deposit proportional to the value",+ " is reserved and slashed if the proposal is rejected. It is returned once the",+ " proposal is awarded.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change, one extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "reject_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Reject a proposed spend. The original deposit will be slashed.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "approve_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",+ " and the original deposit will be returned.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "report_awesome",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Report something `reason` that deserves a tip and claim any eventual the finder's fee.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `TipReportDepositPerByte` for each byte in `reason`.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - `O(R)` where `R` length of `reason`.",+ " - One balance operation.",+ " - One storage mutation (codec `O(R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "retract_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",+ "",+ " If successful, the original deposit will be unreserved.",+ "",+ " The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",+ " must have been reported by the signing account through `report_awesome` (and not",+ " through `tip_new`).",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " Emits `TipRetracted` if successful.",+ "",+ " # <weight>",+ " - `O(T)`",+ " - One balance operation.",+ " - Two storage removals (one read, codec `O(T)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "tip_new",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "tip_value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Give a tip for something new; no finder's fee will be taken.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. `T` is",+ " naturally capped as a membership set, `R` is limited through transaction-size.",+ " - Two storage insertions (codecs `O(R)`, `O(T)`), one read `O(1)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ },+ {+ "name": "tip_value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Declare a tip value for an already-open tip.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",+ " account ID.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",+ " has started.",+ "",+ " # <weight>",+ " - `O(T)`",+ " - One storage mutation (codec `O(T)`), one storage read `O(1)`.",+ " - Up to one event.",+ " # </weight>"+ ]+ },+ {+ "name": "close_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Close and payout a tip.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " The tip identified by `hash` must have finished its countdown period.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " # <weight>",+ " - `O(T)`",+ " - One storage retrieval (codec `O(T)`) and two removals.",+ " - Up to three balance operations.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "ProposalIndex"+ ],+ "docs": [+ " New proposal."+ ]+ },+ {+ "name": "Spending",+ "args": [+ "Balance"+ ],+ "docs": [+ " We have ended a spend period and will now allocate funds."+ ]+ },+ {+ "name": "Awarded",+ "args": [+ "ProposalIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " Some funds have been allocated."+ ]+ },+ {+ "name": "Rejected",+ "args": [+ "ProposalIndex",+ "Balance"+ ],+ "docs": [+ " A proposal was rejected; funds were slashed."+ ]+ },+ {+ "name": "Burnt",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some of our funds have been burnt."+ ]+ },+ {+ "name": "Rollover",+ "args": [+ "Balance"+ ],+ "docs": [+ " Spending has finished; this is the amount that rolls over until next spend."+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds have been deposited."+ ]+ },+ {+ "name": "NewTip",+ "args": [+ "Hash"+ ],+ "docs": [+ " A new tip suggestion has been opened."+ ]+ },+ {+ "name": "TipClosing",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has reached threshold and is closing."+ ]+ },+ {+ "name": "TipClosed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been closed."+ ]+ },+ {+ "name": "TipRetracted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has been retracted."+ ]+ }+ ],+ "constants": [+ {+ "name": "ProposalBond",+ "type": "Permill",+ "value": "0x50c30000",+ "docs": [+ " Fraction of a proposal's value that should be bonded in order to place the proposal.",+ " An accepted proposal gets these back. A rejected proposal does not."+ ]+ },+ {+ "name": "ProposalBondMinimum",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Minimum amount of funds that should be placed in a deposit for making a proposal."+ ]+ },+ {+ "name": "SpendPeriod",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " Period between successive spends."+ ]+ },+ {+ "name": "Burn",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of spare funds (if any) that are burnt per spend period."+ ]+ },+ {+ "name": "TipCountdown",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The period for which a tip remains open after is has achieved threshold tippers."+ ]+ },+ {+ "name": "TipFindersFee",+ "type": "Percent",+ "value": "0x14",+ "docs": [+ " The amount of the final tip which goes to the original reporter of the tip."+ ]+ },+ {+ "name": "TipReportDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a tip report."+ ]+ },+ {+ "name": "TipReportDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within the tip report reason."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidProposalIndex",+ "docs": [+ " No proposal at that index."+ ]+ },+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "AlreadyKnown",+ "docs": [+ " The tip was already found/started."+ ]+ },+ {+ "name": "UnknownTip",+ "docs": [+ " The tip hash is unknown."+ ]+ },+ {+ "name": "NotFinder",+ "docs": [+ " The account attempting to retract the tip is not the finder of the tip."+ ]+ },+ {+ "name": "StillOpen",+ "docs": [+ " The tip cannot be claimed/closed because there are not enough tippers yet."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The tip cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ]+ },+ {+ "name": "Contracts",+ "storage": {+ "prefix": "Contract",+ "items": [+ {+ "name": "GasSpent",+ "modifier": "Default",+ "type": {+ "plain": "Gas"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Gas spent so far in this block."+ ]+ },+ {+ "name": "CurrentSchedule",+ "modifier": "Default",+ "type": {+ "plain": "Schedule"+ },+ "fallback": "0x0000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af0000000000000001000000000000000100000000000000040000000000010010000000004000000020000000",+ "docs": [+ " Current cost schedule for contracts."+ ]+ },+ {+ "name": "PristineCode",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "CodeHash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from an original code hash to the original code, untouched by instrumentation."+ ]+ },+ {+ "name": "CodeStorage",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "CodeHash",+ "value": "PrefabWasmModule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping between an original code hash and instrumented wasm code, ready for execution."+ ]+ },+ {+ "name": "AccountCounter",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The subtrie counter."+ ]+ },+ {+ "name": "ContractInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "ContractInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The code associated with a given account."+ ]+ },+ {+ "name": "GasPrice",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x01000000000000000000000000000000",+ "docs": [+ " The price of one unit of gas."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "update_schedule",+ "args": [+ {+ "name": "schedule",+ "type": "Schedule"+ }+ ],+ "docs": [+ " Updates the schedule for metering contracts.",+ "",+ " The schedule must have a greater version than the stored schedule."+ ]+ },+ {+ "name": "put_code",+ "args": [+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Stores the given binary Wasm code into the chain's storage and returns its `codehash`.",+ " You can instantiate contracts only with stored code."+ ]+ },+ {+ "name": "call",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Makes a call to an account, optionally transferring some balance.",+ "",+ " * If the account is a smart-contract account, the associated code will be",+ " executed and any value will be transferred.",+ " * If the account is a regular account, any value will be transferred.",+ " * If no account exists and the call value is not less than `existential_deposit`,",+ " a regular account will be created and any value will be transferred."+ ]+ },+ {+ "name": "instantiate",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "code_hash",+ "type": "CodeHash"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a new contract from the `codehash` generated by `put_code`, optionally transferring some balance.",+ "",+ " Instantiation is executed as follows:",+ "",+ " - The destination address is computed based on the sender and hash of the code.",+ " - The smart-contract account is created at the computed address.",+ " - The `ctor_code` is executed in the context of the newly-created account. Buffer returned",+ " after the execution is saved as the `code` of the account. That code will be invoked",+ " upon any call received by this account.",+ " - The contract is initialized."+ ]+ },+ {+ "name": "claim_surcharge",+ "args": [+ {+ "name": "dest",+ "type": "AccountId"+ },+ {+ "name": "aux_sender",+ "type": "Option<AccountId>"+ }+ ],+ "docs": [+ " Allows block producers to claim a small reward for evicting a contract. If a block producer",+ " fails to do so, a regular users will be allowed to claim the reward.",+ "",+ " If contract is not evicted as a result of this call, no actions are taken and",+ " the sender is not eligible for the reward."+ ]+ }+ ],+ "events": [+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Transfer happened `from` to `to` with given `value` as part of a `call` or `instantiate`."+ ]+ },+ {+ "name": "Instantiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract deployed by address at the specified address."+ ]+ },+ {+ "name": "CodeStored",+ "args": [+ "Hash"+ ],+ "docs": [+ " Code with the specified hash has been stored."+ ]+ },+ {+ "name": "ScheduleUpdated",+ "args": [+ "u32"+ ],+ "docs": [+ " Triggered when the current schedule is updated."+ ]+ },+ {+ "name": "Dispatched",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A call was dispatched from the given account. The bool signals whether it was",+ " successful execution or not."+ ]+ },+ {+ "name": "Contract",+ "args": [+ "AccountId",+ "Bytes"+ ],+ "docs": [+ " An event from contract of account."+ ]+ }+ ],+ "constants": [+ {+ "name": "SignedClaimHandicap",+ "type": "BlockNumber",+ "value": "0x02000000",+ "docs": [+ " Number of block delay an extrinsic claim surcharge has.",+ "",+ " When claim surcharge is called by an extrinsic the rent is checked",+ " for current_block - delay"+ ]+ },+ {+ "name": "TombstoneDeposit",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to generate a tombstone."+ ]+ },+ {+ "name": "StorageSizeOffset",+ "type": "u32",+ "value": "0x08000000",+ "docs": [+ " Size of a contract at the time of instantiaion. This is a simple way to ensure that",+ " empty contracts eventually gets deleted."+ ]+ },+ {+ "name": "RentByteFee",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Price of a byte of storage per one block interval. Should be greater than 0."+ ]+ },+ {+ "name": "RentDepositOffset",+ "type": "BalanceOf",+ "value": "0x00008a5d784563010000000000000000",+ "docs": [+ " The amount of funds a contract should deposit in order to offset",+ " the cost of one byte.",+ "",+ " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,",+ " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.",+ " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,",+ " then it would pay 500 BU/day."+ ]+ },+ {+ "name": "SurchargeReward",+ "type": "BalanceOf",+ "value": "0x0080a1a76b4a35000000000000000000",+ "docs": [+ " Reward that is received by the party whose touch has led",+ " to removal of a contract."+ ]+ },+ {+ "name": "TransferFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to make a transfer."+ ]+ },+ {+ "name": "CreationFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to create an account."+ ]+ },+ {+ "name": "TransactionBaseFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the base."+ ]+ },+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ },+ {+ "name": "ContractFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to instantiate a contract instance. A reasonable default value",+ " is 21."+ ]+ },+ {+ "name": "CallBaseFee",+ "type": "Gas",+ "value": "0xe803000000000000",+ "docs": [+ " The base fee charged for calling into a contract. A reasonable default",+ " value is 135."+ ]+ },+ {+ "name": "InstantiateBaseFee",+ "type": "Gas",+ "value": "0xe803000000000000",+ "docs": [+ " The base fee charged for instantiating a contract. A reasonable default value",+ " is 175."+ ]+ },+ {+ "name": "MaxDepth",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum nesting level of a call/instantiate stack. A reasonable default",+ " value is 100."+ ]+ },+ {+ "name": "MaxValueSize",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " The maximum size of a storage value in bytes. A reasonable default is 16 KiB."+ ]+ },+ {+ "name": "BlockGasLimit",+ "type": "Gas",+ "value": "0x8096980000000000",+ "docs": [+ " The maximum amount of gas that could be expended per block. A reasonable",+ " default value is 10_000_000."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidScheduleVersion",+ "docs": [+ " A new schedule must have a greater version than the current one."+ ]+ },+ {+ "name": "InvalidSurchargeClaim",+ "docs": [+ " An origin must be signed or inherent and auxiliary sender only provided on inherent."+ ]+ },+ {+ "name": "InvalidSourceContract",+ "docs": [+ " Cannot restore from nonexisting or tombstone contract."+ ]+ },+ {+ "name": "InvalidDestinationContract",+ "docs": [+ " Cannot restore to nonexisting or alive contract."+ ]+ },+ {+ "name": "InvalidTombstone",+ "docs": [+ " Tombstones don't match."+ ]+ },+ {+ "name": "InvalidContractOrigin",+ "docs": [+ " An origin TrieId written in the current block."+ ]+ }+ ]+ },+ {+ "name": "Sudo",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "Key",+ "modifier": "Default",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The `AccountId` of the sudo key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "sudo",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Unknown weight of derivative `proposal` execution.",+ " # </weight>"+ ]+ },+ {+ "name": "set_key",+ "args": [+ {+ "name": "new",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_as",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Signed` origin from",+ " a given account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Unknown weight of derivative `proposal` execution.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Sudid",+ "args": [+ "bool"+ ],+ "docs": [+ " A sudo just took place."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The sudoer just switched identity; the old key is supplied."+ ]+ },+ {+ "name": "SudoAsDone",+ "args": [+ "bool"+ ],+ "docs": [+ " A sudo just took place."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "RequireSudo",+ "docs": [+ " Sender must be the Sudo account"+ ]+ }+ ]+ },+ {+ "name": "ImOnline",+ "storage": {+ "prefix": "ImOnline",+ "items": [+ {+ "name": "GossipAt",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The block number when we should gossip."+ ]+ },+ {+ "name": "Keys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AuthorityId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of keys that may issue a heartbeat."+ ]+ },+ {+ "name": "ReceivedHeartbeats",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "SessionIndex",+ "key2": "AuthIndex",+ "value": "Bytes",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " For each session index, we keep a mapping of `AuthIndex`",+ " to `offchain::OpaqueNetworkState`."+ ]+ },+ {+ "name": "AuthoredBlocks",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "SessionIndex",+ "key2": "ValidatorId",+ "value": "u32",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " For each session index, we keep a mapping of `T::ValidatorId` to the",+ " number of blocks authored by the given authority."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "heartbeat",+ "args": [+ {+ "name": "heartbeat",+ "type": "Heartbeat"+ },+ {+ "name": "_signature",+ "type": "Signature"+ }+ ],+ "docs": []+ }+ ],+ "events": [+ {+ "name": "HeartbeatReceived",+ "args": [+ "AuthorityId"+ ],+ "docs": [+ " A new heartbeat was received from `AuthorityId`"+ ]+ },+ {+ "name": "AllGood",+ "args": [],+ "docs": [+ " At the end of the session, no offence was committed."+ ]+ },+ {+ "name": "SomeOffline",+ "args": [+ "Vec<IdentificationTuple>"+ ],+ "docs": [+ " At the end of the session, at least once validator was found to be offline."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidKey",+ "docs": [+ " Non existent public key."+ ]+ },+ {+ "name": "DuplicatedHeartbeat",+ "docs": [+ " Duplicated heartbeat."+ ]+ }+ ]+ },+ {+ "name": "AuthorityDiscovery",+ "storage": null,+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Offences",+ "storage": {+ "prefix": "Offences",+ "items": [+ {+ "name": "Reports",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReportIdOf",+ "value": "OffenceDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The primary structure that holds all offence records keyed by report identifiers."+ ]+ },+ {+ "name": "ConcurrentReportsIndex",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "Kind",+ "key2": "OpaqueTimeSlot",+ "value": "Vec<ReportIdOf>",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " A vector of reports of the same kind that happened at the same time slot."+ ]+ },+ {+ "name": "ReportsByKindIndex",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Kind",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Enumerates all reports of a kind along with the time they happened.",+ "",+ " All reports are sorted by the time of offence.",+ "",+ " Note that the actual type of this mapping is `Vec<u8>`, this is because values of",+ " different types are not supported at the moment so we are doing the manual serialization."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "Offence",+ "args": [+ "Kind",+ "OpaqueTimeSlot"+ ],+ "docs": [+ " There is an offence reported of the given `kind` happened at the `session_index` and",+ " (kind-specific) time slot. This event is not deposited for duplicate slashes."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "RandomnessCollectiveFlip",+ "storage": {+ "prefix": "RandomnessCollectiveFlip",+ "items": [+ {+ "name": "RandomMaterial",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " Series of block headers from the last 81 blocks that acts as random seed material. This",+ " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",+ " the oldest hash."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Identity",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "IdentityOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Registration",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information that is pertinent to identify the entity behind an account."+ ]+ },+ {+ "name": "SuperOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(AccountId,Data)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The super-identity of an alternative \"sub\" identity together with its name, within that",+ " context. If the account is not some other account's sub-identity, then just `None`."+ ]+ },+ {+ "name": "SubsOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " Alternative \"sub\" identities of this account.",+ "",+ " The first item is the deposit, the second is a vector of the accounts."+ ]+ },+ {+ "name": "Registrars",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Option<RegistrarInfo>>"+ },+ "fallback": "0x00",+ "docs": [+ " The set of registrars. Not expected to get very big as can only be added through a",+ " special origin (likely a council motion).",+ "",+ " The index into this can be cast to `RegistrarIndex` to get a valid value."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_registrar",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a registrar to the system.",+ "",+ " The dispatch origin for this call must be `RegistrarOrigin` or `Root`.",+ "",+ " - `account`: the account of the registrar.",+ "",+ " Emits `RegistrarAdded` if successful.",+ "",+ " # <weight>",+ " - `O(R)` where `R` registrar-count (governance-bounded).",+ " - One storage mutation (codec `O(R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_identity",+ "args": [+ {+ "name": "info",+ "type": "IdentityInfo"+ }+ ],+ "docs": [+ " Set an account's identity information and reserve the appropriate deposit.",+ "",+ " If the account already has identity information, the deposit is taken as part payment",+ " for the new deposit.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " - `info`: The identity information.",+ "",+ " Emits `IdentitySet` if successful.",+ "",+ " # <weight>",+ " - `O(X + R)` where `X` additional-field-count (deposit-bounded).",+ " - At most two balance operations.",+ " - One storage mutation (codec `O(X + R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_subs",+ "args": [+ {+ "name": "subs",+ "type": "Vec<(AccountId,Data)>"+ }+ ],+ "docs": [+ " Set the sub-accounts of the sender.",+ "",+ " Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned",+ " and an amount `SubAccountDeposit` will be reserved for each item in `subs`.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " - `subs`: The identity's sub-accounts.",+ "",+ " # <weight>",+ " - `O(S)` where `S` subs-count (hard- and deposit-bounded).",+ " - At most two balance operations.",+ " - At most O(2 * S + 1) storage mutations; codec complexity `O(1 * S + S * 1)`);",+ " one storage-exists.",+ " # </weight>"+ ]+ },+ {+ "name": "clear_identity",+ "args": [],+ "docs": [+ " Clear an account's identity info and all sub-account and return all deposits.",+ "",+ " Payment: All reserved balances on the account are returned.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " Emits `IdentityCleared` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`.",+ " - One balance-reserve operation.",+ " - `S + 2` storage deletions.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "request_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "max_fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Request a judgement from a registrar.",+ "",+ " Payment: At most `max_fee` will be reserved for payment to the registrar if judgement",+ " given.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is requested.",+ " - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:",+ "",+ " ```nocompile",+ " Self::registrars(reg_index).uwnrap().fee",+ " ```",+ "",+ " Emits `JudgementRequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_request",+ "args": [+ {+ "name": "reg_index",+ "type": "RegistrarIndex"+ }+ ],+ "docs": [+ " Cancel a previous request.",+ "",+ " Payment: A previously reserved deposit is returned on success.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is no longer requested.",+ "",+ " Emits `JudgementUnrequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - One storage mutation `O(R + X)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_fee",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Set the fee required for a judgement to be requested from a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fee`: the new fee.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " # </weight>"+ ]+ },+ {+ "name": "set_account_id",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Change the account associated with a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `new`: the new account ID.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " # </weight>"+ ]+ },+ {+ "name": "set_fields",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fields",+ "type": "IdentityFields"+ }+ ],+ "docs": [+ " Set the field information for a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fields`: the fields that the registrar concerns themselves with.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " # </weight>"+ ]+ },+ {+ "name": "provide_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "judgement",+ "type": "IdentityJudgement"+ }+ ],+ "docs": [+ " Provide a judgement for an account's identity.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `reg_index`.",+ "",+ " - `reg_index`: the index of the registrar whose judgement is being made.",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ " - `judgement`: the judgement of the registrar of index `reg_index` about `target`.",+ "",+ " Emits `JudgementGiven` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-transfer operation.",+ " - Up to one account-lookup operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "kill_identity",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove an account's identity and sub-account information and slash the deposits.",+ "",+ " Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by",+ " `Slash`. Verification request deposits are not returned; they should be cancelled",+ " manually using `cancel_request`.",+ "",+ " The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`.",+ "",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ "",+ " Emits `IdentityKilled` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`.",+ " - One balance-reserve operation.",+ " - `S + 2` storage mutations.",+ " - One event.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "IdentitySet",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was set or reset (which will remove all judgements)."+ ]+ },+ {+ "name": "IdentityCleared",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was cleared, and the given balance returned."+ ]+ },+ {+ "name": "IdentityKilled",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was removed and the given balance slashed."+ ]+ },+ {+ "name": "JudgementRequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was asked from a registrar."+ ]+ },+ {+ "name": "JudgementUnrequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement request was retracted."+ ]+ },+ {+ "name": "JudgementGiven",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was given by a registrar."+ ]+ },+ {+ "name": "RegistrarAdded",+ "args": [+ "RegistrarIndex"+ ],+ "docs": [+ " A registrar was added."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "TooManySubAccounts",+ "docs": [+ " Too many subs-accounts."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Account isn't found."+ ]+ },+ {+ "name": "NotNamed",+ "docs": [+ " Account isn't named."+ ]+ },+ {+ "name": "EmptyIndex",+ "docs": [+ " Empty index."+ ]+ },+ {+ "name": "FeeChanged",+ "docs": [+ " Fee is changed."+ ]+ },+ {+ "name": "NoIdentity",+ "docs": [+ " No identity found."+ ]+ },+ {+ "name": "StickyJudgement",+ "docs": [+ " Sticky judgement."+ ]+ },+ {+ "name": "JudgementGiven",+ "docs": [+ " Judgement given."+ ]+ },+ {+ "name": "InvalidJudgement",+ "docs": [+ " Invalid judgement."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " The index is invalid."+ ]+ },+ {+ "name": "InvalidTarget",+ "docs": [+ " The target is invalid."+ ]+ }+ ]+ },+ {+ "name": "Society",+ "storage": {+ "prefix": "Society",+ "items": [+ {+ "name": "Founder",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The first member."+ ]+ },+ {+ "name": "Rules",+ "modifier": "Optional",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x00",+ "docs": [+ " A hash of the rules of this society concerning membership. Can only be set once and",+ " only by the founder."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of candidates; bidders that are attempting to become members."+ ]+ },+ {+ "name": "SuspendedCandidates",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(BalanceOf,BidKind)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended candidates."+ ]+ },+ {+ "name": "Pot",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Amount of our account balance that is specifically for the next round's bid(s)."+ ]+ },+ {+ "name": "Head",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The most primary from the most recently approved members."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of members, ordered."+ ]+ },+ {+ "name": "SuspendedMembers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended members."+ ]+ },+ {+ "name": "Bids",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current bids, stored ordered by the value of the bid."+ ]+ },+ {+ "name": "Vouching",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "VouchingStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Members currently vouching or banned from vouching again"+ ]+ },+ {+ "name": "Payouts",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Vec<(BlockNumber,BalanceOf)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Pending payouts; ordered by block number, with the amount that should be paid out."+ ]+ },+ {+ "name": "Strikes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "StrikeCount",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " The ongoing number of losing votes cast by the member."+ ]+ },+ {+ "name": "Votes",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "SocietyVote",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Double map from Candidate -> Voter -> (Maybe) Vote."+ ]+ },+ {+ "name": "Defender",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The defending member currently being challenged."+ ]+ },+ {+ "name": "DefenderVotes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SocietyVote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes for the defender."+ ]+ },+ {+ "name": "MaxMembers",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The max number of members for the society at one time."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bid",+ "args": [+ {+ "name": "value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " A user outside of the society can make a bid for entry.",+ "",+ " Payment: `CandidateDeposit` will be reserved for making a bid. It is returned",+ " when the bid becomes a member, or if the bid calls `unbid`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `value`: A one time payment the bid would like to receive when joining the society.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)",+ " - Storage Reads:",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " \t- One storage read to retrieve all members. O(M)",+ " - Storage Writes:",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for new bid.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unbid",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " A bidder can remove their bid for entry into society.",+ " By doing so, they will have their candidate deposit returned or",+ " they will unvouch their voucher.",+ "",+ " Payment: The bid deposit is unreserved if the user made a bid.",+ "",+ " The dispatch origin for this call must be _Signed_ and a bidder.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who wants to unbid.",+ "",+ " # <weight>",+ " Key: B (len of bids), X (balance unreserve)",+ " - One storage read and write to retrieve and update the bids. O(B)",+ " - Either one unreserve balance action O(X) or one vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "value",+ "type": "BalanceOf"+ },+ {+ "name": "tip",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " As a member, vouch for someone to join society by placing a bid on their behalf.",+ "",+ " There is no deposit required to vouch for a new bid, but a member can only vouch for",+ " one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by",+ " the suspension judgement origin, the member will be banned from vouching again.",+ "",+ " As a vouching member, you can claim a tip if the candidate is accepted. This tip will",+ " be paid as a portion of the reward the member will receive for joining the society.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `who`: The user who you would like to vouch for.",+ " - `value`: The total reward to be paid between you and the candidate if they become",+ " a member in the society.",+ " - `tip`: Your cut of the total `value` payout when the candidate is inducted into",+ " the society. Tips larger than `value` will be saturated upon payout.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members)",+ " - Storage Reads:",+ " \t- One storage read to retrieve all members. O(M)",+ " \t- One storage read to check member is not already vouching. O(1)",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " - Storage Writes:",+ " \t- One storage write to insert vouching status to the member. O(1)",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(log M) search to check sender is a member.",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for vouch.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unvouch",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " As a vouching member, unvouch a bid. This only works while vouched user is",+ " only a bidder (and not a candidate).",+ "",+ " The dispatch origin for this call must be _Signed_ and a vouching member.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who should be unvouched.",+ "",+ " # <weight>",+ " Key: B (len of bids)",+ " - One storage read O(1) to check the signer is a vouching member.",+ " - One storage mutate to retrieve and update the bids. O(B)",+ " - One vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B)",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "candidate",+ "type": "LookupSource"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on a candidate.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `candidate`: The candidate that the member would like to bid on.",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " Key: C (len of candidates), M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One account lookup.",+ " - One storage read O(C) and O(C) search to check that user is a candidate.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM + C)",+ " # </weight>"+ ]+ },+ {+ "name": "defender_vote",+ "args": [+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on the defender.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " - Key: M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM)",+ " # </weight>"+ ]+ },+ {+ "name": "payout",+ "args": [],+ "docs": [+ " Transfer the first matured payout for the sender and remove it from the records.",+ "",+ " NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.",+ "",+ " Payment: The member will receive a payment equal to their first matured",+ " payout to their free balance.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member with",+ " payouts remaining.",+ "",+ " # <weight>",+ " Key: M (len of members), P (number of payouts for a particular member)",+ " - One storage read O(M) and O(log M) search to check signer is a member.",+ " - One storage read O(P) to get all payouts for a member.",+ " - One storage read O(1) to get the current block number.",+ " - One currency transfer call. O(X)",+ " - One storage write or removal to update the member's payouts. O(P)",+ "",+ " Total Complexity: O(M + logM + P + X)",+ " # </weight>"+ ]+ },+ {+ "name": "found",+ "args": [+ {+ "name": "founder",+ "type": "AccountId"+ },+ {+ "name": "max_members",+ "type": "u32"+ },+ {+ "name": "rules",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Found the society.",+ "",+ " This is done as a discrete action in order to allow for the",+ " module to be included into a running chain and can only be done once.",+ "",+ " The dispatch origin for this call must be from the _FounderSetOrigin_.",+ "",+ " Parameters:",+ " - `founder` - The first member and head of the newly founded society.",+ " - `max_members` - The initial max number of members for the society.",+ " - `rules` - The rules of this society concerning membership.",+ "",+ " # <weight>",+ " - Two storage mutates to set `Head` and `Founder`. O(1)",+ " - One storage write to add the first member to society. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "unfound",+ "args": [],+ "docs": [+ " Anull the founding of the society.",+ "",+ " The dispatch origin for this call must be Signed, and the signing account must be both",+ " the `Founder` and the `Head`. This implies that it may only be done when there is one",+ " member.",+ "",+ " # <weight>",+ " - Two storage reads O(1).",+ " - Four storage removals O(1).",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "forgive",+ "type": "bool"+ }+ ],+ "docs": [+ " Allow suspension judgement origin to make judgement on a suspended member.",+ "",+ " If a suspended member is forgiven, we simply add them back as a member, not affecting",+ " any of the existing storage items for that member.",+ "",+ " If a suspended member is rejected, remove all associated storage items, including",+ " their payouts, and remove any vouched bids they currently have.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended member to be judged.",+ " - `forgive` - A boolean representing whether the suspension judgement origin",+ " forgives (`true`) or rejects (`false`) a suspended member.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members)",+ " - One storage read to check `who` is a suspended member. O(1)",+ " - Up to one storage write O(M) with O(log M) binary search to add a member back to society.",+ " - Up to 3 storage removals O(1) to clean up a removed member.",+ " - Up to one storage write O(B) with O(B) search to remove vouched bid from bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal. O(1)",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_candidate",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "judgement",+ "type": "SocietyJudgement"+ }+ ],+ "docs": [+ " Allow suspended judgement origin to make judgement on a suspended candidate.",+ "",+ " If the judgement is `Approve`, we add them to society as a member with the appropriate",+ " payment for joining society.",+ "",+ " If the judgement is `Reject`, we either slash the deposit of the bid, giving it back",+ " to the society treasury, or we ban the voucher from vouching again.",+ "",+ " If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go",+ " through the induction process again.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended candidate to be judged.",+ " - `judgement` - `Approve`, `Reject`, or `Rebid`.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members), X (balance action)",+ " - One storage read to check `who` is a suspended candidate.",+ " - One storage removal of the suspended candidate.",+ " - Approve Logic",+ " \t- One storage read to get the available pot to pay users with. O(1)",+ " \t- One storage write to update the available pot. O(1)",+ " \t- One storage read to get the current block number. O(1)",+ " \t- One storage read to get all members. O(M)",+ " \t- Up to one unreserve currency action.",+ " \t- Up to two new storage writes to payouts.",+ " \t- Up to one storage write with O(log M) binary search to add a member to society.",+ " - Reject Logic",+ " \t- Up to one repatriate reserved currency action. O(X)",+ " \t- Up to one storage write to ban the vouching member from vouching again.",+ " - Rebid Logic",+ " \t- Storage mutate with O(log B) binary search to place the user back into bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal.",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "set_max_members",+ "args": [+ {+ "name": "max",+ "type": "u32"+ }+ ],+ "docs": [+ " Allows root origin to change the maximum number of members in society.",+ " Max membership count must be greater than 1.",+ "",+ " The dispatch origin for this call must be from _ROOT_.",+ "",+ " Parameters:",+ " - `max` - The maximum number of members for the society.",+ "",+ " # <weight>",+ " - One storage write to update the max. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Founded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The society is founded by the given identity."+ ]+ },+ {+ "name": "Bid",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A membership bid just happened. The given account is the candidate's ID and their offer",+ " is the second."+ ]+ },+ {+ "name": "Vouch",+ "args": [+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A membership bid just happened by vouching. The given account is the candidate's ID and",+ " their offer is the second. The vouching party is the third."+ ]+ },+ {+ "name": "AutoUnbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A candidate was dropped (due to an excess of bids in the system)."+ ]+ },+ {+ "name": "Unbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A candidate was dropped (by their request)."+ ]+ },+ {+ "name": "Unvouch",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A candidate was dropped (by request of who vouched for them)."+ ]+ },+ {+ "name": "Inducted",+ "args": [+ "AccountId",+ "Vec<AccountId>"+ ],+ "docs": [+ " A group of candidates have been inducted. The batch's primary is the first value, the",+ " batch in full is the second."+ ]+ },+ {+ "name": "SuspendedMemberJudgement",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A suspended member has been judged"+ ]+ },+ {+ "name": "CandidateSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A candidate has been suspended"+ ]+ },+ {+ "name": "MemberSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has been suspended"+ ]+ },+ {+ "name": "Challenged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has been challenged"+ ]+ },+ {+ "name": "Vote",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed (candidate, voter, vote)"+ ]+ },+ {+ "name": "DefenderVote",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed for a defending member (voter, vote)"+ ]+ },+ {+ "name": "NewMaxMembers",+ "args": [+ "u32"+ ],+ "docs": [+ " A new max member count has been set"+ ]+ },+ {+ "name": "Unfounded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Society is unfounded."+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidateDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The minimum amount of a deposit required for a bid to be made."+ ]+ },+ {+ "name": "WrongSideDeduction",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount of the unpaid reward that gets deducted in the case that either a skeptic",+ " doesn't vote or someone votes in the wrong way."+ ]+ },+ {+ "name": "MaxStrikes",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)",+ " before they become suspended."+ ]+ },+ {+ "name": "PeriodSpend",+ "type": "BalanceOf",+ "value": "0x0000c52ebca2b1000000000000000000",+ "docs": [+ " The amount of incentive paid within each period. Doesn't include VoterTip."+ ]+ },+ {+ "name": "RotationPeriod",+ "type": "BlockNumber",+ "value": "0x00770100",+ "docs": [+ " The number of blocks between candidate/membership rotation periods."+ ]+ },+ {+ "name": "ChallengePeriod",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " The number of blocks between membership challenges."+ ]+ }+ ],+ "errors": [+ {+ "name": "BadPosition",+ "docs": [+ " An incorrect position was provided."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " User is not a member."+ ]+ },+ {+ "name": "AlreadyMember",+ "docs": [+ " User is already a member."+ ]+ },+ {+ "name": "Suspended",+ "docs": [+ " User is suspended."+ ]+ },+ {+ "name": "NotSuspended",+ "docs": [+ " User is not suspended."+ ]+ },+ {+ "name": "NoPayout",+ "docs": [+ " Nothing to payout."+ ]+ },+ {+ "name": "AlreadyFounded",+ "docs": [+ " Society already founded."+ ]+ },+ {+ "name": "InsufficientPot",+ "docs": [+ " Not enough in pot to accept candidate."+ ]+ },+ {+ "name": "AlreadyVouching",+ "docs": [+ " Member is already vouching or banned from vouching again."+ ]+ },+ {+ "name": "NotVouching",+ "docs": [+ " Member is not vouching."+ ]+ },+ {+ "name": "Head",+ "docs": [+ " Cannot remove the head of the chain."+ ]+ },+ {+ "name": "Founder",+ "docs": [+ " Cannot remove the founder."+ ]+ },+ {+ "name": "AlreadyBid",+ "docs": [+ " User has already made a bid."+ ]+ },+ {+ "name": "AlreadyCandidate",+ "docs": [+ " User is already a candidate."+ ]+ },+ {+ "name": "NotCandidate",+ "docs": [+ " User is not a candidate."+ ]+ },+ {+ "name": "MaxMembers",+ "docs": [+ " Too many members in the society."+ ]+ },+ {+ "name": "NotFounder",+ "docs": [+ " The caller is not the founder."+ ]+ },+ {+ "name": "NotHead",+ "docs": [+ " The caller is not the head."+ ]+ }+ ]+ },+ {+ "name": "Recovery",+ "storage": {+ "prefix": "Recovery",+ "items": [+ {+ "name": "Recoverable",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "RecoveryConfig",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of recoverable accounts and their recovery configuration."+ ]+ },+ {+ "name": "ActiveRecoveries",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "ActiveRecovery",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Active recovery attempts.",+ "",+ " First account is the account to be recovered, and the second account",+ " is the user trying to recover the account."+ ]+ },+ {+ "name": "Recovered",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The final list of recovered accounts.",+ "",+ " Map from the recovered account to the user who can access it."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "as_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through a recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you want to make a call on-behalf-of.",+ " - `call`: The call you want to make with the recovered account.",+ "",+ " # <weight>",+ " - The weight of the `call`.",+ " - One storage lookup to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "set_recovered",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow ROOT to bypass the recovery process and set an a rescuer account",+ " for a lost account directly.",+ "",+ " The dispatch origin for this call must be _ROOT_.",+ "",+ " Parameters:",+ " - `lost`: The \"lost account\" to be recovered.",+ " - `rescuer`: The \"rescuer account\" which can call as the lost account.",+ "",+ " # <weight>",+ " - One storage write O(1)",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "create_recovery",+ "args": [+ {+ "name": "friends",+ "type": "Vec<AccountId>"+ },+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "delay_period",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Create a recovery configuration for your account. This makes your account recoverable.",+ "",+ " Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance",+ " will be reserved for storing the recovery configuration. This deposit is returned",+ " in full when the user calls `remove_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `friends`: A list of friends you trust to vouch for recovery attempts.",+ " Should be ordered and contain no duplicate values.",+ " - `threshold`: The number of friends that must vouch for a recovery attempt",+ " before the account can be recovered. Should be less than or equal to",+ " the length of the list of friends.",+ " - `delay_period`: The number of blocks after a recovery attempt is initialized",+ " that needs to pass before the account can be recovered.",+ "",+ " # <weight>",+ " - Key: F (len of friends)",+ " - One storage read to check that account is not already recoverable. O(1).",+ " - A check that the friends list is sorted and unique. O(F)",+ " - One currency reserve operation. O(X)",+ " - One storage write. O(1). Codec O(F).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "initiate_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Initiate the process for recovering a recoverable account.",+ "",+ " Payment: `RecoveryDeposit` balance will be reserved for initiating the",+ " recovery process. This deposit will always be repatriated to the account",+ " trying to be recovered. See `close_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to recover. This account",+ " needs to be recoverable (i.e. have a recovery configuration).",+ "",+ " # <weight>",+ " - One storage read to check that account is recoverable. O(F)",+ " - One storage read to check that this recovery process hasn't already started. O(1)",+ " - One currency reserve operation. O(X)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch_recovery",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a \"friend\" of a recoverable account to vouch for an active recovery",+ " process for that account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"friend\"",+ " for the recoverable account.",+ "",+ " Parameters:",+ " - `lost`: The lost account that you want to recover.",+ " - `rescuer`: The account trying to rescue the lost account that you",+ " want to vouch for.",+ "",+ " The combination of these two parameters must point to an active recovery",+ " process.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One binary search to confirm caller is a friend. O(logF)",+ " - One binary search to confirm caller has not already vouched. O(logV)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + logF + V + logV)",+ " # </weight>"+ ]+ },+ {+ "name": "claim_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a successful rescuer to claim their recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"",+ " who has successfully completed the account recovery process: collected",+ " `threshold` or more vouches, waited `delay_period` blocks since initiation.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to claim has been successfully",+ " recovered by you.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + V)",+ " # </weight>"+ ]+ },+ {+ "name": "close_recovery",+ "args": [+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " As the controller of a recoverable account, close an active recovery",+ " process for your account.",+ "",+ " Payment: By calling this function, the recoverable account will receive",+ " the recovery deposit `RecoveryDeposit` placed by the rescuer.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account with an active recovery process for it.",+ "",+ " Parameters:",+ " - `rescuer`: The account trying to rescue this recoverable account.",+ "",+ " # <weight>",+ " Key: V (len of vouching friends)",+ " - One storage read/remove to get the active recovery process. O(1), Codec O(V)",+ " - One balance call to repatriate reserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(V + X)",+ " # </weight>"+ ]+ },+ {+ "name": "remove_recovery",+ "args": [],+ "docs": [+ " Remove the recovery process for your account.",+ "",+ " NOTE: The user must make sure to call `close_recovery` on all active",+ " recovery attempts before calling this function else it will fail.",+ "",+ " Payment: By calling this function the recoverable account will unreserve",+ " their recovery configuration deposit.",+ " (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account (i.e. has a recovery configuration).",+ "",+ " # <weight>",+ " Key: F (len of friends)",+ " - One storage read to get the prefix iterator for active recoveries. O(1)",+ " - One storage read/remove to get the recovery configuration. O(1), Codec O(F)",+ " - One balance call to unreserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "RecoveryCreated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been set up for an account"+ ]+ },+ {+ "name": "RecoveryInitiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process has been initiated for account_1 by account_2"+ ]+ },+ {+ "name": "RecoveryVouched",+ "args": [+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for account_1 by account_2 has been vouched for by account_3"+ ]+ },+ {+ "name": "RecoveryClosed",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for account_1 by account_2 has been closed"+ ]+ },+ {+ "name": "AccountRecovered",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Account_1 has been successfully recovered by account_2"+ ]+ },+ {+ "name": "RecoveryRemoved",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been removed for an account"+ ]+ }+ ],+ "constants": [],+ "errors": []+ }+ ]+ }+ }+}
+ tests/meta/v11.hex view
@@ -0,0 +1,1 @@+0x6d6574610b801853797374656d011853797374656d3c1c4163636f756e7401010230543a3a4163636f756e744964944163636f756e74496e666f3c543a3a496e6465782c20543a3a4163636f756e74446174613e00150100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010064776569676874733a3a45787472696e7369637357656967687440000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01282866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e1c6c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002c2023203c7765696768743e24202d20604f28312960e0202d2042617365205765696768743a20302e36363520c2b5732c20696e646570656e64656e74206f662072656d61726b206c656e6774682e50202d204e6f204442206f7065726174696f6e732e302023203c2f7765696768743e387365745f686561705f7061676573041470616765730c75363420fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e002c2023203c7765696768743e24202d20604f283129604c202d20312073746f726167652077726974652e64202d2042617365205765696768743a20312e34303520c2b57360202d203120777269746520746f20484541505f5041474553302023203c2f7765696768743e207365745f636f64650410636f64651c5665633c75383e28682053657420746865206e65772072756e74696d6520636f64652e002c2023203c7765696768743e3501202d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e7901202d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e6020776869636820697320657870656e73697665292e2c202d2031206576656e742e7d012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c792074686973206973207665727920657870656e736976652e902057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e201d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002c2023203c7765696768743e90202d20604f2843296020776865726520604360206c656e677468206f662060636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e2c202d2031206576656e742e75012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e28a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e002c2023203c7765696768743e24202d20604f28312960b0202d20312073746f72616765207772697465206f722064656c6574652028636f64656320604f28312960292ed8202d20312063616c6c20746f20606465706f7369745f6c6f67603a20557365732060617070656e6460204150492c20736f204f28312964202d2042617365205765696768743a20372e32313820c2b57334202d204442205765696768743aa820202020202d205772697465733a204368616e67657320547269652c2053797374656d20446967657374302023203c2f7765696768743e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e206c2053657420736f6d65206974656d73206f662073746f726167652e002c2023203c7765696768743e94202d20604f2849296020776865726520604960206c656e677468206f6620606974656d73607c202d206049602073746f72616765207772697465732028604f28312960292e74202d2042617365205765696768743a20302e353638202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e306b696c6c5f73746f7261676504106b657973205665633c4b65793e2078204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e002c2023203c7765696768743efc202d20604f28494b296020776865726520604960206c656e677468206f6620606b6579736020616e6420604b60206c656e677468206f66206f6e65206b657964202d206049602073746f726167652064656c6574696f6e732e70202d2042617365205765696768743a202e333738202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e2c6b696c6c5f70726566697808187072656669780c4b6579205f7375626b6579730c7533322c1501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e003d01202a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657241012074686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e002c2023203c7765696768743edc202d20604f285029602077686572652060506020616d6f756e74206f66206b65797320776974682070726566697820607072656669786064202d206050602073746f726167652064656c6574696f6e732e74202d2042617365205765696768743a20302e383334202a205020c2b57380202d205772697465733a204e756d626572206f66207375626b657973202b2031302023203c2f7765696768743e1c7375696369646500286501204b696c6c207468652073656e64696e67206163636f756e742c20617373756d696e6720746865726520617265206e6f207265666572656e636573206f75747374616e64696e6720616e642074686520636f6d706f7369746590206461746120697320657175616c20746f206974732064656661756c742076616c75652e002c2023203c7765696768743e24202d20604f283129607c202d20312073746f72616765207265616420616e642064656c6574696f6e2e54202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a20382e36323620c2b5731101204e6f2044422052656164206f72205772697465206f7065726174696f6e7320626563617573652063616c6c657220697320616c726561647920696e206f7665726c6179302023203c2f7765696768743e01144045787472696e7369635375636365737304304469737061746368496e666f04b020416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e205b696e666f5d3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f048c20416e2065787472696e736963206661696c65642e205b6572726f722c20696e666f5d2c436f64655570646174656400045420603a636f6465602077617320757064617465642e284e65774163636f756e7404244163636f756e74496404742041206e6577205b6163636f756e745d2077617320637265617465642e344b696c6c65644163636f756e7404244163636f756e744964046420416e205b6163636f756e745d20776173207265617065642e1838426c6f636b48617368436f756e7438543a3a426c6f636b4e756d626572106009000004d820546865206d6178696d756d206e756d626572206f6620626c6f636b7320746f20616c6c6f7720696e206d6f7274616c20657261732e484d6178696d756d426c6f636b576569676874185765696768742000204aa9d1010000047c20546865206d6178696d756d20776569676874206f66206120626c6f636b2e2044625765696768743c52756e74696d6544625765696768744040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e50426c6f636b457865637574696f6e576569676874185765696768742000f2052a0100000004510120546865206261736520776569676874206f6620657865637574696e67206120626c6f636b2c20696e646570656e64656e74206f6620746865207472616e73616374696f6e7320696e2074686520626c6f636b2e4c45787472696e736963426173655765696768741857656967687420405973070000000004790120546865206261736520776569676874206f6620616e2045787472696e73696320696e2074686520626c6f636b2c20696e646570656e64656e74206f6620746865206f662065787472696e736963206265696e672065786563757465642e484d6178696d756d426c6f636b4c656e6774680c753332100000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f7369746504010120537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e740439012054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e1c5574696c697479000108146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e50802053656e642061206261746368206f662064697370617463682063616c6c732e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c820627970617373696e6720606672616d655f73797374656d3a3a54726169743a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e90202d2042617365207765696768743a2031342e3339202b202e393837202a206320c2b573b8202d20506c7573207468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602ec4202d20506c7573206f6e65206164646974696f6e616c206576656e742e202872657065617420726561642f777269746529302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e3461735f646572697661746976650814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e34e02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e0059012046696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368c020757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e004901204e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e6501206265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e745501207468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31608020696e20746865204d756c74697369672070616c6c657420696e73746561642e00f8204e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0108404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c206173882077656c6c20617320746865206572726f722e205b696e6465782c206572726f725d384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e000010426162650110426162652c2845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e3c4e65787445706f6368436f6e6669670000504e657874436f6e66696744657363726970746f7204000498204e6578742065706f636820636f6e66696775726174696f6e2c206966206368616e6765642e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c7533326c5665633c7363686e6f72726b656c3a3a52616e646f6d6e6573733e0004000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a656400003c4d6179626552616e646f6d6e65737304000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e204c6174656e657373010038543a3a426c6f636b4e756d626572100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e01084c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66200d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e00083445706f63684475726174696f6e0c75363420c800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420b80b00000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e002454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e3c5820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002c2023203c7765696768743ed0202d20604f285429602077686572652060546020636f6d706c6578697479206f6620606f6e5f74696d657374616d705f73657460a101202d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e20606f6e5f66696e616c697a656029b4202d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f7365746020604f285429602e302023203c2f7765696768743e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420dc0500000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e0028417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e1c496e6469636573011c496e646963657304204163636f756e74730001023c543a3a4163636f756e74496e6465788828543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20626f6f6c29000400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e011414636c61696d0414696e6465783c543a3a4163636f756e74496e6465784c9c2041737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00e0205061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f4202d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2032382e363920c2b57394202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e207472616e73666572080c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e6465785461012041737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6ebc206973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002901202d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e68202d204f6e65207472616e73666572206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2033332e373420c2b57334202d204442205765696768743ae4202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e8202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429302023203c2f7765696768743e10667265650414696e6465783c543a3a4163636f756e74496e6465784c98204672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e006101205061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e001101202d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e008820456d6974732060496e646578467265656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2032352e353320c2b57394202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e38666f7263655f7472616e736665720c0c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e64657818667265657a6510626f6f6c58590120466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479ec2068656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a8202d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e4501202d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e7c202d20557020746f206f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2032362e383320c2b57334202d204442205765696768743af8202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229fc202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229302023203c2f7765696768743e18667265657a650414696e6465783c543a3a4163636f756e74496e64657848690120467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742068617665206170206e6f6e2d66726f7a656e206163636f756e742060696e646578602e00b0202d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e008c20456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e74202d20557020746f206f6e6520736c617368206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2033302e383620c2b57394202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e010c34496e64657841737369676e656408244163636f756e744964304163636f756e74496e64657804ac2041206163636f756e7420696e646578207761732061737369676e65642e205b77686f2c20696e6465785d28496e646578467265656404304163636f756e74496e64657804e02041206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e205b696e6465785d2c496e64657846726f7a656e08304163636f756e74496e646578244163636f756e7449640421012041206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e205b77686f2c20696e6465785d041c4465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e002042616c616e636573012042616c616e6365731034546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c4163636f756e7401010230543a3a4163636f756e7449645c4163636f756e74446174613c543a3a42616c616e63653e000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6c205468652062616c616e6365206f6620616e206163636f756e742e004101204e4f54453a2054686973206973206f6e6c79207573656420696e20746865206361736520746861742074686973206d6f64756c65206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010230543a3a4163636f756e744964705665633c42616c616e63654c6f636b3c543a3a42616c616e63653e3e00040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076322e302e3020666f72206e6577206e6574776f726b732e0110207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e6cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e61012020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e88202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d4501202d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429dc202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374696e6174696f6e206163636f756e741501202d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e489420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742c01012069742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e58202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3c202d2042617365205765696768743a6820202020202d204372656174696e673a2032372e353620c2b5736420202020202d204b696c6c696e673a2033352e313120c2b57398202d204442205765696768743a203120526561642c203120577269746520746f206077686f60302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e2c2023203c7765696768743e4101202d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973902020206e6f7420617373756d656420746f20626520696e20746865206f7665726c61792e302023203c2f7765696768743e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e2c51012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e4d6f64756c652e68746d6c236d6574686f642e7472616e736665722c2023203c7765696768743ee8202d2043686561706572207468616e207472616e736665722062656361757365206163636f756e742063616e6e6f74206265206b696c6c65642e60202d2042617365205765696768743a2035312e3420c2b5731d01202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374202873656e64657220697320696e206f7665726c617920616c7265616479292c20233c2f7765696768743e01201c456e646f77656408244163636f756e7449641c42616c616e6365041d0120416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e205b6163636f756e742c20667265655f62616c616e63655d20447573744c6f737408244163636f756e7449641c42616c616e636508410120416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742cc820726573756c74696e6720696e20616e206f75747269676874206c6f73732e205b6163636f756e742c2062616c616e63655d205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e63650498205472616e73666572207375636365656465642e205b66726f6d2c20746f2c2076616c75655d2842616c616e63655365740c244163636f756e7449641c42616c616e63651c42616c616e636504c420412062616c616e6365207761732073657420627920726f6f742e205b77686f2c20667265652c2072657365727665645d1c4465706f73697408244163636f756e7449641c42616c616e636504190120536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e205b77686f2c206465706f7369745d20526573657276656408244163636f756e7449641c42616c616e636504190120536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e205b77686f2c2076616c75655d28556e726573657276656408244163636f756e7449641c42616c616e636504210120536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e205b77686f2c2076616c75655d4852657365727665526570617472696174656410244163636f756e744964244163636f756e7449641c42616c616e6365185374617475730c510120536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742edc2046696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652ea0205b66726f6d2c20746f2c2062616c616e63652c2064657374696e6174696f6e5f7374617475735d04484578697374656e7469616c4465706f73697428543a3a42616c616e63654000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e203856657374696e6742616c616e6365049c2056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e7304c8204163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c204f766572666c6f77047420476f7420616e206f766572666c6f7720616674657220616464696e674c496e73756666696369656e7442616c616e636504782042616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f73697404ec2056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650490205472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c6504cc20412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e74048c2042656e6566696369617279206163636f756e74206d757374207072652d6578697374485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100284d756c7469706c69657240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01002052656c6561736573040000000008485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c576569676874546f466565a45665633c576569676874546f466565436f656666696369656e743c42616c616e63654f663c543e3e3e5c0401000000000000000000000000000000000000000001040d012054686520706f6c796e6f6d69616c2074686174206973206170706c69656420696e206f7264657220746f20646572697665206665652066726f6d207765696768742e001c5374616b696e67011c5374616b696e678c30486973746f7279446570746801000c75333210540000001c8c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00390120496e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e006101204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e206f74686572776973652e20492e652e2061637469766520657261206d757374390120616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203e2063757272656e745f657261202d20686973746f72795f646570746860206d757374206265302067756172616e746565642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010230543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449647c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f72507265667300040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e00040004650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e2843757272656e74457261000020457261496e6465780400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e24416374697665457261000034416374697665457261496e666f040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e00b820546865206163746976652065726120697320746865206572612063757272656e746c792072657761726465642e2d012056616c696461746f7220736574206f66207468697320657261206d75737420626520657175616c20746f206053657373696f6e496e746572666163653a3a76616c696461746f7273602e5445726173537461727453657373696f6e496e64657800010520457261496e6465783053657373696f6e496e646578000400043101205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c6173742060484953544f52595f44455054486020657261732e2c457261735374616b65727301020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000001878204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e48457261735374616b657273436c697070656401020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000002c9820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865dc2060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e484572617356616c696461746f72507265667301020520457261496e64657830543a3a4163636f756e7449643856616c696461746f7250726566730504001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4c4572617356616c696461746f7252657761726400010520457261496e6465783042616c616e63654f663c543e0004000c09012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c6173742060484953544f52595f44455054486020657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e747301010520457261496e64657874457261526577617264506f696e74733c543a3a4163636f756e7449643e0014000000000008ac205265776172647320666f7220746865206c6173742060484953544f52595f44455054486020657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b6501010520457261496e6465783042616c616e63654f663c543e00400000000000000000000000000000000008ec2054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c6173742060484953544f52595f44455054486020657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f72636545726101001c466f7263696e6704000454204d6f6465206f662065726120666f7263696e672e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e48536e617073686f7456616c696461746f72730000445665633c543a3a4163636f756e7449643e040008650120536e617073686f74206f662076616c696461746f72732061742074686520626567696e6e696e67206f66207468652063757272656e7420656c656374696f6e2077696e646f772e20546869732073686f756c64206f6e6c791901206861766520612076616c7565207768656e205b60457261456c656374696f6e537461747573605d203d3d2060456c656374696f6e5374617475733a3a4f70656e285f29602e48536e617073686f744e6f6d696e61746f72730000445665633c543a3a4163636f756e7449643e040008650120536e617073686f74206f66206e6f6d696e61746f72732061742074686520626567696e6e696e67206f66207468652063757272656e7420656c656374696f6e2077696e646f772e20546869732073686f756c64206f6e6c791901206861766520612076616c7565207768656e205b60457261456c656374696f6e537461747573605d203d3d2060456c656374696f6e5374617475733a3a4f70656e285f29602e34517565756564456c65637465640000a8456c656374696f6e526573756c743c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e04000c650120546865206e6578742076616c696461746f72207365742e2041742074686520656e64206f6620616e206572612c206966207468697320697320617661696c61626c652028706f74656e7469616c6c792066726f6d20746865610120726573756c74206f6620616e206f6666636861696e20776f726b6572292c20697420697320696d6d6564696174656c7920757365642e204f74686572776973652c20746865206f6e2d636861696e20656c656374696f6e342069732065786563757465642e2c51756575656453636f7265000034456c656374696f6e53636f7265040004b0205468652073636f7265206f66207468652063757272656e74205b60517565756564456c6563746564605d2e44457261456c656374696f6e537461747573010078456c656374696f6e5374617475733c543a3a426c6f636b4e756d6265723e040008490120466c616720746f20636f6e74726f6c2074686520657865637574696f6e206f6620746865206f6666636861696e20656c656374696f6e2e205768656e20604f70656e285f29602c207765206163636570746c20736f6c7574696f6e7320746f206265207375626d69747465642e54497343757272656e7453657373696f6e46696e616c010010626f6f6c0400084d012054727565206966207468652063757272656e74202a2a706c616e6e65642a2a2073657373696f6e2069732066696e616c2e204e6f74652074686174207468697320646f6573206e6f742074616b65206572615820666f7263696e6720696e746f206163636f756e742e3853746f7261676556657273696f6e01002052656c6561736573040310cc2054727565206966206e6574776f726b20686173206265656e20757067726164656420746f20746869732076657273696f6e2e7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076332e302e3020666f72206e6577206e6574776f726b732e016010626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e5865012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e004020456d6974732060426f6e646564602e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e005101204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e6564410120756e6c6573732074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e4c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a2036372e383720c2b5732c204442205765696768743a3101202d20526561643a20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c2043757272656e74204572612c20486973746f72792044657074682c204c6f636b73e0202d2057726974653a20426f6e6465642c2050617965652c205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e5865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c657220616e64f82069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004020456d6974732060426f6e646564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e34202d2d2d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a2035342e383820c2b5732c204442205765696768743a1501202d20526561643a2045726120456c656374696f6e205374617475732c20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c204c6f636b73a4202d2057726974653a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e805501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004820456d6974732060556e626f6e646564602e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652e5101202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c6564207669615c2020206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e2c202d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a2035302e333420c2b5732c204442205765696768743a2901202d20526561643a2045726120456c656374696f6e205374617475732c204c65646765722c2043757272656e74204572612c204c6f636b732c205b4f726967696e204163636f756e745da4202d2057726974653a205b4f726967696e204163636f756e745d2c204c6f636b732c204c656467657228203c2f7765696768743e4477697468647261775f756e626f6e64656404486e756d5f736c617368696e675f7370616e730c753332782d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004c20456d697473206057697468647261776e602e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d090120436f6d706c6578697479204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2072656d6f7665342042617365205765696768743a74205570646174653a2035302e3532202b202e303238202a205320c2b5732501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c204c6f636b732c205b4f726967696e204163636f756e745da8202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c656467657270204b696c6c3a2037392e3431202b20322e333636202a205320c2b5738501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c20426f6e6465642c20536c617368696e67205370616e732c205b4f726967696e204163636f756e745d2c204c6f636b73b101202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c205b4f726967696e204163636f756e745d2c204c6f636b7374202d2057726974657320456163683a205370616e536c617368202a20530d01204e4f54453a2057656967687420616e6e6f746174696f6e20697320746865206b696c6c207363656e6172696f2c20776520726566756e64206f74686572776973652e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f72507265667344e8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e30202d2d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a2031372e313320c2b5732c204442205765696768743a90202d20526561643a2045726120456c656374696f6e205374617475732c204c656467657280202d2057726974653a204e6f6d696e61746f72732c2056616c696461746f7273302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e4c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00510120456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e20546869732063616e206f6e6c792062652063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e3101202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f662060746172676574736020284e2901012077686963682069732063617070656420617420436f6d7061637441737369676e6d656e74733a3a4c494d495420284d41585f4e4f4d494e4154494f4e53292ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e28202d2d2d2d2d2d2d2d2d842042617365205765696768743a2032322e3334202b202e3336202a204e20c2b57384207768657265204e20697320746865206e756d626572206f6620746172676574732c204442205765696768743ac8202d2052656164733a2045726120456c656374696f6e205374617475732c204c65646765722c2043757272656e742045726184202d205772697465733a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e146368696c6c0044c8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e24202d2d2d2d2d2d2d2d5c2042617365205765696768743a2031362e353320c2b5732c204442205765696768743a88202d20526561643a20457261456c656374696f6e5374617475732c204c656467657280202d2057726974653a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e247365745f7061796565041470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e40b8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e28202d2d2d2d2d2d2d2d2d64202d2042617365205765696768743a2031312e333320c2b57334202d204442205765696768743a4c20202020202d20526561643a204c65646765724c20202020202d2057726974653a205061796565302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654090202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e2c202d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a2032352e323220c2b5732c204442205765696768743af4202d20526561643a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572f8202d2057726974653a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e209420536574732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e5c2042617365205765696768743a20312e37313720c2b5735c2057726974653a2056616c696461746f7220436f756e74302023203c2f7765696768743e60696e6372656173655f76616c696461746f725f636f756e7404286164646974696f6e616c30436f6d706163743c7533323e20ac20496e6372656d656e74732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e5c2042617365205765696768743a20312e37313720c2b5737020526561642f57726974653a2056616c696461746f7220436f756e74302023203c2f7765696768743e547363616c655f76616c696461746f725f636f756e740418666163746f721c50657263656e7420d4205363616c652075702074686520696465616c206e756d626572206f662076616c696461746f7273206279206120666163746f722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e5c2042617365205765696768743a20312e37313720c2b5737020526561642f57726974653a2056616c696461746f7220436f756e74302023203c2f7765696768743e34666f7263655f6e6f5f657261730024b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e64202d2042617365205765696768743a20312e38353720c2b57348202d2057726974653a20466f726365457261302023203c2f7765696768743e34666f7263655f6e65775f65726100284d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e64202d2042617365205765696768743a20312e39353920c2b57344202d20577269746520466f726365457261302023203c2f7765696768743e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e24cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e1c202d204f28562990202d2042617365205765696768743a20322e323038202b202e303036202a205620c2b5735c202d2057726974653a20496e76756c6e657261626c6573302023203c2f7765696768743e34666f7263655f756e7374616b650814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c7533322c0d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743eec204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2062652072656d6f7665648c2042617365205765696768743a2035332e3037202b20322e333635202a205320c2b573b82052656164733a20426f6e6465642c20536c617368696e67205370616e732c204163636f756e742c204c6f636b738501205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c204163636f756e742c204c6f636b736c2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e50666f7263655f6e65775f6572615f616c776179730020050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e60202d2042617365205765696768743a20322e303520c2b57348202d2057726974653a20466f726365457261302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e38982043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e00b42043616e2062652063616c6c6564206279207468652060543a3a536c61736843616e63656c4f726967696e602e00050120506172616d65746572733a2065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e5420436f6d706c65786974793a204f2855202b205329b82077697468205520756e6170706c69656420736c6173686573207765696768746564207769746820553d31303030d420616e64205320697320746865206e756d626572206f6620736c61736820696e646963657320746f2062652063616e63656c65642e74202d20426173653a2035383730202b2033342e3631202a205320c2b57368202d20526561643a20556e6170706c69656420536c61736865736c202d2057726974653a20556e6170706c69656420536c6173686573302023203c2f7765696768743e387061796f75745f7374616b657273083c76616c696461746f725f737461736830543a3a4163636f756e7449640c65726120457261496e64657864110120506179206f757420616c6c20746865207374616b65727320626568696e6420612073696e676c652076616c696461746f7220666f7220612073696e676c65206572612e004d01202d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e205468656972206e6f6d696e61746f72732c20757020746f290120202060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602c2077696c6c20616c736f207265636569766520746865697220726577617264732e3501202d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e00590120546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e20696678206974206973206e6f74206f6e65206f6620746865207374616b6572732e00010120546869732063616e206f6e6c792062652063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e0101202d2054696d6520636f6d706c65786974793a206174206d6f7374204f284d61784e6f6d696e61746f72526577617264656450657256616c696461746f72292ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e30202d2d2d2d2d2d2d2d2d2d2d1d01204e20697320746865204e756d626572206f66207061796f75747320666f72207468652076616c696461746f722028696e636c7564696e67207468652076616c696461746f7229342042617365205765696768743a0101202d205265776172642044657374696e6174696f6e205374616b65643a20313130202b2035342e32202a204e20c2b57320284d656469616e20536c6f706573294101202d205265776172642044657374696e6174696f6e20436f6e74726f6c6c657220284372656174696e67293a20313230202b2034312e3935202a204e20c2b57320284d656469616e20536c6f706573292c204442205765696768743a2901202d20526561643a20457261456c656374696f6e5374617475732c2043757272656e744572612c20486973746f727944657074682c204572617356616c696461746f725265776172642c2d01202020202020202020457261735374616b657273436c69707065642c2045726173526577617264506f696e74732c204572617356616c696461746f725072656673202838206974656d73291101202d205265616420456163683a20426f6e6465642c204c65646765722c2050617965652c204c6f636b732c2053797374656d204163636f756e74202835206974656d7329d8202d20577269746520456163683a2053797374656d204163636f756e742c204c6f636b732c204c6564676572202833206974656d7329302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e3ce0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e00550120546865206469737061746368206f726967696e206d757374206265207369676e65642062792074686520636f6e74726f6c6c65722c20616e642069742063616e206265206f6e6c792063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ed4202d2054696d6520636f6d706c65786974793a204f284c292c207768657265204c20697320756e6c6f636b696e67206368756e6b7394202d20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d98202d2042617365205765696768743a2033342e353120c2b573202a202e303438204c20c2b57334202d204442205765696768743a010120202020202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c204c6f636b732c205b4f726967696e204163636f756e745db820202020202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e447365745f686973746f72795f646570746808446e65775f686973746f72795f646570746844436f6d706163743c457261496e6465783e485f6572615f6974656d735f64656c6574656430436f6d706163743c7533323e543101205365742060486973746f72794465707468602076616c75652e20546869732066756e6374696f6e2077696c6c2064656c65746520616e7920686973746f727920696e666f726d6174696f6e80207768656e2060486973746f727944657074686020697320726564756365642e003020506172616d65746572733a1101202d20606e65775f686973746f72795f6465707468603a20546865206e657720686973746f727920646570746820796f7520776f756c64206c696b6520746f207365742e4901202d20606572615f6974656d735f64656c65746564603a20546865206e756d626572206f66206974656d7320746861742077696c6c2062652064656c6574656420627920746869732064697370617463682e450120202020546869732073686f756c64207265706f727420616c6c207468652073746f72616765206974656d7320746861742077696c6c2062652064656c6574656420627920636c656172696e67206f6c6445012020202065726120686973746f72792e204e656564656420746f207265706f727420616e2061636375726174652077656967687420666f72207468652064697370617463682e2054727573746564206279a02020202060526f6f746020746f207265706f727420616e206163637572617465206e756d6265722e0054204f726967696e206d75737420626520726f6f742e002c2023203c7765696768743ee0202d20453a204e756d626572206f6620686973746f7279206465707468732072656d6f7665642c20692e652e203130202d3e2037203d203374202d2042617365205765696768743a2032392e3133202a204520c2b57334202d204442205765696768743aa020202020202d2052656164733a2043757272656e74204572612c20486973746f72792044657074687020202020202d205772697465733a20486973746f7279204465707468310120202020202d20436c6561722050726566697820456163683a20457261205374616b6572732c204572615374616b657273436c69707065642c204572617356616c696461746f725072656673810120202020202d2057726974657320456163683a204572617356616c696461746f725265776172642c2045726173526577617264506f696e74732c2045726173546f74616c5374616b652c2045726173537461727453657373696f6e496e646578302023203c2f7765696768743e28726561705f73746173680814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c7533324039012052656d6f766520616c6c20646174612073747275637475726520636f6e6365726e696e672061207374616b65722f7374617368206f6e6365206974732062616c616e6365206973207a65726f2e6101205468697320697320657373656e7469616c6c79206571756976616c656e7420746f206077697468647261775f756e626f6e64656460206578636570742069742063616e2062652063616c6c656420627920616e796f6e65c020616e6420746865207461726765742060737461736860206d7573742068617665206e6f2066756e6473206c6566742e009020546869732063616e2062652063616c6c65642066726f6d20616e79206f726967696e2e000101202d20607374617368603a20546865207374617368206163636f756e7420746f20726561702e204974732062616c616e6365206d757374206265207a65726f2e002c2023203c7765696768743e250120436f6d706c65786974793a204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e73206f6e20746865206163636f756e742e8c2042617365205765696768743a2037352e3934202b20322e333936202a205320c2b5732c204442205765696768743ad8202d2052656164733a205374617368204163636f756e742c20426f6e6465642c20536c617368696e67205370616e732c204c6f636b73a501202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c205374617368204163636f756e742c204c6f636b7374202d2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e607375626d69745f656c656374696f6e5f736f6c7574696f6e141c77696e6e6572734c5665633c56616c696461746f72496e6465783e1c636f6d7061637448436f6d7061637441737369676e6d656e74731473636f726534456c656374696f6e53636f72650c65726120457261496e6465781073697a6530456c656374696f6e53697a65bce4205375626d697420616e20656c656374696f6e20726573756c7420746f2074686520636861696e2e2049662074686520736f6c7574696f6e3a003420312e2069732076616c69642e150120322e206861732061206265747465722073636f7265207468616e206120706f74656e7469616c6c79206578697374696e6720736f6c7574696f6e206f6e20636861696e2e0084207468656e2c2069742077696c6c206265205f7075745f206f6e20636861696e2e00ac204120736f6c7574696f6e20636f6e7369737473206f662074776f20706965636573206f6620646174613a00f420312e206077696e6e657273603a206120666c617420766563746f72206f6620616c6c207468652077696e6e657273206f662074686520726f756e642e510120322e206061737369676e6d656e7473603a2074686520636f6d706163742076657273696f6e206f6620616e2061737369676e6d656e7420766563746f72207468617420656e636f6465732074686520656467653020202020776569676874732e00210120426f7468206f66207768696368206d617920626520636f6d7075746564207573696e67205f70687261676d656e5f2c206f7220616e79206f7468657220616c676f726974686d2e00a8204164646974696f6e616c6c792c20746865207375626d6974746572206d7573742070726f766964653a00c8202d20546865206073636f7265602074686174207468657920636c61696d20746865697220736f6c7574696f6e206861732e004d0120426f74682076616c696461746f727320616e64206e6f6d696e61746f72732077696c6c20626520726570726573656e74656420627920696e646963657320696e2074686520736f6c7574696f6e2e205468651d0120696e64696365732073686f756c6420726573706563742074686520636f72726573706f6e64696e6720747970657320285b6056616c696461746f72496e646578605d20616e643101205b604e6f6d696e61746f72496e646578605d292e204d6f72656f7665722c20746865792073686f756c642062652076616c6964207768656e207573656420746f20696e64657820696e746f5101205b60536e617073686f7456616c696461746f7273605d20616e64205b60536e617073686f744e6f6d696e61746f7273605d2e20416e7920696e76616c696420696e6465782077696c6c20636175736520746865610120736f6c7574696f6e20746f2062652072656a65637465642e2054686573652074776f2073746f72616765206974656d73206172652073657420647572696e672074686520656c656374696f6e2077696e646f7720616e6498206d6179206265207573656420746f2064657465726d696e652074686520696e64696365732e0060204120736f6c7574696f6e2069732076616c69642069663a00e420302e204974206973207375626d6974746564207768656e205b60457261456c656374696f6e537461747573605d20697320604f70656e602ef820312e2049747320636c61696d65642073636f726520697320657175616c20746f207468652073636f726520636f6d7075746564206f6e2d636861696e2eac20322e2050726573656e74732074686520636f7272656374206e756d626572206f662077696e6e6572732e550120332e20416c6c20696e6465786573206d7573742062652076616c7565206163636f7264696e6720746f2074686520736e617073686f7420766563746f72732e20416c6c20656467652076616c756573206d7573745d0120202020616c736f20626520636f727265637420616e642073686f756c64206e6f74206f766572666c6f7720746865206772616e756c6172697479206f662074686520726174696f20747970652028692e652e2032353640202020206f722062696c6c696f6e292e0d0120342e20466f72206561636820656467652c20616c6c2074617267657473206172652061637475616c6c79206e6f6d696e617465642062792074686520766f7465722e6c20352e2048617320636f72726563742073656c662d766f7465732e00c0204120736f6c7574696f6e732073636f726520697320636f6e736973746564206f66203320706172616d65746572733a00650120312e20606d696e207b20737570706f72742e746f74616c207d6020666f72206561636820737570706f7274206f6620612077696e6e65722e20546869732076616c75652073686f756c64206265206d6178696d697a65642e650120322e206073756d207b20737570706f72742e746f74616c207d6020666f72206561636820737570706f7274206f6620612077696e6e65722e20546869732076616c75652073686f756c64206265206d696e696d697a65642e410120332e206073756d207b20737570706f72742e746f74616c5e32207d6020666f72206561636820737570706f7274206f6620612077696e6e65722e20546869732076616c75652073686f756c642062659c202020206d696e696d697a65642028746f20656e73757265206c6573732076617269616e636529002c2023203c7765696768743e7020536565206063726174653a3a77656967687460206d6f64756c652e302023203c2f7765696768743e847375626d69745f656c656374696f6e5f736f6c7574696f6e5f756e7369676e6564141c77696e6e6572734c5665633c56616c696461746f72496e6465783e1c636f6d7061637448436f6d7061637441737369676e6d656e74731473636f726534456c656374696f6e53636f72650c65726120457261496e6465781073697a6530456c656374696f6e53697a6524c020556e7369676e65642076657273696f6e206f6620607375626d69745f656c656374696f6e5f736f6c7574696f6e602e005d01204e6f746520746861742074686973206d757374207061737320746865205b6056616c6964617465556e7369676e6564605d20636865636b207768696368206f6e6c7920616c6c6f7773207472616e73616374696f6e7361012066726f6d20746865206c6f63616c206e6f646520746f20626520696e636c756465642e20496e206f7468657220776f7264732c206f6e6c792074686520626c6f636b20617574686f722063616e20696e636c756465206168207472616e73616374696f6e20696e2074686520626c6f636b2e002c2023203c7765696768743e7020536565206063726174653a3a77656967687460206d6f64756c652e302023203c2f7765696768743e0124244572615061796f75740c20457261496e6465781c42616c616e63651c42616c616e63650c59012054686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c4207468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642ea4205b6572615f696e6465782c2076616c696461746f725f7061796f75742c2072656d61696e6465725d1852657761726408244163636f756e7449641c42616c616e636504f420546865207374616b657220686173206265656e207265776172646564206279207468697320616d6f756e742e205b73746173682c20616d6f756e745d14536c61736808244163636f756e7449641c42616c616e6365082501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e50205b76616c696461746f722c20616d6f756e745d684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6488206e6f742062652070726f6365737365642e205b73657373696f6e5f696e6465785d3c5374616b696e67456c656374696f6e043c456c656374696f6e436f6d7075746504ec2041206e657720736574206f66207374616b6572732077617320656c656374656420776974682074686520676976656e205b636f6d707574655d2e38536f6c7574696f6e53746f726564043c456c656374696f6e436f6d707574650411012041206e657720736f6c7574696f6e20666f7220746865207570636f6d696e6720656c656374696f6e20686173206265656e2073746f7265642e205b636f6d707574655d18426f6e64656408244163636f756e7449641c42616c616e636510cc20416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205b73746173682c20616d6f756e745d005101204e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c25012069742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e64656408244163636f756e7449641c42616c616e636504d420416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e205b73746173682c20616d6f756e745d2457697468647261776e08244163636f756e7449641c42616c616e6365085d0120416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e636560a82066726f6d2074686520756e6c6f636b696e672071756575652e205b73746173682c20616d6f756e745d1c3853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e20457261496e64657810a8000000140101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e00bc20546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2d012053657420746f203020696620736c61736865732073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f723820696e74657276656e74696f6e2e44456c656374696f6e4c6f6f6b616865616438543a3a426c6f636b4e756d62657210320000001c710120546865206e756d626572206f6620626c6f636b73206265666f72652074686520656e64206f6620746865206572612066726f6d20776869636820656c656374696f6e207375626d697373696f6e732061726520616c6c6f7765642e006d012053657474696e67207468697320746f207a65726f2077696c6c2064697361626c6520746865206f6666636861696e20636f6d7075746520616e64206f6e6c79206f6e2d636861696e207365712d70687261676d656e2077696c6c2420626520757365642e007501205468697320697320626f756e646564206279206265696e672077697468696e20746865206c6173742073657373696f6e2e2048656e63652c2073657474696e6720697420746f20612076616c7565206d6f7265207468616e207468659c206c656e677468206f6620612073657373696f6e2077696c6c20626520706f696e746c6573732e344d6178497465726174696f6e730c753332100a0000000c2901204d6178696d756d206e756d626572206f662062616c616e63696e6720697465726174696f6e7320746f2072756e20696e20746865206f6666636861696e207375626d697373696f6e2e00ec2049662073657420746f20302c2062616c616e63655f736f6c7574696f6e2077696c6c206e6f7420626520657865637574656420617420616c6c2e504d696e536f6c7574696f6e53636f726542756d701c50657262696c6c1020a1070004610120546865207468726573686f6c64206f6620696d70726f76656d656e7420746861742073686f756c642062652070726f766964656420666f722061206e657720736f6c7574696f6e20746f2062652061636365707465642e804d61784e6f6d696e61746f72526577617264656450657256616c696461746f720c753332104000000010f820546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320726577617264656420666f7220656163682076616c696461746f722e00690120466f7220656163682076616c696461746f72206f6e6c79207468652060244d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732063616e20636c61696d2101207468656972207265776172642e2054686973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e7c344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e6465780444204475706c696361746520696e6465782e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e44496e73756666696369656e7456616c756504cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e64656454617267657404cc20417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264045c20496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73047c20496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564040d01205265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e7c4f6666636861696e456c656374696f6e4561726c795375626d697373696f6e04e420546865207375626d697474656420726573756c74206973207265636569766564206f7574206f6620746865206f70656e2077696e646f772e784f6666636861696e456c656374696f6e5765616b5375626d697373696f6e04010120546865207375626d697474656420726573756c74206973206e6f7420617320676f6f6420617320746865206f6e652073746f726564206f6e20636861696e2e4c536e617073686f74556e617661696c61626c6504d02054686520736e617073686f742064617461206f66207468652063757272656e742077696e646f77206973206d697373696e672e804f6666636861696e456c656374696f6e426f67757357696e6e6572436f756e7404b020496e636f7272656374206e756d626572206f662077696e6e65727320776572652070726573656e7465642e6c4f6666636861696e456c656374696f6e426f67757357696e6e6572086101204f6e65206f6620746865207375626d69747465642077696e6e657273206973206e6f7420616e206163746976652063616e646964617465206f6e20636861696e2028696e646578206973206f7574206f662072616e67653820696e20736e617073686f74292e704f6666636861696e456c656374696f6e426f677573436f6d70616374085d01204572726f72207768696c65206275696c64696e67207468652061737369676e6d656e7420747970652066726f6d2074686520636f6d706163742e20546869732063616e2068617070656e20696620616e20696e646578a820697320696e76616c69642c206f72206966207468652077656967687473205f6f766572666c6f775f2e784f6666636861696e456c656374696f6e426f6775734e6f6d696e61746f72041501204f6e65206f6620746865207375626d6974746564206e6f6d696e61746f7273206973206e6f7420616e20616374697665206e6f6d696e61746f72206f6e20636861696e2e7c4f6666636861696e456c656374696f6e426f6775734e6f6d696e6174696f6e044d01204f6e65206f6620746865207375626d6974746564206e6f6d696e61746f72732068617320616e206564676520746f20776869636820746865792068617665206e6f7420766f746564206f6e20636861696e2e844f6666636861696e456c656374696f6e536c61736865644e6f6d696e6174696f6e086101204f6e65206f6620746865207375626d6974746564206e6f6d696e61746f72732068617320616e2065646765207768696368206973207375626d6974746564206265666f726520746865206c617374206e6f6e2d7a65726f5420736c617368206f6620746865207461726765742e744f6666636861696e456c656374696f6e426f67757353656c66566f746504250120412073656c6620766f7465206d757374206f6e6c79206265206f726967696e617465642066726f6d20612076616c696461746f7220746f204f4e4c59207468656d73656c7665732e644f6666636861696e456c656374696f6e426f6775734564676504450120546865207375626d697474656420726573756c742068617320756e6b6e6f776e206564676573207468617420617265206e6f7420616d6f6e67207468652070726573656e7465642077696e6e6572732e684f6666636861696e456c656374696f6e426f67757353636f72650419012054686520636c61696d65642073636f726520646f6573206e6f74206d61746368207769746820746865206f6e6520636f6d70757465642066726f6d2074686520646174612e844f6666636861696e456c656374696f6e426f677573456c656374696f6e53697a6504782054686520656c656374696f6e2073697a6520697320696e76616c69642e3843616c6c4e6f74416c6c6f776564044901205468652063616c6c206973206e6f7420616c6c6f7765642061742074686520676976656e2074696d652064756520746f207265737472696374696f6e73206f6620656c656374696f6e20706572696f642e54496e636f7272656374486973746f7279446570746804c420496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e7304b420496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e1c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e38e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a4202d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b6579736084202d204462526561647320706572206b65792069643a20604b65794f776e65726088202d20446257726974657320706572206b65792069643a20604b65794f776e657260302023203c2f7765696768743e2870757267655f6b6579730030cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743eb4202d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a4202d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e74608c202d20446257726974657320706572206b65792069643a20604b65794f776e64657260302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085d01204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e7420697320746865205b73657373696f6e5f696e6465785d2c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001030496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e2444656d6f6372616379012444656d6f6372616379383c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e244465706f7369744f660001052450726f70496e64657884285665633c543a3a4163636f756e7449643e2c2042616c616e63654f663c543e290004000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e24507265696d616765730001061c543a3a48617368e8507265696d6167655374617475733c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401003c5265666572656e64756d496e646578100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001053c5265666572656e64756d496e646578d45265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173682c2042616c616e63654f663c543e3e0004000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010530543a3a4163636f756e744964c8566f74696e673c42616c616e63654f663c543e2c20543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e144c6f636b7300010530543a3a4163636f756e74496438543a3a426c6f636b4e756d626572000400105d01204163636f756e747320666f7220776869636820746865726520617265206c6f636b7320696e20616374696f6e207768696368206d61792062652072656d6f76656420617420736f6d6520706f696e7420696e207468655101206675747572652e205468652076616c75652069732074686520626c6f636b206e756d62657220617420776869636820746865206c6f636b206578706972657320616e64206d61792062652072656d6f7665642e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001061c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101061c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e3853746f7261676556657273696f6e00002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e015c1c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e3ca02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e00190120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573748420686176652066756e647320746f20636f76657220746865206465706f7369742e00d8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e1901202d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e004820456d697473206050726f706f736564602e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960b4202d2044622072656164733a20605075626c696350726f70436f756e74602c20605075626c696350726f707360ec202d204462207772697465733a20605075626c696350726f70436f756e74602c20605075626c696350726f7073602c20604465706f7369744f6660302023203c2f7765696768743e187365636f6e64082070726f706f73616c48436f6d706163743c50726f70496e6465783e4c7365636f6e64735f75707065725f626f756e6430436f6d706163743c7533323e38b8205369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e00050120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e6465721501206d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00cc202d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e4501202d20607365636f6e64735f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e207468652063757272656e74206e756d626572206f66207365636f6e6473206f6e2074686973290120202070726f706f73616c2e2045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e002c2023203c7765696768743e3901202d20436f6d706c65786974793a20604f28532960207768657265205320697320746865206e756d626572206f66207365636f6e647320612070726f706f73616c20616c7265616479206861732e60202d2044622072656164733a20604465706f7369744f666064202d204462207772697465733a20604465706f7369744f6660302023203c2f7765696768743e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f7465644163636f756e74566f74653c42616c616e63654f663c543e3e38350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00e0202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e88202d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e002c2023203c7765696768743e4901202d20436f6d706c65786974793a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722068617320766f746564206f6e2ea42020207765696768742069732063686172676564206173206966206d6178696d756d20766f7465732ef4202d2044622072656164733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f66602c206062616c616e636573206c6f636b7360f8202d204462207772697465733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f66602c206062616c616e636573206c6f636b7360302023203c2f7765696768743e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578305101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e00fc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d4202d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e002c2023203c7765696768743e58202d20436f6d706c65786974793a20604f283129602ec0202d2044622072656164733a20605265666572656e64756d496e666f4f66602c206043616e63656c6c6174696f6e7360c4202d204462207772697465733a20605265666572656e64756d496e666f4f66602c206043616e63656c6c6174696f6e7360302023203c2f7765696768743e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368343101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e00ec20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e002c2023203c7765696768743e2d01202d20436f6d706c657869747920604f2856296020776974682056206e756d626572206f66207665746f65727320696e2074686520626c61636b6c697374206f662070726f706f73616c2ebc2020204465636f64696e6720766563206f66206c656e67746820562e2043686172676564206173206d6178696d756da0202d2044622072656164733a20604e65787445787465726e616c602c2060426c61636b6c6973746070202d204462207772697465733a20604e65787445787465726e616c60302023203c2f7765696768743e6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a48617368385901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e00f020546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f283129606c202d2044622077726974653a20604e65787445787465726e616c60302023203c2f7765696768743e6065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a48617368384901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e00ec20546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f283129606c202d2044622077726974653a20604e65787445787465726e616c60302023203c2f7765696768743e28666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d626572505101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d420546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f982020206046617374547261636b566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e004420456d697473206053746172746564602e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960b8202d2044622072656164733a20604e65787445787465726e616c602c20605265666572656e64756d436f756e74600d01202d204462207772697465733a20604e65787445787465726e616c602c20605265666572656e64756d436f756e74602c20605265666572656e64756d496e666f4f666060202d2042617365205765696768743a2033302e3120c2b573302023203c2f7765696768743e347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736838bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00dc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e003101202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e004020456d69747320605665746f6564602e002c2023203c7765696768743e1901202d20436f6d706c65786974793a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604501202020506572666f726d7320612062696e61727920736561726368206f6e20606578697374696e675f7665746f657273602077686963682073686f756c64206e6f742062652076657279206c617267652ea0202d2044622072656164733a20604e65787445787465726e616c602c2060426c61636b6c69737460a4202d204462207772697465733a20604e65787445787465726e616c602c2060426c61636b6c69737460302023203c2f7765696768743e4463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e28542052656d6f76652061207265666572656e64756d2e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d8202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e002c2023203c7765696768743e58202d20436f6d706c65786974793a20604f283129602e80202d204462207772697465733a20605265666572656e64756d496e666f4f6660302023203c2f7765696768743e3463616e63656c5f717565756564041477686963683c5265666572656e64756d496e6465782ca02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00c8202d20607768696368603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e002c2023203c7765696768743e3501202d20604f284429602077686572652060446020697320746865206974656d7320696e207468652064697370617463682071756575652e205765696768746564206173206044203d203130602ec8202d2044622072656164733a20607363686564756c6572206c6f6f6b7570602c207363686564756c6572206167656e646160cc202d204462207772697465733a20607363686564756c6572206c6f6f6b7570602c207363686564756c6572206167656e646160302023203c2f7765696768743e2064656c65676174650c08746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e1c62616c616e63653042616c616e63654f663c543e683d012044656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e005901205468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865cc2074696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e00610120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a782020202d2062652064656c65676174696e6720616c72656164793b206f725d012020202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c6964617465649820202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e004901202d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e5901202d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e2074686545012020206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e5501202d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374c82020206e6f74206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e004c20456d697473206044656c656761746564602e002c2023203c7765696768743e5901202d20436f6d706c65786974793a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732ec4202d2044622072656164733a20332a60566f74696e674f66602c20606f726967696e206163636f756e74206c6f636b7360c8202d204462207772697465733a20332a60566f74696e674f66602c20606f726967696e206163636f756e74206c6f636b7360a4202d2044622072656164732070657220766f7465733a20605265666572656e64756d496e666f4f6660a8202d204462207772697465732070657220766f7465733a20605265666572656e64756d496e666f4f6660302023203c2f7765696768743e28756e64656c65676174650048d020556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e00610120546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64e0206f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e00490120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265582063757272656e746c792064656c65676174696e672e005420456d6974732060556e64656c656761746564602e002c2023203c7765696768743e5901202d20436f6d706c65786974793a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e64202d2044622072656164733a20322a60566f74696e674f666068202d204462207772697465733a20322a60566f74696e674f6660a4202d2044622072656164732070657220766f7465733a20605265666572656e64756d496e666f4f6660a8202d204462207772697465732070657220766f7465733a20605265666572656e64756d496e666f4f6660302023203c2f7765696768743e58636c6561725f7075626c69635f70726f706f73616c7300207420436c6561727320616c6c207075626c69632070726f706f73616c732e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e002c2023203c7765696768743e28202d20604f283129602e6c202d204462207772697465733a20605075626c696350726f707360302023203c2f7765696768743e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e3861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e002c2023203c7765696768743e6901202d20436f6d706c65786974793a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e60202d2044622072656164733a2060507265696d616765736064202d204462207772697465733a2060507265696d6167657360302023203c2f7765696768743e646e6f74655f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e040d012053616d6520617320606e6f74655f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e586e6f74655f696d6d696e656e745f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e4045012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265410120696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e205768656e20746869732063616c6c206973207375636365737366756c2c20692e652e39012074686520707265696d61676520686173206e6f74206265656e2075706c6f61646564206265666f726520616e64206d61746368657320736f6d6520696d6d696e656e742070726f706f73616c2c40206e6f2066656520697320706169642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e002c2023203c7765696768743e6901202d20436f6d706c65786974793a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e60202d2044622072656164733a2060507265696d616765736064202d204462207772697465733a2060507265696d6167657360302023203c2f7765696768743e886e6f74655f696d6d696e656e745f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e0431012053616d6520617320606e6f74655f696d6d696e656e745f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e34726561705f707265696d616765083470726f706f73616c5f686173681c543a3a486173686070726f706f73616c5f6c656e5f75707065725f626f756e6430436f6d706163743c7533323e4cf42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00d0202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f6620612070726f706f73616c2e2d01202d206070726f706f73616c5f6c656e6774685f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e206c656e677468206f66207468652070726f706f73616c2e010120202045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e00510120546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d616765207761735d01206e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79b020776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e006020456d6974732060507265696d616765526561706564602e002c2023203c7765696768743ed0202d20436f6d706c65786974793a20604f284429602077686572652044206973206c656e677468206f662070726f706f73616c2ebc202d2044622072656164733a2060507265696d61676573602c2070726f7669646572206163636f756e742064617461bc202d204462207772697465733a2060507265696d61676573602070726f7669646572206163636f756e742064617461302023203c2f7765696768743e18756e6c6f636b041874617267657430543a3a4163636f756e7449642ca420556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00bc202d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e002c2023203c7765696768743ed4202d20436f6d706c657869747920604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742eec202d2044622072656164733a2060566f74696e674f66602c206062616c616e636573206c6f636b73602c2060746172676574206163636f756e7460f0202d204462207772697465733a2060566f74696e674f66602c206062616c616e636573206c6f636b73602c2060746172676574206163636f756e7460302023203c2f7765696768743e2c72656d6f76655f766f74650414696e6465783c5265666572656e64756d496e6465787c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e00102049663a8c202d20746865207265666572656e64756d207761732063616e63656c6c65642c206f7280202d20746865207265666572656e64756d206973206f6e676f696e672c206f7294202d20746865207265666572656e64756d2068617320656e6465642073756368207468617401012020202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d82020202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f72882020202d20746865206163636f756e74206d61646520612073706c697420766f74656101202e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655c2066756e6473206265696e6720617661696c61626c652e00ac2049662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643af0202d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64e0202d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64c0202d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f7665725d01202e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c76655d01202a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de8206f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004d0120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f74658c207265676973746572656420666f72207265666572656e64756d2060696e646578602e00f8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e002c2023203c7765696768743e4101202d20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652eac202d2044622072656164733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f6660b0202d204462207772697465733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f6660302023203c2f7765696768743e4472656d6f76655f6f746865725f766f7465081874617267657430543a3a4163636f756e74496414696e6465783c5265666572656e64756d496e6465784c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e0051012049662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f3101206072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c590120656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f729c20626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e005101202d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f72582020207265666572656e64756d2060696e646578602ef8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e002c2023203c7765696768743e4101202d20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652eac202d2044622072656164733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f6660b0202d204462207772697465733a20605265666572656e64756d496e666f4f66602c2060566f74696e674f6660302023203c2f7765696768743e38656e6163745f70726f706f73616c083470726f706f73616c5f686173681c543a3a4861736814696e6465783c5265666572656e64756d496e64657804510120456e61637420612070726f706f73616c2066726f6d2061207265666572656e64756d2e20466f72206e6f77207765206a757374206d616b65207468652077656967687420626520746865206d6178696d756d2e01442050726f706f736564082450726f70496e6465781c42616c616e63650429012041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e205b70726f706f73616c5f696e6465782c206465706f7369745d185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e0475012041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e205b70726f706f73616c5f696e6465782c206465706f7369742c206465706f7369746f72735d3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404bc2041207265666572656e64756d2068617320626567756e2e205b7265665f696e6465782c207468726573686f6c645d18506173736564043c5265666572656e64756d496e64657804e020412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e205b7265665f696e6465785d244e6f74506173736564043c5265666572656e64756d496e64657804e020412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e205b7265665f696e6465785d2443616e63656c6c6564043c5265666572656e64756d496e64657804b42041207265666572656e64756d20686173206265656e2063616e63656c6c65642e205b7265665f696e6465785d204578656375746564083c5265666572656e64756d496e64657810626f6f6c04c020412070726f706f73616c20686173206265656e20656e61637465642e205b7265665f696e6465782c2069735f6f6b5d2444656c65676174656408244163636f756e744964244163636f756e74496404190120416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e205b77686f2c207461726765745d2c556e64656c65676174656404244163636f756e74496404f020416e205b6163636f756e745d206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d62657204090120416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e205b77686f2c2070726f706f73616c5f686173682c20756e74696c5d34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504590120412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e205b70726f706f73616c5f686173682c2077686f2c206465706f7369745d30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636508150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e8c205b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369745d3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e64657804790120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e205b70726f706f73616c5f686173682c207265665f696e6465785d3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e64657804790120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e205b70726f706f73616c5f686173682c207265665f696e6465785d38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964082d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c656374656420627920746865207265617065722eac205b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369742c207265617065725d20556e6c6f636b656404244163636f756e74496404b420416e205b6163636f756e745d20686173206265656e20756e6c6f636b6564207375636365737366756c6c792e203c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d62657210002f0d0014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210004e0c0004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210004e0c0004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e400000c16ff2862300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e5446617374547261636b566f74696e67506572696f6438543a3a426c6f636b4e756d626572108051010004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f7220616e20656d657267656e6379207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210004e0c0004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400010a5d4e800000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e204d6178566f7465730c753332106400000004b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e842056616c75654c6f7704382056616c756520746f6f206c6f773c50726f706f73616c4d697373696e6704602050726f706f73616c20646f6573206e6f7420657869737420426164496e646578043820556e6b6e6f776e20696e6465783c416c726561647943616e63656c656404982043616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c04582050726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c6973746564046c2050726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f7269747904ac204e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c696448617368043420496e76616c69642068617368284e6f50726f706f73616c0454204e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564049c204964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365304e6f7444656c6567617465640438204e6f742064656c656761746564444475706c6963617465507265696d616765045c20507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e740434204e6f7420696d6d696e656e7420546f6f4561726c79042820546f6f206561726c7920496d6d696e656e74042420496d6d696e656e743c507265696d6167654d697373696e67044c20507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964048820566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964044420496e76616c696420707265696d6167652c4e6f6e6557616974696e670454204e6f2070726f706f73616c732077616974696e67244e6f744c6f636b656404a42054686520746172676574206163636f756e7420646f6573206e6f7420686176652061206c6f636b2e284e6f744578706972656404f020546865206c6f636b206f6e20746865206163636f756e7420746f20626520756e6c6f636b656420686173206e6f742079657420657870697265642e204e6f74566f74657204c82054686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e04cc20546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67048c20546865206163636f756e7420697320616c72656164792064656c65676174696e672e204f766572666c6f7704a420416e20756e657870656374656420696e7465676572206f766572666c6f77206f636375727265642e24556e646572666c6f7704a820416e20756e657870656374656420696e746567657220756e646572666c6f77206f636375727265642e44496e73756666696369656e7446756e647304010120546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e6704a420546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f746573457869737408590120546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696cec207468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f77656404dc2054686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e736504982044656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e64045420496e76616c696420757070657220626f756e642e3c4d6178566f746573526561636865640484204d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c436f756e63696c014c496e7374616e636531436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c30f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e002c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e6c510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed0205b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292ea4205b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e40205b70726f706f73616c5f686173685d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e40205b70726f706f73616c5f686173685d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e60205b70726f706f73616c5f686173682c20726573756c745d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e60205b70726f706f73616c5f686173682c20726573756c745d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e64205b70726f706f73616c5f686173682c207965732c206e6f5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e48546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c30f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e002c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e6c510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed0205b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292ea4205b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e40205b70726f706f73616c5f686173685d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e40205b70726f706f73616c5f686173685d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e60205b70726f706f73616c5f686173682c20726573756c745d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e60205b70726f706f73616c5f686173682c20726573756c745d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e64205b70726f706f73616c5f686173682c207965732c206e6f5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e24456c656374696f6e73014050687261676d656e456c656374696f6e141c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e29004400000000000000000000000000000000000cb820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e00c02054574f582d4e4f54453a205341464520617320604163636f756e7449646020697320612063727970746f20686173682843616e646964617465730100445665633c543a3a4163636f756e7449643e0400085901205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742d69642e20412063757272656e74206d656d626572206f722072756e6e65722d757041012063616e206e6576657220656e746572207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e645d0120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e20546869732063616e2062652063616c6c656420746fe4207365742074686520696e697469616c20766f7465732c206f722075706461746520616c7265616479206578697374696e6720766f7465732e0055012055706f6e20696e697469616c20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e74206973282072657365727665642e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792e59012020202d206265206c657373207468616e20746865206e756d626572206f6620706f737369626c652063616e646964617465732e204e6f7465207468617420616c6c2063757272656e74206d656d6265727320616e641501202020202072756e6e6572732d75702061726520616c736f206175746f6d61746963616c6c792063616e6469646174657320666f7220746865206e65787420726f756e642e005d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e5c2042617365207765696768743a2034372e393320c2b573342053746174652072656164733ad820092d2043616e646964617465732e6c656e2829202b204d656d626572732e6c656e2829202b2052756e6e65727355702e6c656e28295420092d20566f74696e67202869735f766f74657229d420092d205b4163636f756e7442616c616e63652877686f292028756e72657365727665202b20746f74616c5f62616c616e6365295d38205374617465207772697465733a2820092d20566f74696e672020092d204c6f636b1d0120092d205b4163636f756e7442616c616e63652877686f292028756e72657365727665202d2d206f6e6c79207768656e206372656174696e672061206e657720766f746572295d302023203c2f7765696768743e3072656d6f76655f766f746572003421012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e582042617365207765696768743a2033362e3820c2b573a820416c6c207374617465206163636573732069732066726f6d20646f5f72656d6f76655f766f7465722e342053746174652072656164733a2820092d20566f74696e675820092d205b4163636f756e74446174612877686f295d38205374617465207772697465733a2820092d20566f74696e672420092d204c6f636b735820092d205b4163636f756e74446174612877686f295d302023203c2f7765696768743e507265706f72745f646566756e63745f766f746572041c646566756e6374c4446566756e6374566f7465723c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e6c5d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6ff020202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d626572206f7220612072756e6e65722d75702e0000690120546865206f726967696e206d7573742070726f7669646520746865206e756d626572206f662063757272656e742063616e6469646174657320616e6420766f746573206f6620746865207265706f7274656420746172676574c020666f722074686520707572706f7365206f66206163637572617465207765696768742063616c63756c6174696f6e2e002c2023203c7765696768743eb4204e6f204261736520776569676874206261736564206f6e206d696e2073717561726520616e616c797369732ea420436f6d706c6578697479206f662063616e6469646174655f636f756e743a20312e37353520c2b5739020436f6d706c6578697479206f6620766f74655f636f756e743a2031382e353120c2b573342053746174652072656164733a542020092d20566f74696e67287265706f7274657229502020092d2043616e6469646174652e6c656e28294c2020092d20566f74696e672854617267657429d82020092d2043616e646964617465732c204d656d626572732c2052756e6e6572735570202869735f646566756e63745f766f7465722938205374617465207772697465733a7020092d204c6f636b287265706f72746572207c7c2074617267657429dc20092d205b4163636f756e7442616c616e6365287265706f72746572295d202b204163636f756e7442616c616e636528746172676574297820092d20566f74696e67287265706f72746572207c7c20746172676574295901204e6f74653a207468652064622061636365737320697320776f7273652077697468207265737065637420746f2064622c207768696368206973207768656e20746865207265706f727420697320636f72726563742e302023203c2f7765696768743e407375626d69745f63616e646964616379043c63616e6469646174655f636f756e7430436f6d706163743c7533323e5478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e60204261736520776569676874203d2033332e333320c2b573a420436f6d706c6578697479206f662063616e6469646174655f636f756e743a20302e33373520c2b573342053746174652072656164733a5020092d2043616e646964617465732e6c656e28293820092d2043616e646964617465732c20092d204d656d626572733420092d2052756e6e65727355706420092d205b4163636f756e7442616c616e63652877686f295d38205374617465207772697465733a6420092d205b4163636f756e7442616c616e63652877686f295d3820092d2043616e64696461746573302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379042872656e6f756e63696e672852656e6f756e63696e679851012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722d75702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64902020206f726967696e2069732072656d6f76656420617320612072756e6e65722d75702e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e24203c7765696768743e7820496620612063616e6469646174652069732072656e6f756e63696e673a60200942617365207765696768743a2031372e323820c2b573a82009436f6d706c6578697479206f662063616e6469646174655f636f756e743a20302e32333520c2b57338200953746174652072656164733a3c2009092d2043616e64696461746573982009092d205b4163636f756e7442616c616e63652877686f292028756e72657365727665295d3c20095374617465207772697465733a3c2009092d2043616e64696461746573982009092d205b4163636f756e7442616c616e63652877686f292028756e72657365727665295d64204966206d656d6265722069732072656e6f756e63696e673a60200942617365207765696768743a2034362e323520c2b57338200953746174652072656164733ad02009092d204d656d626572732c2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d626572292c8c2009092d205b4163636f756e74446174612877686f292028756e72657365727665295d3c20095374617465207772697465733ad02009092d204d656d626572732c2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d626572292c8c2009092d205b4163636f756e74446174612877686f292028756e72657365727665295d642049662072756e6e65722069732072656e6f756e63696e673a60200942617365207765696768743a2034362e323520c2b57338200953746174652072656164733aac2009092d2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d626572292c8c2009092d205b4163636f756e74446174612877686f292028756e72657365727665295d3c20095374617465207772697465733aac2009092d2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d626572292c8c2009092d205b4163636f756e74446174612877686f292028756e72657365727665295d000d0120576569676874206e6f74653a205468652063616c6c20696e746f206368616e67654d656d62657273206e65656420746f206265206163636f756e74656420666f722e28203c2f7765696768743e3472656d6f76655f6d656d626572080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653c6861735f7265706c6163656d656e7410626f6f6c485d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c61636573207468650101206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20656c656374696f6e20697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e6820496620776520686176652061207265706c6163656d656e743a6820092d2042617365207765696768743a2035302e393320c2b5734020092d2053746174652072656164733a502009092d2052756e6e65727355702e6c656e2829cc2009092d204d656d626572732c2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d626572294420092d205374617465207772697465733acc2009092d204d656d626572732c2052756e6e6572735570202872656d6f76655f616e645f7265706c6163655f6d656d62657229650120456c73652c2073696e63652074686973206973206120726f6f742063616c6c20616e642077696c6c20676f20696e746f2070687261676d656e2c20776520617373756d652066756c6c20626c6f636b20666f72206e6f772e302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e1061012041206e6577207465726d2077697468205b6e65775f6d656d626572735d2e205468697320696e64696361746573207468617420656e6f7567682063616e64696461746573206578697374656420746f2072756e20746865590120656c656374696f6e2c206e6f74207468617420656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f726101207468697320707572706f73652e204120604e65775465726d285b5d296020696e64696361746573207468617420736f6d652063616e6469646174657320676f7420746865697220626f6e6420736c617368656420616e645901206e6f6e65207765726520656c65637465642c207768696c73742060456d7074795465726d60206d65616e732074686174206e6f2063616e64696461746573206578697374656420746f20626567696e20776974682e24456d7074795465726d00083501204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e205468697320697320646966666572656e742066726f6dc420604e65775465726d285b5d29602e2053656520746865206465736372697074696f6e206f6620604e65775465726d602e304d656d6265724b69636b656404244163636f756e744964084d012041205b6d656d6265725d20686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a82041205b6d656d6265725d206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c080901204120766f74657220776173207265706f7274656420776974682074686520746865207265706f7274206265696e67207375636365737366756c206f72206e6f742e6c205b766f7465722c207265706f727465722c20737563636573735d183443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d030000000000000000000028566f74696e67426f6e643042616c616e63654f663c543e4000407a10f35a000000000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d626572108013030000204d6f64756c654964384c6f636b4964656e74696669657220706872656c656374004430556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3052756e6e65725375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e244e6f744d656d6265720438204e6f742061206d656d6265722e54496e76616c696443616e646964617465436f756e7404e4205468652070726f766964656420636f756e74206f66206e756d626572206f662063616e6469646174657320697320696e636f72726563742e40496e76616c6964566f7465436f756e7404d0205468652070726f766964656420636f756e74206f66206e756d626572206f6620766f74657320697320696e636f72726563742e44496e76616c696452656e6f756e63696e67040101205468652072656e6f756e63696e67206f726967696e2070726573656e74656420612077726f6e67206052656e6f756e63696e676020706172616d657465722e48496e76616c69645265706c6163656d656e740401012050726564696374696f6e20726567617264696e67207265706c6163656d656e74206166746572206d656d6265722072656d6f76616c2069732077726f6e672e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970081c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000030543a3a4163636f756e744964040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e011c286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00a0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e74496414c02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a4204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e001101205072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b6579040c6e657730543a3a4163636f756e74496414d82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e002101205072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d65040c77686f30543a3a4163636f756e7449640cc02053657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d65000c982052656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e00003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d6265721c4772616e647061013c4772616e64706146696e616c6974791814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004001059012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66240d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e00110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e306e6f74655f7374616c6c6564081464656c617938543a3a426c6f636b4e756d6265726c626573745f66696e616c697a65645f626c6f636b5f6e756d62657238543a3a426c6f636b4e756d6265721c1d01204e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c69747920676164676574206861732901207374616c6c65642e20546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e672101206f6620746865206e6578742073657373696f6e2c20746f20626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e205468652064656c617915012073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d6520746861742074686520626c6f636b207369676e616c6c696e6720746865290120666f72636564206368616e67652077696c6c206e6f742062652072652d6f726765642028652e672e203130303020626c6f636b73292e20546865204752414e44504120766f7465727329012077696c6c20737461727420746865206e657720617574686f7269747920736574207573696e672074686520676976656e2066696e616c697a656420626c6f636b20617320626173652e5c204f6e6c792063616c6c61626c6520627920726f6f742e010c384e6577417574686f7269746965730434417574686f726974794c69737404d0204e657720617574686f726974792073657420686173206265656e206170706c6965642e205b617574686f726974795f7365745d1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e001c2c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e20547265617375727901205472656173757279143450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01203470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129b4202d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460ec202d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e7460302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e24fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129d0202d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d4202d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e285d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e50202d20436f6d706c65786974793a204f2831292e90202d20446252656164733a206050726f706f73616c73602c2060417070726f76616c73605c202d20446257726974653a2060417070726f76616c7360302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173d420605469705265706f72744465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743ecc202d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e942020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27c4202d20446252656164733a2060526561736f6e73602c206054697073602c206077686f206163636f756e742064617461609c202d2044625772697465733a206054697073602c206077686f206163636f756e74206461746160302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960dc2020202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e90202d20446252656164733a206054697073602c20606f726967696e206163636f756e7460c0202d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e7460302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c75653042616c616e63654f663c543e58f4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e5501202d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732ec02020202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e6774682060546009012020202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e0d0120202020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ee42020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e6774682060526080202d20446252656164733a206054697070657273602c2060526561736f6e736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c75653042616c616e63654f663c543e64b4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e15012020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e00610120202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d4202020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e74202d20446252656164733a206054697070657273602c206054697073604c202d2044625772697465733a20605469707360302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368446020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e9c2020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602eac202d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260dc202d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e64657260302023203c2f7765696768743e012c2050726f706f736564043450726f706f73616c496e646578047c204e65772070726f706f73616c2e205b70726f706f73616c5f696e6465785d205370656e64696e67041c42616c616e6365043501205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e205b6275646765745f72656d61696e696e675d1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e74496404150120536f6d652066756e64732068617665206265656e20616c6c6f63617465642e205b70726f706f73616c5f696e6465782c2061776172642c2062656e65666963696172795d2052656a6563746564083450726f706f73616c496e6465781c42616c616e6365041d0120412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205b70726f706f73616c5f696e6465782c20736c61736865645d144275726e74041c42616c616e636504a820536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e205b6275726e5d20526f6c6c6f766572041c42616c616e6365047d01205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e205b6275646765745f72656d61696e696e675d1c4465706f736974041c42616c616e636504a820536f6d652066756e64732068617665206265656e206465706f73697465642e205b6465706f7369745d184e657754697004104861736804c42041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e205b7469705f686173685d28546970436c6f73696e670410486173680409012041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e205b7469705f686173685d24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504e82041207469702073756767657374696f6e20686173206265656e20636c6f7365642e205b7469705f686173682c2077686f2c207061796f75745d3054697052657472616374656404104861736804c02041207469702073756767657374696f6e20686173206265656e207265747261637465642e205b7469705f686173685d243050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080700000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210807000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e5c5469705265706f72744465706f736974506572427974653042616c616e63654f663c543e400010a5d4e800000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e204d6f64756c654964204d6f64756c6549642070792f7472737279041901205468652074726561737572792773206d6f64756c652069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e2070496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e50496e76616c696450726f706f73616c496e646578046c204e6f2070726f706f73616c206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e24436f6e7472616374730124436f6e747261637473143c43757272656e745363686564756c650100205363686564756c6535020000000020a107000000000020a107000000000020a107000000000020a107000000000020a107000000000020a107000000000020a1070000000000e0f7050400000000e024370500000000e0f705040000000020a107000000000020a107000000000080f0fa020000000000e1f505000000000400000000000100100000000040000000200000000000080004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001062c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001062c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010530543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e0004000ca82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f64650410636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e011830496e7374616e74696174656408244163636f756e744964244163636f756e74496404250120436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e205b6f776e65722c20636f6e74726163745d1c4576696374656408244163636f756e74496410626f6f6c1ce420436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e58205b636f6e74726163742c20746f6d6273746f6e655d042024202320506172616d73000d01202d2060636f6e7472616374603a20604163636f756e744964603a20546865206163636f756e74204944206f6620746865206576696374656420636f6e74726163742e3501202d2060746f6d6273746f6e65603a2060626f6f6c603a205472756520696620746865206576696374656420636f6e7472616374206c65667420626568696e64206120746f6d6273746f6e652e20526573746f72656410244163636f756e744964244163636f756e74496410486173681c42616c616e636524c020526573746f726174696f6e20666f72206120636f6e747261637420686173206265656e207375636365737366756c2ea4205b646f6e6f722c20646573742c20636f64655f686173682c2072656e745f616c6c6f77616e63655d042024202320506172616d7300f4202d2060646f6e6f72603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e7472616374ec202d206064657374603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72656420636f6e7472616374e8202d2060636f64655f68617368603a206048617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163741901202d206072656e745f616c6c6f77616e63653a206042616c616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e747261637428436f646553746f72656404104861736808b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e30205b636f64655f686173685d3c5363686564756c6555706461746564040c75333204c820547269676765726564207768656e207468652063757272656e74205b7363686564756c655d20697320757064617465642e44436f6e7472616374457865637574696f6e08244163636f756e7449641c5665633c75383e08090120416e206576656e74206465706f73697465642075706f6e20657865637574696f6e206f66206120636f6e74726163742066726f6d20746865206163636f756e742e40205b6163636f756e742c20646174615d204c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000a0acb903000000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c753332100800000018710120412073697a65206f666673657420666f7220616e20636f6e74726163742e2041206a7573742063726561746564206163636f756e74207769746820756e746f75636865642073746f726167652077696c6c20686176652074686174e0206d756368206f662073746f726167652066726f6d20746865207065727370656374697665206f66207468652073746174652072656e742e006101205468697320697320612073696d706c652077617920746f20656e73757265207468617420636f6e747261637473207769746820656d7074792073746f72616765206576656e7475616c6c79206765742064656c657465646501206279206d616b696e67207468656d207061792072656e742e2054686973206372656174657320616e20696e63656e7469766520746f2072656d6f7665207468656d206561726c7920696e206f7264657220746f2073617665182072656e742e2c52656e74427974654665653042616c616e63654f663c543e4000286bee000000000000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e400010a5d4e800000000000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e40005cb2ec22000000000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e4858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e204f75744f6647617304bc2054686520657865637574656420636f6e7472616374206578686175737465642069747320676173206c696d69742e504f7574707574427566666572546f6f536d616c6c04050120546865206f75747075742062756666657220737570706c69656420746f206120636f6e7472616374204150492063616c6c2077617320746f6f20736d616c6c2e6442656c6f7753756273697374656e63655468726573686f6c6410210120506572666f726d696e672074686520726571756573746564207472616e7366657220776f756c6420686176652062726f756768742074686520636f6e74726163742062656c6f773d01207468652073756273697374656e6365207468726573686f6c642e204e6f207472616e7366657220697320616c6c6f77656420746f20646f207468697320696e206f7264657220746f20616c6c6f77450120666f72206120746f6d6273746f6e6520746f20626520637265617465642e2055736520607365616c5f7465726d696e6174656020746f2072656d6f7665206120636f6e747261637420776974686f757470206c656176696e67206120746f6d6273746f6e6520626568696e642e504e6577436f6e74726163744e6f7446756e64656408390120546865206e65776c79206372656174656420636f6e74726163742069732062656c6f77207468652073756273697374656e6365207468726573686f6c6420616674657220657865637574696e6721012069747320636f6e74727563746f722e204e6f20636f6e7472616374732061726520616c6c6f77656420746f2065786973742062656c6f772074686174207468726573686f6c642e385472616e736665724661696c65640c250120506572666f726d696e672074686520726571756573746564207472616e73666572206661696c656420666f72206120726561736f6e206f726967696e6174696e6720696e2074686531012063686f73656e2063757272656e637920696d706c656d656e746174696f6e206f66207468652072756e74696d652e204d6f73742070726f6261626c79207468652062616c616e63652069738c20746f6f206c6f77206f72206c6f636b732061726520706c61636564206f6e2069742e4c4d617843616c6c44657074685265616368656408250120506572666f726d696e6720612063616c6c207761732064656e6965642062656361757365207468652063616c6c696e67206465707468207265616368656420746865206c696d697498206f6620776861742069732073706563696669656420696e20746865207363686564756c652e2c4e6f7443616c6c61626c650831012054686520636f6e74726163742074686174207761732063616c6c656420697320656974686572206e6f20636f6e747261637420617420616c6c20286120706c61696e206163636f756e74294c206f72206973206120746f6d6273746f6e652e30436f6465546f6f4c617267650455012054686520636f646520737570706c69656420746f20607075745f636f646560206578636565647320746865206c696d69742073706563696669656420696e207468652063757272656e74207363686564756c652e30436f64654e6f74466f756e6404c8204e6f20636f646520636f756c6420626520666f756e642061742074686520737570706c69656420636f646520686173682e2c4f75744f66426f756e6473042901204120627566666572206f757473696465206f662073616e64626f78206d656d6f7279207761732070617373656420746f206120636f6e7472616374204150492066756e6374696f6e2e384465636f64696e674661696c6564042d0120496e7075742070617373656420746f206120636f6e7472616374204150492066756e6374696f6e206661696c656420746f206465636f646520617320657870656374656420747970652e3c436f6e747261637454726170706564048c20436f6e7472616374207472617070656420647572696e6720657865637574696f6e2e105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e0110107375646f041063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e547375646f5f756e636865636b65645f776569676874081063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1c5f776569676874185765696768742839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e310120546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b4205375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292ed0202d2054686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c14537564696404384469737061746368526573756c7404842041207375646f206a75737420746f6f6b20706c6163652e205b726573756c745d284b65794368616e67656404244163636f756e74496404f820546865205b7375646f65725d206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04842041207375646f206a75737420746f6f6b20706c6163652e205b726573756c745d00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e7420496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000001831012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e2063757272656e742073657373696f6e2e0011012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c64d02066616c6c20726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e010120546865206964656120697320746f206669727374207761697420666f72207468652076616c696461746f727320746f2070726f64756365206120626c6f636b390120696e207468652063757272656e742073657373696f6e2c20736f20746861742074686520686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e64657838543a3a56616c696461746f7249640c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e6174757265282c2023203c7765696768743e2101202d20436f6d706c65786974793a20604f284b202b20452960207768657265204b206973206c656e677468206f6620604b6579736020616e642045206973206c656e677468206f66b4202020604865617274626561742e6e6574776f726b5f73746174652e65787465726e616c5f6164647265737360008c2020202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60b02020202d20604f284529603a206465636f64696e672f656e636f64696e67206f66206c656e677468206045603d01202d20446252656164733a2070616c6c65745f73657373696f6e206056616c696461746f7273602c2070616c6c65745f73657373696f6e206043757272656e74496e646578602c20604b657973602c5c202020605265636569766564486561727462656174736084202d2044625772697465733a206052656365697665644865617274626561747360302023203c2f7765696768743e010c444865617274626561745265636569766564042c417574686f72697479496404fc2041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f72697479496460205b617574686f726974795f69645d1c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0435012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265205b6f66666c696e655d2e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e48417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e636573101c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e4044656665727265644f6666656e6365730100645665633c44656665727265644f6666656e63654f663c543e3e0400086501204465666572726564207265706f72747320746861742068617665206265656e2072656a656374656420627920746865206f6666656e63652068616e646c657220616e64206e65656420746f206265207375626d6974746564442061742061206c617465722074696d652e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e63650c104b696e64384f706171756554696d65536c6f7410626f6f6c10550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e644d0120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e206c6173741d0120656c656d656e7420696e64696361746573206f6620746865206f6666656e636520776173206170706c69656420287472756529206f7220717565756564202866616c736529206c205b6b696e642c2074696d65736c6f742c206170706c6965645d2e000028486973746f726963616c00000000006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e0100000000204964656e7469747901204964656e7469747910284964656e746974794f6600010530543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e0004000c210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f6600010230543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e013c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e00010120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743e2901202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e64656420616e6420636f64652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f4c2d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2858202b205827202b2052296021012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e64656429e42020202d20776865726520605260206a756467656d656e74732d636f756e7420287265676973747261722d636f756e742d626f756e6465642984202d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e2501202d204f6e652073746f72616765206d75746174696f6e2028636f6465632d7265616420604f285827202b205229602c20636f6465632d777269746520604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e54902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e00b4202d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e002c2023203c7765696768743e34202d20604f2850202b20532960e82020202d20776865726520605060206f6c642d737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e732e18202d2044423ae02020202d206050202b2053602073746f72616765206d75746174696f6e732028636f64656320636f6d706c657869747920604f2831296029c02020202d204f6e652073746f7261676520726561642028636f64656320636f6d706c657869747920604f28502960292ec42020202d204f6e652073746f726167652077726974652028636f64656320636f6d706c657869747920604f28532960292ed42020202d204f6e652073746f726167652d6578697374732028604964656e746974794f663a3a636f6e7461696e735f6b657960292e302023203c2f7765696768743e38636c6561725f6964656e7469747900483d0120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e44202d20604f2852202b2053202b20582960d02020202d20776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e25012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e646564292e8c202d204f6e652062616c616e63652d756e72657365727665206f7065726174696f6e2ecc202d206032602073746f7261676520726561647320616e64206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65bc2053656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e30202d204f6e65206576656e74302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e341d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496434c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee4202d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647334ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00fc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e1c6164645f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106461746110446174611cb0204164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656e616d655f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651064617461104461746110d020416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656d6f76655f737562040c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651cc42052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e20717569745f7375620028902052656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b820746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564402073757065722d6964656e746974792e004901204e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d150120636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e01282c4964656e7469747953657404244163636f756e7449640409012041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e205b77686f5d3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e6365040d012041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e205b77686f2c206465706f7369745d384964656e746974794b696c6c656408244163636f756e7449641c42616c616e63650405012041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e205b77686f2c206465706f7369745d484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e64657804fc2041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e205b77686f2c207265676973747261725f696e6465785d504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e64657804e82041206a756467656d656e74207265717565737420776173207265747261637465642e205b77686f2c207265676973747261725f696e6465785d384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e6465780401012041206a756467656d656e742077617320676976656e2062792061207265676973747261722e205b7461726765742c207265676973747261725f696e6465785d3852656769737472617241646465640438526567697374726172496e64657804a4204120726567697374726172207761732061646465642e205b7265676973747261725f696e6465785d405375624964656e7469747941646465640c244163636f756e744964244163636f756e7449641c42616c616e6365044d012041207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e205b7375622c206d61696e2c206465706f7369745d485375624964656e7469747952656d6f7665640c244163636f756e744964244163636f756e7449641c42616c616e6365080d012041207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e54205b7375622c206d61696e2c206465706f7369745d485375624964656e746974795265766f6b65640c244163636f756e744964244163636f756e7449641c42616c616e6365081d012041207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d207468652101206d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e205b7375622c206d61696e2c206465706f7369745d183042617369634465706f7369743042616c616e63654f663c543e400080c6a47e8d0300000000000000000004d82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e746974792e304669656c644465706f7369743042616c616e63654f663c543e4000a031a95fe300000000000000000000042d012054686520616d6f756e742068656c64206f6e206465706f73697420706572206164646974696f6e616c206669656c6420666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f7369743042616c616e63654f663c543e400080f420e6b5000000000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637471012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c206265290120616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e74730c7533321064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e4c4d61784164646974696f6e616c4669656c64730c7533321064000000086501204d6178696d756d206e756d626572206f66206164646974696f6e616c206669656c64732074686174206d61792062652073746f72656420696e20616e2049442e204e656564656420746f20626f756e642074686520492f4fe020726571756972656420746f2061636365737320616e206964656e746974792c206275742063616e2062652070726574747920686967682e344d6178526567697374726172730c7533321014000000085101204d61786d696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e4048546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473047020546f6f206d616e79206164646974696f6e616c206669656c64732e44546f6f4d616e795265676973747261727304ec204d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d65640474204163636f756e7420494420697320616c7265616479206e616d65642e184e6f7453756204742053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564048c205375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e1c536f6369657479011c536f6369657479401c466f756e646572000030543a3a4163636f756e7449640400044820546865206669727374206d656d6265722e1452756c657300001c543a3a48617368040008510120412068617368206f66207468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e2043616e206f6e6c7920626520736574206f6e636520616e6454206f6e6c792062792074686520666f756e6465722e2843616e6469646174657301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e0400043901205468652063757272656e7420736574206f662063616e646964617465733b206269646465727320746861742061726520617474656d7074696e6720746f206265636f6d65206d656d626572732e4c53757370656e64656443616e6469646174657300010530543a3a4163636f756e744964e42842616c616e63654f663c542c20493e2c204269644b696e643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e2900040004842054686520736574206f662073757370656e6465642063616e646964617465732e0c506f7401003c42616c616e63654f663c542c20493e400000000000000000000000000000000004410120416d6f756e74206f66206f7572206163636f756e742062616c616e63652074686174206973207370656369666963616c6c7920666f7220746865206e65787420726f756e642773206269642873292e1048656164000030543a3a4163636f756e744964040004e820546865206d6f7374207072696d6172792066726f6d20746865206d6f737420726563656e746c7920617070726f766564206d656d626572732e1c4d656d626572730100445665633c543a3a4163636f756e7449643e04000494205468652063757272656e7420736574206f66206d656d626572732c206f7264657265642e4053757370656e6465644d656d6265727301010530543a3a4163636f756e74496410626f6f6c00040004782054686520736574206f662073757370656e646564206d656d626572732e104269647301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e040004e8205468652063757272656e7420626964732c2073746f726564206f726465726564206279207468652076616c7565206f6620746865206269642e20566f756368696e6700010530543a3a4163636f756e74496438566f756368696e6753746174757300040004e4204d656d626572732063757272656e746c7920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e1c5061796f75747301010530543a3a4163636f756e744964985665633c28543a3a426c6f636b4e756d6265722c2042616c616e63654f663c542c20493e293e000400044d012050656e64696e67207061796f7574733b206f72646572656420627920626c6f636b206e756d6265722c20776974682074686520616d6f756e7420746861742073686f756c642062652070616964206f75742e1c537472696b657301010530543a3a4163636f756e7449642c537472696b65436f756e7400100000000004dc20546865206f6e676f696e67206e756d626572206f66206c6f73696e6720766f746573206361737420627920746865206d656d6265722e14566f74657300020530543a3a4163636f756e74496430543a3a4163636f756e74496410566f746505040004d020446f75626c65206d61702066726f6d2043616e646964617465202d3e20566f746572202d3e20284d617962652920566f74652e20446566656e646572000030543a3a4163636f756e744964040004c42054686520646566656e64696e67206d656d6265722063757272656e746c79206265696e67206368616c6c656e6765642e34446566656e646572566f74657300010530543a3a4163636f756e74496410566f7465000400046020566f74657320666f722074686520646566656e6465722e284d61784d656d6265727301000c753332100000000004dc20546865206d6178206e756d626572206f66206d656d6265727320666f722074686520736f6369657479206174206f6e652074696d652e01300c626964041476616c75653c42616c616e63654f663c542c20493e84e020412075736572206f757473696465206f662074686520736f63696574792063616e206d616b6520612062696420666f7220656e7472792e003901205061796d656e743a206043616e6469646174654465706f736974602077696c6c20626520726573657276656420666f72206d616b696e672061206269642e2049742069732072657475726e6564f0207768656e2074686520626964206265636f6d65732061206d656d6265722c206f7220696620746865206269642063616c6c732060756e626964602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a5901202d206076616c7565603a2041206f6e652074696d65207061796d656e74207468652062696420776f756c64206c696b6520746f2072656365697665207768656e206a6f696e696e672074686520736f63696574792e002c2023203c7765696768743e5501204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520726573657276652944202d2053746f726167652052656164733aec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f284329c820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d2948202d2053746f72616765205772697465733a810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3a2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6820092d204f6e65206576656e7420666f72206e6577206269642efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e14756e626964040c706f730c7533324cd82041206269646465722063616e2072656d6f76652074686569722062696420666f7220656e74727920696e746f20736f63696574792e010120427920646f696e6720736f2c20746865792077696c6c20686176652074686569722063616e646964617465206465706f7369742072657475726e6564206f728420746865792077696c6c20756e766f75636820746865697220766f75636865722e00fc205061796d656e743a2054686520626964206465706f73697420697320756e7265736572766564206966207468652075736572206d6164652061206269642e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206269646465722e003020506172616d65746572733a1901202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2077616e747320746f20756e6269642e002c2023203c7765696768743eb0204b65793a204220286c656e206f662062696473292c2058202862616c616e636520756e72657365727665290d01202d204f6e652073746f72616765207265616420616e6420777269746520746f20726574726965766520616e64207570646174652074686520626964732e204f2842294501202d20456974686572206f6e6520756e726573657276652062616c616e636520616374696f6e204f285829206f72206f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2842202b205829302023203c2f7765696768743e14766f7563680c0c77686f30543a3a4163636f756e7449641476616c75653c42616c616e63654f663c542c20493e0c7469703c42616c616e63654f663c542c20493eb045012041732061206d656d6265722c20766f75636820666f7220736f6d656f6e6520746f206a6f696e20736f636965747920627920706c6163696e67206120626964206f6e20746865697220626568616c662e005501205468657265206973206e6f206465706f73697420726571756972656420746f20766f75636820666f722061206e6577206269642c206275742061206d656d6265722063616e206f6e6c7920766f75636820666f725d01206f6e652062696420617420612074696d652e2049662074686520626964206265636f6d657320612073757370656e6465642063616e64696461746520616e6420756c74696d6174656c792072656a65637465642062794101207468652073757370656e73696f6e206a756467656d656e74206f726967696e2c20746865206d656d6265722077696c6c2062652062616e6e65642066726f6d20766f756368696e6720616761696e2e005901204173206120766f756368696e67206d656d6265722c20796f752063616e20636c61696d206120746970206966207468652063616e6469646174652069732061636365707465642e2054686973207469702077696c6c51012062652070616964206173206120706f7274696f6e206f66207468652072657761726420746865206d656d6265722077696c6c207265636569766520666f72206a6f696e696e672074686520736f63696574792e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733acc202d206077686f603a2054686520757365722077686f20796f7520776f756c64206c696b6520746f20766f75636820666f722e5101202d206076616c7565603a2054686520746f74616c2072657761726420746f2062652070616964206265747765656e20796f7520616e64207468652063616e6469646174652069662074686579206265636f6d65642061206d656d62657220696e2074686520736f63696574792e4901202d2060746970603a20596f757220637574206f662074686520746f74616c206076616c756560207061796f7574207768656e207468652063616e64696461746520697320696e64756374656420696e746f15012074686520736f63696574792e2054697073206c6172676572207468616e206076616c7565602077696c6c206265207361747572617465642075706f6e207061796f75742e002c2023203c7765696768743e0101204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d626572732944202d2053746f726167652052656164733ac820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d29090120092d204f6e652073746f72616765207265616420746f20636865636b206d656d626572206973206e6f7420616c726561647920766f756368696e672e204f283129ec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f28432948202d2053746f72616765205772697465733a0d0120092d204f6e652073746f7261676520777269746520746f20696e7365727420766f756368696e672073746174757320746f20746865206d656d6265722e204f283129810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3ac020092d204f286c6f67204d292073656172636820746f20636865636b2073656e6465722069732061206d656d6265722e2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6020092d204f6e65206576656e7420666f7220766f7563682efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e1c756e766f756368040c706f730c753332442d01204173206120766f756368696e67206d656d6265722c20756e766f7563682061206269642e2054686973206f6e6c7920776f726b73207768696c6520766f7563686564207573657220697394206f6e6c792061206269646465722028616e64206e6f7420612063616e646964617465292e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206120766f756368696e67206d656d6265722e003020506172616d65746572733a2d01202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2073686f756c6420626520756e766f75636865642e002c2023203c7765696768743e54204b65793a204220286c656e206f662062696473290901202d204f6e652073746f726167652072656164204f28312920746f20636865636b20746865207369676e6572206973206120766f756368696e67206d656d6265722eec202d204f6e652073746f72616765206d757461746520746f20726574726965766520616e64207570646174652074686520626964732e204f28422994202d204f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f284229302023203c2f7765696768743e10766f7465082463616e6469646174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c617070726f766510626f6f6c4c882041732061206d656d6265722c20766f7465206f6e20612063616e6469646174652e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733a0d01202d206063616e646964617465603a205468652063616e646964617465207468617420746865206d656d62657220776f756c64206c696b6520746f20626964206f6e2ef4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265d82020202020202020202020202020617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743ebc204b65793a204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722e58202d204f6e65206163636f756e74206c6f6f6b75702e2d01202d204f6e652073746f726167652072656164204f28432920616e64204f2843292073656172636820746f20636865636b2074686174207573657220697320612063616e6469646174652ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204329302023203c2f7765696768743e34646566656e6465725f766f7465041c617070726f766510626f6f6c408c2041732061206d656d6265722c20766f7465206f6e2074686520646566656e6465722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733af4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265a420617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743e68202d204b65793a204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e007820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d29302023203c2f7765696768743e187061796f757400504501205472616e7366657220746865206669727374206d617475726564207061796f757420666f72207468652073656e64657220616e642072656d6f76652069742066726f6d20746865207265636f7264732e006901204e4f54453a20546869732065787472696e736963206e6565647320746f2062652063616c6c6564206d756c7469706c652074696d657320746f20636c61696d206d756c7469706c65206d617475726564207061796f7574732e002101205061796d656e743a20546865206d656d6265722077696c6c20726563656976652061207061796d656e7420657175616c20746f207468656972206669727374206d61747572656478207061796f757420746f20746865697220667265652062616c616e63652e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d62657220776974684c207061796f7574732072656d61696e696e672e002c2023203c7765696768743e1d01204b65793a204d20286c656e206f66206d656d62657273292c205020286e756d626572206f66207061796f75747320666f72206120706172746963756c6172206d656d626572292501202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b207369676e65722069732061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28502920746f2067657420616c6c207061796f75747320666f722061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28312920746f20676574207468652063757272656e7420626c6f636b206e756d6265722e8c202d204f6e652063757272656e6379207472616e736665722063616c6c2e204f2858291101202d204f6e652073746f72616765207772697465206f722072656d6f76616c20746f2075706461746520746865206d656d6265722773207061796f7574732e204f285029009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2050202b205829302023203c2f7765696768743e14666f756e640c1c666f756e64657230543a3a4163636f756e7449642c6d61785f6d656d626572730c7533321472756c65731c5665633c75383e4c4c20466f756e642074686520736f63696574792e00f0205468697320697320646f6e65206173206120646973637265746520616374696f6e20696e206f7264657220746f20616c6c6f7720666f72207468651901206d6f64756c6520746f20626520696e636c7564656420696e746f20612072756e6e696e6720636861696e20616e642063616e206f6e6c7920626520646f6e65206f6e63652e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f466f756e6465725365744f726967696e5f2e003020506172616d65746572733a1901202d2060666f756e64657260202d20546865206669727374206d656d62657220616e642068656164206f6620746865206e65776c7920666f756e64656420736f63696574792e1501202d20606d61785f6d656d6265727360202d2054686520696e697469616c206d6178206e756d626572206f66206d656d6265727320666f722074686520736f63696574792ef4202d206072756c657360202d205468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e002c2023203c7765696768743ee0202d2054776f2073746f72616765206d75746174657320746f207365742060486561646020616e642060466f756e646572602e204f283129f4202d204f6e652073746f7261676520777269746520746f2061646420746865206669727374206d656d62657220746f20736f63696574792e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e1c756e666f756e6400348c20416e6e756c2074686520666f756e64696e67206f662074686520736f63696574792e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205369676e65642c20616e6420746865207369676e696e67206163636f756e74206d75737420626520626f74685901207468652060466f756e6465726020616e6420746865206048656164602e205468697320696d706c6965732074686174206974206d6179206f6e6c7920626520646f6e65207768656e207468657265206973206f6e6520206d656d6265722e002c2023203c7765696768743e68202d2054776f2073746f72616765207265616473204f2831292e78202d20466f75722073746f726167652072656d6f76616c73204f2831292e34202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e586a756467655f73757370656e6465645f6d656d626572080c77686f30543a3a4163636f756e7449641c666f726769766510626f6f6c6c2d0120416c6c6f772073757370656e73696f6e206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e646564206d656d6265722e00590120496620612073757370656e646564206d656d62657220697320666f72676976656e2c2077652073696d706c7920616464207468656d206261636b2061732061206d656d6265722c206e6f7420616666656374696e67cc20616e79206f6620746865206578697374696e672073746f72616765206974656d7320666f722074686174206d656d6265722e00490120496620612073757370656e646564206d656d6265722069732072656a65637465642c2072656d6f766520616c6c206173736f6369617465642073746f72616765206974656d732c20696e636c7564696e670101207468656972207061796f7574732c20616e642072656d6f766520616e7920766f7563686564206269647320746865792063757272656e746c7920686176652e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ab4202d206077686f60202d205468652073757370656e646564206d656d62657220746f206265206a75646765642e3501202d2060666f726769766560202d204120626f6f6c65616e20726570726573656e74696e672077686574686572207468652073757370656e73696f6e206a756467656d656e74206f726967696e2501202020202020202020202020202020666f726769766573202860747275656029206f722072656a6563747320286066616c7365602920612073757370656e646564206d656d6265722e002c2023203c7765696768743ea4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d6265727329f8202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e646564206d656d6265722e204f2831297101202d20557020746f206f6e652073746f72616765207772697465204f284d292077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d626572206261636b20746f20736f63696574792ef8202d20557020746f20332073746f726167652072656d6f76616c73204f28312920746f20636c65616e20757020612072656d6f766564206d656d6265722e4501202d20557020746f206f6e652073746f72616765207772697465204f2842292077697468204f2842292073656172636820746f2072656d6f766520766f7563686564206269642066726f6d20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e70202d204f6e652073746f726167652072656d6f76616c2e204f2831297c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204229302023203c2f7765696768743e646a756467655f73757370656e6465645f63616e646964617465080c77686f30543a3a4163636f756e744964246a756467656d656e74244a756467656d656e74a0350120416c6c6f772073757370656e646564206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e6465642063616e6469646174652e005d0120496620746865206a756467656d656e742069732060417070726f7665602c20776520616464207468656d20746f20736f63696574792061732061206d656d62657220776974682074686520617070726f70726961746574207061796d656e7420666f72206a6f696e696e6720736f63696574792e00550120496620746865206a756467656d656e74206973206052656a656374602c2077652065697468657220736c61736820746865206465706f736974206f6620746865206269642c20676976696e67206974206261636b110120746f2074686520736f63696574792074726561737572792c206f722077652062616e2074686520766f75636865722066726f6d20766f756368696e6720616761696e2e005d0120496620746865206a756467656d656e7420697320605265626964602c20776520707574207468652063616e646964617465206261636b20696e207468652062696420706f6f6c20616e64206c6574207468656d20676f94207468726f7567682074686520696e64756374696f6e2070726f6365737320616761696e2e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ac0202d206077686f60202d205468652073757370656e6465642063616e64696461746520746f206265206a75646765642ec4202d20606a756467656d656e7460202d2060417070726f7665602c206052656a656374602c206f7220605265626964602e002c2023203c7765696768743ef4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520616374696f6e29f0202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e6465642063616e6469646174652ec8202d204f6e652073746f726167652072656d6f76616c206f66207468652073757370656e6465642063616e6469646174652e40202d20417070726f7665204c6f676963150120092d204f6e652073746f72616765207265616420746f206765742074686520617661696c61626c6520706f7420746f2070617920757365727320776974682e204f283129dc20092d204f6e652073746f7261676520777269746520746f207570646174652074686520617661696c61626c6520706f742e204f283129e820092d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f283129b420092d204f6e652073746f72616765207265616420746f2067657420616c6c206d656d626572732e204f284d29a020092d20557020746f206f6e6520756e726573657276652063757272656e637920616374696f6e2eb020092d20557020746f2074776f206e65772073746f726167652077726974657320746f207061796f7574732e4d0120092d20557020746f206f6e652073746f726167652077726974652077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d62657220746f20736f63696574792e3c202d2052656a656374204c6f676963dc20092d20557020746f206f6e6520726570617472696174652072657365727665642063757272656e637920616374696f6e2e204f2858292d0120092d20557020746f206f6e652073746f7261676520777269746520746f2062616e2074686520766f756368696e67206d656d6265722066726f6d20766f756368696e6720616761696e2e38202d205265626964204c6f676963410120092d2053746f72616765206d75746174652077697468204f286c6f672042292062696e6172792073656172636820746f20706c616365207468652075736572206261636b20696e746f20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e5c202d204f6e652073746f726167652072656d6f76616c2e7c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2042202b205829302023203c2f7765696768743e3c7365745f6d61785f6d656d62657273040c6d61780c753332381d0120416c6c6f777320726f6f74206f726967696e20746f206368616e676520746865206d6178696d756d206e756d626572206f66206d656d6265727320696e20736f63696574792eb4204d6178206d656d6265727368697020636f756e74206d7573742062652067726561746572207468616e20312e00dc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d205f524f4f545f2e003020506172616d65746572733ae4202d20606d617860202d20546865206d6178696d756d206e756d626572206f66206d656d6265727320666f722074686520736f63696574792e002c2023203c7765696768743eb0202d204f6e652073746f7261676520777269746520746f2075706461746520746865206d61782e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e01401c466f756e64656404244163636f756e74496404e02054686520736f636965747920697320666f756e6465642062792074686520676976656e206964656e746974792e205b666f756e6465725d0c42696408244163636f756e7449641c42616c616e63650861012041206d656d6265727368697020626964206a7573742068617070656e65642e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e64207468656972206f666665729420697320746865207365636f6e642e205b63616e6469646174655f69642c206f666665725d14566f7563680c244163636f756e7449641c42616c616e6365244163636f756e7449640861012041206d656d6265727368697020626964206a7573742068617070656e656420627920766f756368696e672e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e647101207468656972206f6666657220697320746865207365636f6e642e2054686520766f756368696e67207061727479206973207468652074686972642e205b63616e6469646174655f69642c206f666665722c20766f756368696e675d244175746f556e62696404244163636f756e7449640411012041205b63616e6469646174655d207761732064726f70706564202864756520746f20616e20657863657373206f66206269647320696e207468652073797374656d292e14556e62696404244163636f756e74496404b82041205b63616e6469646174655d207761732064726f70706564202862792074686569722072657175657374292e1c556e766f75636804244163636f756e7449640401012041205b63616e6469646174655d207761732064726f70706564202862792072657175657374206f662077686f20766f756368656420666f72207468656d292e20496e64756374656408244163636f756e744964385665633c4163636f756e7449643e08590120412067726f7570206f662063616e646964617465732068617665206265656e20696e6475637465642e205468652062617463682773207072696d617279206973207468652066697273742076616c75652c20746865cc20626174636820696e2066756c6c20697320746865207365636f6e642e205b7072696d6172792c2063616e646964617465735d6053757370656e6465644d656d6265724a756467656d656e7408244163636f756e74496410626f6f6c04c820412073757370656e646564206d656d62657220686173206265656e206a75646765642e205b77686f2c206a75646765645d4843616e64696461746553757370656e64656404244163636f756e74496404842041205b63616e6469646174655d20686173206265656e2073757370656e6465643c4d656d62657253757370656e64656404244163636f756e74496404782041205b6d656d6265725d20686173206265656e2073757370656e646564284368616c6c656e67656404244163636f756e744964047c2041205b6d656d6265725d20686173206265656e206368616c6c656e67656410566f74650c244163636f756e744964244163636f756e74496410626f6f6c04c0204120766f746520686173206265656e20706c61636564205b63616e6469646174652c20766f7465722c20766f74655d30446566656e646572566f746508244163636f756e74496410626f6f6c04f0204120766f746520686173206265656e20706c6163656420666f72206120646566656e64696e67206d656d626572205b766f7465722c20766f74655d344e65774d61784d656d62657273040c75333204982041206e6577205b6d61785d206d656d62657220636f756e7420686173206265656e2073657424556e666f756e64656404244163636f756e744964048020536f636965747920697320756e666f756e6465642e205b666f756e6465725d1c4465706f736974041c42616c616e636504f020536f6d652066756e64732077657265206465706f736974656420696e746f2074686520736f6369657479206163636f756e742e205b76616c75655d1c4043616e6469646174654465706f7369743c42616c616e63654f663c542c20493e400080c6a47e8d0300000000000000000004fc20546865206d696e696d756d20616d6f756e74206f662061206465706f73697420726571756972656420666f7220612062696420746f206265206d6164652e4857726f6e6753696465446564756374696f6e3c42616c616e63654f663c542c20493e400080f420e6b5000000000000000000000855012054686520616d6f756e74206f662074686520756e70616964207265776172642074686174206765747320646564756374656420696e207468652063617365207468617420656974686572206120736b6570746963c020646f65736e277420766f7465206f7220736f6d656f6e6520766f74657320696e207468652077726f6e67207761792e284d6178537472696b65730c753332100a00000008750120546865206e756d626572206f662074696d65732061206d656d626572206d617920766f7465207468652077726f6e672077617920286f72206e6f7420617420616c6c2c207768656e207468657920617265206120736b65707469632978206265666f72652074686579206265636f6d652073757370656e6465642e2c506572696f645370656e643c42616c616e63654f663c542c20493e400000c52ebca2b1000000000000000000042d012054686520616d6f756e74206f6620696e63656e7469766520706169642077697468696e206561636820706572696f642e20446f65736e277420696e636c75646520566f7465725469702e38526f746174696f6e506572696f6438543a3a426c6f636b4e756d626572100077010004110120546865206e756d626572206f6620626c6f636b73206265747765656e2063616e6469646174652f6d656d6265727368697020726f746174696f6e20706572696f64732e3c4368616c6c656e6765506572696f6438543a3a426c6f636b4e756d626572108013030004d020546865206e756d626572206f6620626c6f636b73206265747765656e206d656d62657273686970206368616c6c656e6765732e204d6f64756c654964204d6f64756c6549642070792f736f63696504682054686520736f636965746965732773206d6f64756c65206964482c426164506f736974696f6e049020416e20696e636f727265637420706f736974696f6e207761732070726f76696465642e244e6f744d656d62657204582055736572206973206e6f742061206d656d6265722e34416c72656164794d656d6265720468205573657220697320616c72656164792061206d656d6265722e2453757370656e646564044c20557365722069732073757370656e6465642e304e6f7453757370656e646564045c2055736572206973206e6f742073757370656e6465642e204e6f5061796f7574044c204e6f7468696e6720746f207061796f75742e38416c7265616479466f756e646564046420536f636965747920616c726561647920666f756e6465642e3c496e73756666696369656e74506f74049c204e6f7420656e6f75676820696e20706f7420746f206163636570742063616e6469646174652e3c416c7265616479566f756368696e6704e8204d656d62657220697320616c726561647920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e2e2c4e6f74566f756368696e670460204d656d626572206973206e6f7420766f756368696e672e104865616404942043616e6e6f742072656d6f7665207468652068656164206f662074686520636861696e2e1c466f756e646572046c2043616e6e6f742072656d6f76652074686520666f756e6465722e28416c7265616479426964047420557365722068617320616c7265616479206d6164652061206269642e40416c726561647943616e6469646174650474205573657220697320616c726561647920612063616e6469646174652e304e6f7443616e64696461746504642055736572206973206e6f7420612063616e6469646174652e284d61784d656d62657273048420546f6f206d616e79206d656d6265727320696e2074686520736f63696574792e284e6f74466f756e646572047c205468652063616c6c6572206973206e6f742074686520666f756e6465722e1c4e6f74486561640470205468652063616c6c6572206973206e6f742074686520686561642e205265636f7665727901205265636f766572790c2c5265636f76657261626c6500010530543a3a4163636f756e744964e85265636f76657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e0004000409012054686520736574206f66207265636f76657261626c65206163636f756e747320616e64207468656972207265636f7665727920636f6e66696775726174696f6e2e404163746976655265636f76657269657300020530543a3a4163636f756e74496430543a3a4163636f756e744964e84163746976655265636f766572793c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e050400106820416374697665207265636f7665727920617474656d7074732e001501204669727374206163636f756e7420697320746865206163636f756e7420746f206265207265636f76657265642c20616e6420746865207365636f6e64206163636f756e74ac20697320746865207573657220747279696e6720746f207265636f76657220746865206163636f756e742e1450726f787900010230543a3a4163636f756e74496430543a3a4163636f756e7449640004000c9020546865206c697374206f6620616c6c6f7765642070726f7879206163636f756e74732e00f8204d61702066726f6d2074686520757365722077686f2063616e2061636365737320697420746f20746865207265636f7665726564206163636f756e742e01243061735f7265636f7665726564081c6163636f756e7430543a3a4163636f756e7449641063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e34a42053656e6420612063616c6c207468726f7567682061207265636f7665726564206163636f756e742e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a2501202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f752077616e7420746f206d616b6520612063616c6c206f6e2d626568616c662d6f662e0101202d206063616c6c603a205468652063616c6c20796f752077616e7420746f206d616b65207769746820746865207265636f7665726564206163636f756e742e002c2023203c7765696768743e94202d2054686520776569676874206f6620746865206063616c6c60202b2031302c3030302e0901202d204f6e652073746f72616765206c6f6f6b757020746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e347365745f7265636f766572656408106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e744964341d0120416c6c6f7720524f4f5420746f2062797061737320746865207265636f766572792070726f6365737320616e642073657420616e20612072657363756572206163636f756e747420666f722061206c6f7374206163636f756e74206469726563746c792e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f524f4f545f2e003020506172616d65746572733ab8202d20606c6f7374603a2054686520226c6f7374206163636f756e742220746f206265207265636f76657265642e1d01202d206072657363756572603a20546865202272657363756572206163636f756e74222077686963682063616e2063616c6c20617320746865206c6f7374206163636f756e742e002c2023203c7765696768743e64202d204f6e652073746f72616765207772697465204f28312930202d204f6e65206576656e74302023203c2f7765696768743e3c6372656174655f7265636f766572790c1c667269656e6473445665633c543a3a4163636f756e7449643e247468726573686f6c640c7531363064656c61795f706572696f6438543a3a426c6f636b4e756d6265726c5d01204372656174652061207265636f7665727920636f6e66696775726174696f6e20666f7220796f7572206163636f756e742e2054686973206d616b657320796f7572206163636f756e74207265636f76657261626c652e003101205061796d656e743a2060436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732062616c616e636549012077696c6c20626520726573657276656420666f722073746f72696e6720746865207265636f7665727920636f6e66696775726174696f6e2e2054686973206465706f7369742069732072657475726e6564bc20696e2066756c6c207768656e2074686520757365722063616c6c73206072656d6f76655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2501202d2060667269656e6473603a2041206c697374206f6620667269656e647320796f7520747275737420746f20766f75636820666f72207265636f7665727920617474656d7074732ed420202053686f756c64206265206f72646572656420616e6420636f6e7461696e206e6f206475706c69636174652076616c7565732e3101202d20607468726573686f6c64603a20546865206e756d626572206f6620667269656e64732074686174206d75737420766f75636820666f722061207265636f7665727920617474656d70741d012020206265666f726520746865206163636f756e742063616e206265207265636f76657265642e2053686f756c64206265206c657373207468616e206f7220657175616c20746f94202020746865206c656e677468206f6620746865206c697374206f6620667269656e64732e3d01202d206064656c61795f706572696f64603a20546865206e756d626572206f6620626c6f636b732061667465722061207265636f7665727920617474656d707420697320696e697469616c697a6564e820202074686174206e6565647320746f2070617373206265666f726520746865206163636f756e742063616e206265207265636f76657265642e002c2023203c7765696768743e68202d204b65793a204620286c656e206f6620667269656e6473292d01202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973206e6f7420616c7265616479207265636f76657261626c652e204f2831292eec202d204120636865636b20746861742074686520667269656e6473206c69737420697320736f7274656420616e6420756e697175652e204f2846299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f2858299c202d204f6e652073746f726167652077726974652e204f2831292e20436f646563204f2846292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e44696e6974696174655f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496458ec20496e697469617465207468652070726f6365737320666f72207265636f766572696e672061207265636f76657261626c65206163636f756e742e001d01205061796d656e743a20605265636f766572794465706f736974602062616c616e63652077696c6c20626520726573657276656420666f7220696e6974696174696e67207468652501207265636f766572792070726f636573732e2054686973206465706f7369742077696c6c20616c7761797320626520726570617472696174656420746f20746865206163636f756e74b820747279696e6720746f206265207265636f76657265642e205365652060636c6f73655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e2054686973206163636f756e7401012020206e6565647320746f206265207265636f76657261626c652028692e652e20686176652061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743ef8202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973207265636f76657261626c652e204f2846295101202d204f6e652073746f72616765207265616420746f20636865636b20746861742074686973207265636f766572792070726f63657373206861736e277420616c726561647920737461727465642e204f2831299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f285829e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831296c202d204f6e652073746f726167652077726974652e204f2831292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e38766f7563685f7265636f7665727908106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e74496464290120416c6c6f7720612022667269656e6422206f662061207265636f76657261626c65206163636f756e7420746f20766f75636820666f7220616e20616374697665207265636f76657279682070726f6365737320666f722074686174206163636f756e742e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d75737420626520612022667269656e64227420666f7220746865207265636f76657261626c65206163636f756e742e003020506172616d65746572733ad4202d20606c6f7374603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f2072657363756520746865206c6f7374206163636f756e74207468617420796f755420202077616e7420746f20766f75636820666f722e0025012054686520636f6d62696e6174696f6e206f662074686573652074776f20706172616d6574657273206d75737420706f696e7420746f20616e20616374697665207265636f76657279242070726f636573732e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629ec202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c6572206973206120667269656e642e204f286c6f6746291d01202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c657220686173206e6f7420616c726561647920766f75636865642e204f286c6f6756299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e00a420546f74616c20436f6d706c65786974793a204f2846202b206c6f6746202b2056202b206c6f675629302023203c2f7765696768743e38636c61696d5f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496450f420416c6c6f772061207375636365737366756c207265736375657220746f20636c61696d207468656972207265636f7665726564206163636f756e742e002d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061202272657363756572221d012077686f20686173207375636365737366756c6c7920636f6d706c6574656420746865206163636f756e74207265636f766572792070726f636573733a20636f6c6c6563746564310120607468726573686f6c6460206f72206d6f726520766f75636865732c20776169746564206064656c61795f706572696f646020626c6f636b732073696e636520696e6974696174696f6e2e003020506172616d65746572733a2d01202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f20636c61696d20686173206265656e207375636365737366756c6c79502020207265636f766572656420627920796f752e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205629302023203c2f7765696768743e38636c6f73655f7265636f76657279041c7265736375657230543a3a4163636f756e7449645015012041732074686520636f6e74726f6c6c6572206f662061207265636f76657261626c65206163636f756e742c20636c6f736520616e20616374697665207265636f76657279682070726f6365737320666f7220796f7572206163636f756e742e002101205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e2c20746865207265636f76657261626c65206163636f756e742077696c6c2072656365697665f820746865207265636f76657279206465706f73697420605265636f766572794465706f7369746020706c616365642062792074686520726573637565722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061f0207265636f76657261626c65206163636f756e74207769746820616e20616374697665207265636f766572792070726f6365737320666f722069742e003020506172616d65746572733a1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f207265736375652074686973207265636f76657261626c65206163636f756e742e002c2023203c7765696768743e84204b65793a205620286c656e206f6620766f756368696e6720667269656e6473293d01202d204f6e652073746f7261676520726561642f72656d6f766520746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629c0202d204f6e652062616c616e63652063616c6c20746f20726570617472696174652072657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2856202b205829302023203c2f7765696768743e3c72656d6f76655f7265636f7665727900545d012052656d6f766520746865207265636f766572792070726f6365737320666f7220796f7572206163636f756e742e205265636f7665726564206163636f756e747320617265207374696c6c2061636365737369626c652e001501204e4f54453a205468652075736572206d757374206d616b65207375726520746f2063616c6c2060636c6f73655f7265636f7665727960206f6e20616c6c206163746976650901207265636f7665727920617474656d707473206265666f72652063616c6c696e6720746869732066756e6374696f6e20656c73652069742077696c6c206661696c2e002501205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e20746865207265636f76657261626c65206163636f756e742077696c6c20756e7265736572766598207468656972207265636f7665727920636f6e66696775726174696f6e206465706f7369742ef4202860436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732900050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061e4207265636f76657261626c65206163636f756e742028692e652e206861732061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743e60204b65793a204620286c656e206f6620667269656e6473292901202d204f6e652073746f72616765207265616420746f206765742074686520707265666978206974657261746f7220666f7220616374697665207265636f7665726965732e204f2831293901202d204f6e652073746f7261676520726561642f72656d6f766520746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846299c202d204f6e652062616c616e63652063616c6c20746f20756e72657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e4063616e63656c5f7265636f7665726564041c6163636f756e7430543a3a4163636f756e7449642ce02043616e63656c20746865206162696c69747920746f20757365206061735f7265636f76657265646020666f7220606163636f756e74602e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a1901202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f75206172652061626c6520746f2063616c6c206f6e2d626568616c662d6f662e002c2023203c7765696768743e1101202d204f6e652073746f72616765206d75746174696f6e20746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e01183c5265636f766572794372656174656404244163636f756e74496404d42041207265636f766572792070726f6365737320686173206265656e2073657420757020666f7220616e205b6163636f756e745d2e445265636f76657279496e6974696174656408244163636f756e744964244163636f756e744964082d012041207265636f766572792070726f6365737320686173206265656e20696e6974696174656420666f72206c6f7374206163636f756e742062792072657363756572206163636f756e742e40205b6c6f73742c20726573637565725d3c5265636f76657279566f75636865640c244163636f756e744964244163636f756e744964244163636f756e744964085d012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20766f756368656420666f722062792073656e6465722e60205b6c6f73742c20726573637565722c2073656e6465725d385265636f76657279436c6f73656408244163636f756e744964244163636f756e7449640821012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20636c6f7365642e40205b6c6f73742c20726573637565725d404163636f756e745265636f766572656408244163636f756e744964244163636f756e744964080501204c6f7374206163636f756e7420686173206265656e207375636365737366756c6c79207265636f76657265642062792072657363756572206163636f756e742e40205b6c6f73742c20726573637565725d3c5265636f7665727952656d6f76656404244163636f756e74496404d82041207265636f766572792070726f6365737320686173206265656e2072656d6f76656420666f7220616e205b6163636f756e745d2e1044436f6e6669674465706f736974426173653042616c616e63654f663c543e4000406352bfc60100000000000000000004550120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e4c467269656e644465706f736974466163746f723042616c616e63654f663c543e4000203d88792d000000000000000000000469012054686520616d6f756e74206f662063757272656e6379206e656564656420706572206164646974696f6e616c2075736572207768656e206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e284d6178467269656e64730c753136080900040d0120546865206d6178696d756d20616d6f756e74206f6620667269656e647320616c6c6f77656420696e2061207265636f7665727920636f6e66696775726174696f6e2e3c5265636f766572794465706f7369743042616c616e63654f663c543e4000406352bfc601000000000000000000041d0120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72207374617274696e672061207265636f766572792e40284e6f74416c6c6f77656404f42055736572206973206e6f7420616c6c6f77656420746f206d616b6520612063616c6c206f6e20626568616c66206f662074686973206163636f756e74345a65726f5468726573686f6c640490205468726573686f6c64206d7573742062652067726561746572207468616e207a65726f404e6f74456e6f756768467269656e647304d420467269656e6473206c697374206d7573742062652067726561746572207468616e207a65726f20616e64207468726573686f6c64284d6178467269656e647304ac20467269656e6473206c697374206d757374206265206c657373207468616e206d617820667269656e6473244e6f74536f7274656404cc20467269656e6473206c697374206d75737420626520736f7274656420616e642066726565206f66206475706c696361746573384e6f745265636f76657261626c6504a02054686973206163636f756e74206973206e6f742073657420757020666f72207265636f7665727948416c72656164795265636f76657261626c6504b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f7665727938416c72656164795374617274656404e02041207265636f766572792070726f636573732068617320616c7265616479207374617274656420666f722074686973206163636f756e74284e6f745374617274656404d02041207265636f766572792070726f6365737320686173206e6f74207374617274656420666f7220746869732072657363756572244e6f74467269656e6404ac2054686973206163636f756e74206973206e6f74206120667269656e642077686f2063616e20766f7563682c44656c6179506572696f64041d012054686520667269656e64206d757374207761697420756e74696c207468652064656c617920706572696f6420746f20766f75636820666f722074686973207265636f7665727938416c7265616479566f756368656404c0205468697320757365722068617320616c726561647920766f756368656420666f722074686973207265636f76657279245468726573686f6c6404ec20546865207468726573686f6c6420666f72207265636f766572696e672074686973206163636f756e7420686173206e6f74206265656e206d65742c5374696c6c41637469766504010120546865726520617265207374696c6c20616374697665207265636f7665727920617474656d7074732074686174206e65656420746f20626520636c6f736564204f766572666c6f77049c2054686572652077617320616e206f766572666c6f7720696e20612063616c63756c6174696f6e30416c726561647950726f787904b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f766572791c56657374696e67011c56657374696e67041c56657374696e6700010230543a3a4163636f756e744964a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e011010766573740044bc20556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c68206c6f636b656420756e6465722074686973206d6f64756c652e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20322052656164732c203220577269746573fc20202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d010120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d34202d2042656e63686d61726b3aec20202020202d20556e6c6f636b65643a2034382e3736202b202e303438202a206c20c2b57320286d696e2073717561726520616e616c7973697329e420202020202d204c6f636b65643a2034342e3433202b202e323834202a206c20c2b57320286d696e2073717561726520616e616c7973697329ad01202d205573696e6720353020c2b5732066697865642e20417373756d696e67206c657373207468616e203530206c6f636b73206f6e20616e7920757365722c20656c7365207765206d61792077616e7420666163746f7220696e206e756d626572206f66206c6f636b732e302023203c2f7765696768743e28766573745f6f7468657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654cbc20556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501202d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c68206c6f636b656420756e6465722074686973206d6f64756c652e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c203320577269746573f420202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f820202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e7434202d2042656e63686d61726b3ae820202020202d20556e6c6f636b65643a2034342e33202b202e323934202a206c20c2b57320286d696e2073717561726520616e616c7973697329e420202020202d204c6f636b65643a2034382e3136202b202e313033202a206c20c2b57320286d696e2073717561726520616e616c7973697329ad01202d205573696e6720353020c2b5732066697865642e20417373756d696e67206c657373207468616e203530206c6f636b73206f6e20616e7920757365722c20656c7365207765206d61792077616e7420666163746f7220696e206e756d626572206f66206c6f636b732e302023203c2f7765696768743e3c7665737465645f7472616e7366657208187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e486820437265617465206120766573746564207472616e736665722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e001501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c2033205772697465733d0120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d410120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745de0202d2042656e63686d61726b3a203130302e33202b202e333635202a206c20c2b57320286d696e2073717561726520616e616c7973697329b101202d205573696e672031303020c2b5732066697865642e20417373756d696e67206c657373207468616e203530206c6f636b73206f6e20616e7920757365722c20656c7365207765206d61792077616e7420666163746f7220696e206e756d626572206f66206c6f636b732e302023203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e4c6420466f726365206120766573746564207472616e736665722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00ec202d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e1501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20342052656164732c203420577269746573350120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74390120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74e0202d2042656e63686d61726b3a203130302e33202b202e333635202a206c20c2b57320286d696e2073717561726520616e616c7973697329b101202d205573696e672031303020c2b5732066697865642e20417373756d696e67206c657373207468616e203530206c6f636b73206f6e20616e7920757365722c20656c7365207765206d61792077616e7420666163746f7220696e206e756d626572206f66206c6f636b732e302023203c2f7765696768743e01083856657374696e675570646174656408244163636f756e7449641c42616c616e63650c59012054686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e646963617465206d6f72652066756e64732061726520617661696c61626c652e205468651d012062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e2050205b6163636f756e742c20756e7665737465645d4056657374696e67436f6d706c6574656404244163636f756e74496404150120416e205b6163636f756e745d20686173206265636f6d652066756c6c79207665737465642e204e6f20667572746865722076657374696e672063616e2068617070656e2e04444d696e5665737465645472616e736665723042616c616e63654f663c543e400000c16ff28623000000000000000000041d0120546865206d696e696d756d20616d6f756e7420746f206265207472616e7366657272656420746f206372656174652061206e65772076657374696e67207363686564756c652e0c284e6f7456657374696e67048820546865206163636f756e7420676976656e206973206e6f742076657374696e672e5c4578697374696e6756657374696e675363686564756c65045d0120416e206578697374696e672076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e7420746861742063616e6e6f7420626520636c6f6262657265642e24416d6f756e744c6f7704090120416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e245363686564756c657201245363686564756c65720c184167656e646101010538543a3a426c6f636b4e756d6265726d015665633c4f7074696f6e3c5363686564756c65643c3c542061732054726169743e3a3a43616c6c2c20543a3a426c6f636b4e756d6265722c20543a3a0a50616c6c6574734f726967696e2c20543a3a4163636f756e7449643e3e3e000400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001051c5665633c75383e6c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e0118207363686564756c6510107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e287420416e6f6e796d6f75736c79207363686564756c652061207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7390202d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64615020202020202d2057726974653a204167656e64613d01202d2057696c6c20757365206261736520776569676874206f662032352077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e1863616e63656c08107768656e38543a3a426c6f636b4e756d62657214696e6465780c75333228982043616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64617020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f6e616d6564140869641c5665633c75383e107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e285c205363686564756c652061206e616d6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c738c202d2042617365205765696768743a2032392e36202b202e313539202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704d01202d2057696c6c20757365206261736520776569676874206f662033352077686963682073686f756c6420626520676f6f6420666f72206d6f7265207468616e203330207363686564756c65642063616c6c73302023203c2f7765696768743e3063616e63656c5f6e616d6564040869641c5665633c75383e287c2043616e63656c2061206e616d6564207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f61667465721014616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e14ac20416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002c2023203c7765696768743e582053616d65206173205b607363686564756c65605d2e302023203c2f7765696768743e507363686564756c655f6e616d65645f6166746572140869641c5665633c75383e14616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1494205363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002c2023203c7765696768743e702053616d65206173205b607363686564756c655f6e616d6564605d2e302023203c2f7765696768743e010c245363686564756c6564082c426c6f636b4e756d6265720c753332048c205363686564756c656420736f6d65207461736b2e205b7768656e2c20696e6465785d2043616e63656c6564082c426c6f636b4e756d6265720c75333204882043616e63656c656420736f6d65207461736b2e205b7768656e2c20696e6465785d28446973706174636865640c605461736b416464726573733c426c6f636b4e756d6265723e3c4f7074696f6e3c5665633c75383e3e384469737061746368526573756c7404a4204469737061746368656420736f6d65207461736b2e205b7461736b2c2069642c20726573756c745d000c404661696c6564546f5363686564756c650468204661696c656420746f207363686564756c6520612063616c6c384661696c6564546f43616e63656c0488204661696c656420746f2063616e63656c2061207363686564756c65642063616c6c5c546172676574426c6f636b4e756d626572496e5061737404a820476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e1450726f7879011450726f7879081c50726f7869657301010530543a3a4163636f756e7449644501285665633c50726f7879446566696e6974696f6e3c543a3a4163636f756e7449642c20543a3a50726f7879547970652c20543a3a426c6f636b4e756d6265723e3e2c0a2042616c616e63654f663c543e29004400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e747301010530543a3a4163636f756e7449643d01285665633c416e6e6f756e63656d656e743c543a3a4163636f756e7449642c2043616c6c486173684f663c543e2c20543a3a426c6f636b4e756d6265723e3e2c0a2042616c616e63654f663c543e290044000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01281470726f78790c107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e3c51012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e246164645f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d6265722c490120526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792e0101202d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3072656d6f76655f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d6265722cac20556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2901202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e4501202d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3872656d6f76655f70726f786965730028b820556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901205741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e747320637265617465642062792060616e6f6e796d6f7573602c20686f776576657220696620646f6e652c207468656e5d012074686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e24616e6f6e796d6f75730c2870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d62657214696e6465780c7531365c3d0120537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64010120696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e0070205265717569726573206120605369676e656460206f726967696e2e005501202d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468655101206e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f7c20616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e5501202d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d656101207472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a757374442077616e7420746f20757365206030602e5101202d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c7920626518207a65726f2e005501204661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659c2073616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e8204661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e9020544f444f3a204d69676874206265206f76657220636f756e74696e6720312072656164386b696c6c5f616e6f6e796d6f7573141c737061776e657230543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f78795479706514696e6465780c753136186865696768745c436f6d706163743c543a3a426c6f636b4e756d6265723e246578745f696e64657830436f6d706163743c7533323e50b82052656d6f76657320612070726576696f75736c7920737061776e656420616e6f6e796d6f75732070726f78792e004d01205741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c2062653820696e61636365737369626c652e005d01205265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746fac2060616e6f6e796d6f757360207769746820636f72726573706f6e64696e6720706172616d65746572732e005101202d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060616e6f6e796d6f75736020746f206372656174652074686973206163636f756e742e5101202d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e2050726f6261626c79206030602e0501202d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e4101202d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e4d01202d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e004d01204661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c79206372656174656420616e6f6e796d6f7573f4206163636f756e742077686f73652060616e6f6e796d6f7573602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e20616e6e6f756e636508107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e540901205075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e0061012054686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d707465642901206966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e001501204e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000d0120546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c2061731d012060416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656d6f76655f616e6e6f756e63656d656e7408107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40742052656d6f7665206120676976656e20616e6e6f756e63656d656e742e005d01204d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e3420746865206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656a6563745f616e6e6f756e63656d656e74082064656c656761746530543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40b42052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e006501204d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c656761746573290120286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733af8202d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ec0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e3c70726f78795f616e6e6f756e636564102064656c656761746530543a3a4163636f756e744964107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e4451012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e010c3450726f7879457865637574656404384469737061746368526573756c7404e420412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e205b726573756c745d2e40416e6f6e796d6f75734372656174656410244163636f756e744964244163636f756e7449642450726f7879547970650c75313608ec20416e6f6e796d6f7573206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e610120646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e205b616e6f6e796d6f75732c2077686f2c2070726f78795f747970652c20646973616d626967756174696f6e5f696e6465785d24416e6e6f756e6365640c244163636f756e744964244163636f756e744964104861736804490120416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e205b7265616c2c2070726f78792c2063616c6c5f686173685d184050726f78794465706f736974426173653042616c616e63654f663c543e4000f09e544c390000000000000000000004110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e4850726f78794465706f736974466163746f723042616c616e63654f663c543e400060aa7714b40000000000000000000004bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e284d617850726f786965730c75313608200004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e670c7533321020000000047820604d617850656e64696e6760206d6574616461746120736861646f772e5c416e6e6f756e63656d656e744465706f736974426173653042616c616e63654f663c543e4000f09e544c390000000000000000000004ac2060416e6e6f756e63656d656e744465706f7369744261736560206d6574616461746120736861646f772e64416e6e6f756e63656d656e744465706f736974466163746f723042616c616e63654f663c543e4000c054ef28680100000000000000000004b42060416e6e6f756e63656d656e744465706f736974466163746f7260206d6574616461746120736861646f772e1c1c546f6f4d616e790425012054686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e6404782050726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f787904d02053656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c6504250120412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650470204163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e0419012043616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e63656404d420416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e204d756c746973696701204d756c746973696708244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e1443616c6c73000106205b75383b2033325da0284f706171756543616c6c2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e290004000001105061735f6d756c74695f7468726573686f6c645f3108446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e44550120496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e004101202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f66207468650501206d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00bc20526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e002c2023203c7765696768743e1d01204f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d2042617365205765696768743a2033332e3732202b20302e303032202a205a20c2b57348202d204442205765696768743a204e6f6e654c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e2061735f6d756c746918247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c284f706171756543616c6c2873746f72655f63616c6c10626f6f6c286d61785f77656967687418576569676874cc590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3c202d2042617365205765696768743ae020202020202d204372656174653a2020202020202020202034312e3839202b20302e313138202a2053202b202e303032202a205a20c2b573e020202020202d2043726561746520772f2053746f72653a2035332e3537202b20302e313139202a2053202b202e303033202a205a20c2b573e020202020202d20417070726f76653a20202020202020202033312e3339202b20302e313336202a2053202b202e303032202a205a20c2b573e020202020202d20436f6d706c6574653a202020202020202033392e3934202b20302e323620202a2053202b202e303032202a205a20c2b57334202d204442205765696768743a250120202020202d2052656164733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c6029290120202020202d205772697465733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c60294c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e40617070726f76655f61735f6d756c746914247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d286d61785f776569676874185765696768749c590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3c202d2042617365205765696768743a8020202020202d204372656174653a2034342e3731202b20302e303838202a20538420202020202d20417070726f76653a2033312e3438202b20302e313136202a205334202d204442205765696768743abc20202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745dc020202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d6c59012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d84202d2042617365205765696768743a2033362e3037202b20302e313234202a205334202d204442205765696768743a190120202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c731d0120202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c73302023203c2f7765696768743e01102c4e65774d756c74697369670c244163636f756e744964244163636f756e7449642043616c6c486173680415012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e205b617070726f76696e672c206d756c74697369672c2063616c6c5f686173685d404d756c7469736967417070726f76616c10244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c48617368047d012041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e205b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685d404d756c7469736967457865637574656414244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c48617368384469737061746368526573756c740451012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e205b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685d444d756c746973696743616e63656c6c656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c486173680459012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e205b63616e63656c6c696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685d0038404d696e696d756d5468726573686f6c640480205468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e30576569676874546f6f4c6f7704d420546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f72656404a420546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e041c40436865636b5370656356657273696f6e38436865636b547856657273696f6e30436865636b47656e6573697338436865636b4d6f7274616c69747928436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e74
+ tests/meta/v11.json view
@@ -0,0 +1,11686 @@+{+ "magicNumber": 1635018093,+ "metadata": {+ "v11": {+ "modules": [+ {+ "name": "System",+ "storage": {+ "prefix": "System",+ "items": [+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountInfo",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The full account information for a particular account ID."+ ]+ },+ {+ "name": "ExtrinsicCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total extrinsics count for the current block."+ ]+ },+ {+ "name": "BlockWeight",+ "modifier": "Default",+ "type": {+ "plain": "ExtrinsicsWeight"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The current weight for the block."+ ]+ },+ {+ "name": "AllExtrinsicsLen",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total length (in bytes) for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "BlockHash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Map of block numbers to block hashes."+ ]+ },+ {+ "name": "ExtrinsicData",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Extrinsics data for the current block (maps an extrinsic's index to its data)."+ ]+ },+ {+ "name": "Number",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current block number being processed. Set by `execute_block`."+ ]+ },+ {+ "name": "ParentHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Hash of the previous block."+ ]+ },+ {+ "name": "ExtrinsicsRoot",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Extrinsics root of the current block, also part of the block header."+ ]+ },+ {+ "name": "Digest",+ "modifier": "Default",+ "type": {+ "plain": "DigestOf"+ },+ "fallback": "0x00",+ "docs": [+ " Digest of the current block, also part of the block header."+ ]+ },+ {+ "name": "Events",+ "modifier": "Default",+ "type": {+ "plain": "Vec<EventRecord>"+ },+ "fallback": "0x00",+ "docs": [+ " Events deposited for the current block."+ ]+ },+ {+ "name": "EventCount",+ "modifier": "Default",+ "type": {+ "plain": "EventIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of events in the `Events<T>` list."+ ]+ },+ {+ "name": "EventTopics",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "Hash",+ "value": "Vec<(BlockNumber,EventIndex)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Mapping between a topic (represented by T::Hash) and a vector of indexes",+ " of events in the `<Events<T>>` list.",+ "",+ " All topic vectors have deterministic storage locations depending on the topic. This",+ " allows light-clients to leverage the changes trie storage tracking mechanism and",+ " in case of changes fetch the list of events of interest.",+ "",+ " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",+ " the `EventIndex` then in case if the topic has the same contents on the next block",+ " no notification will be triggered thus the event might be lost."+ ]+ },+ {+ "name": "LastRuntimeUpgrade",+ "modifier": "Optional",+ "type": {+ "plain": "LastRuntimeUpgradeInfo"+ },+ "fallback": "0x00",+ "docs": [+ " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."+ ]+ },+ {+ "name": "ExecutionPhase",+ "modifier": "Optional",+ "type": {+ "plain": "Phase"+ },+ "fallback": "0x00",+ "docs": [+ " The execution phase of the block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "fill_block",+ "args": [+ {+ "name": "_ratio",+ "type": "Perbill"+ }+ ],+ "docs": [+ " A dispatch that will fill the block weight up to the given ratio."+ ]+ },+ {+ "name": "remark",+ "args": [+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - Base Weight: 0.665 µs, independent of remark length.",+ " - No DB operations.",+ " # </weight>"+ ]+ },+ {+ "name": "set_heap_pages",+ "args": [+ {+ "name": "pages",+ "type": "u64"+ }+ ],+ "docs": [+ " Set the number of pages in the WebAssembly environment's heap.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write.",+ " - Base Weight: 1.405 µs",+ " - 1 write to HEAP_PAGES",+ " # </weight>"+ ]+ },+ {+ "name": "set_code",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code.",+ "",+ " # <weight>",+ " - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime, but generally this is very expensive.",+ " We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_code_without_checks",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code without doing any checks of the given `code`.",+ "",+ " # <weight>",+ " - `O(C)` where `C` length of `code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime. We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_changes_trie_config",+ "args": [+ {+ "name": "changes_trie_config",+ "type": "Option<ChangesTrieConfiguration>"+ }+ ],+ "docs": [+ " Set the new changes trie configuration.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write or delete (codec `O(1)`).",+ " - 1 call to `deposit_log`: Uses `append` API, so O(1)",+ " - Base Weight: 7.218 µs",+ " - DB Weight:",+ " - Writes: Changes Trie, System Digest",+ " # </weight>"+ ]+ },+ {+ "name": "set_storage",+ "args": [+ {+ "name": "items",+ "type": "Vec<KeyValue>"+ }+ ],+ "docs": [+ " Set some items of storage.",+ "",+ " # <weight>",+ " - `O(I)` where `I` length of `items`",+ " - `I` storage writes (`O(1)`).",+ " - Base Weight: 0.568 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_storage",+ "args": [+ {+ "name": "keys",+ "type": "Vec<Key>"+ }+ ],+ "docs": [+ " Kill some items from storage.",+ "",+ " # <weight>",+ " - `O(IK)` where `I` length of `keys` and `K` length of one key",+ " - `I` storage deletions.",+ " - Base Weight: .378 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_prefix",+ "args": [+ {+ "name": "prefix",+ "type": "Key"+ },+ {+ "name": "_subkeys",+ "type": "u32"+ }+ ],+ "docs": [+ " Kill all storage items with a key that starts with the given prefix.",+ "",+ " **NOTE:** We rely on the Root origin to provide us the number of subkeys under",+ " the prefix we are removing to accurately calculate the weight of this function.",+ "",+ " # <weight>",+ " - `O(P)` where `P` amount of keys with prefix `prefix`",+ " - `P` storage deletions.",+ " - Base Weight: 0.834 * P µs",+ " - Writes: Number of subkeys + 1",+ " # </weight>"+ ]+ },+ {+ "name": "suicide",+ "args": [],+ "docs": [+ " Kill the sending account, assuming there are no references outstanding and the composite",+ " data is equal to its default value.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage read and deletion.",+ " --------------------",+ " Base Weight: 8.626 µs",+ " No DB Read or Write operations because caller is already in overlay",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ExtrinsicSuccess",+ "args": [+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic completed successfully. [info]"+ ]+ },+ {+ "name": "ExtrinsicFailed",+ "args": [+ "DispatchError",+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic failed. [error, info]"+ ]+ },+ {+ "name": "CodeUpdated",+ "args": [],+ "docs": [+ " `:code` was updated."+ ]+ },+ {+ "name": "NewAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A new [account] was created."+ ]+ },+ {+ "name": "KilledAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An [account] was reaped."+ ]+ }+ ],+ "constants": [+ {+ "name": "BlockHashCount",+ "type": "BlockNumber",+ "value": "0x60090000",+ "docs": [+ " The maximum number of blocks to allow in mortal eras."+ ]+ },+ {+ "name": "MaximumBlockWeight",+ "type": "Weight",+ "value": "0x00204aa9d1010000",+ "docs": [+ " The maximum weight of a block."+ ]+ },+ {+ "name": "DbWeight",+ "type": "RuntimeDbWeight",+ "value": "0x40787d010000000000e1f50500000000",+ "docs": [+ " The weight of runtime database operations the runtime can invoke."+ ]+ },+ {+ "name": "BlockExecutionWeight",+ "type": "Weight",+ "value": "0x00f2052a01000000",+ "docs": [+ " The base weight of executing a block, independent of the transactions in the block."+ ]+ },+ {+ "name": "ExtrinsicBaseWeight",+ "type": "Weight",+ "value": "0x4059730700000000",+ "docs": [+ " The base weight of an Extrinsic in the block, independent of the of extrinsic being executed."+ ]+ },+ {+ "name": "MaximumBlockLength",+ "type": "u32",+ "value": "0x00005000",+ "docs": [+ " The maximum length of a block (in bytes)."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidSpecName",+ "docs": [+ " The name of specification does not match between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "SpecVersionNeedsToIncrease",+ "docs": [+ " The specification version is not allowed to decrease between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "FailedToExtractRuntimeVersion",+ "docs": [+ " Failed to extract the runtime version from the new runtime.",+ "",+ " Either calling `Core_version` or decoding `RuntimeVersion` failed."+ ]+ },+ {+ "name": "NonDefaultComposite",+ "docs": [+ " Suicide called when the account has non-default composite data."+ ]+ },+ {+ "name": "NonZeroRefCount",+ "docs": [+ " There is a non-zero reference count preventing the account from being purged."+ ]+ }+ ]+ },+ {+ "name": "Utility",+ "storage": null,+ "calls": [+ {+ "name": "batch",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " If origin is root then call are dispatch without checking origin filter. (This includes",+ " bypassing `frame_system::Trait::BaseCallFilter`).",+ "",+ " # <weight>",+ " - Base weight: 14.39 + .987 * c µs",+ " - Plus the sum of the weights of the `calls`.",+ " - Plus one additional event. (repeat read/write)",+ " # </weight>",+ "",+ " This will return `Ok` in all circumstances. To determine the success of the batch, an",+ " event is deposited. If a call failed and the batch was interrupted, then the",+ " `BatchInterrupted` event is deposited, along with the number of successful calls made",+ " and the error of the failed call. If all were successful, then the `BatchCompleted`",+ " event is deposited."+ ]+ },+ {+ "name": "as_derivative",+ "args": [+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through an indexed pseudonym of the sender.",+ "",+ " Filter from origin are passed along. The call will be dispatched with an origin which",+ " use the same filter as the origin of this call.",+ "",+ " NOTE: If you need to ensure that any account-based filtering is not honored (i.e.",+ " because you expect `proxy` to have been used prior in the call stack and you do not want",+ " the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`",+ " in the Multisig pallet instead.",+ "",+ " NOTE: Prior to version *12, this was called `as_limited_sub`.",+ "",+ " The dispatch origin for this call must be _Signed_."+ ]+ }+ ],+ "events": [+ {+ "name": "BatchInterrupted",+ "args": [+ "u32",+ "DispatchError"+ ],+ "docs": [+ " Batch of dispatches did not complete fully. Index of first failing dispatch given, as",+ " well as the error. [index, error]"+ ]+ },+ {+ "name": "BatchCompleted",+ "args": [],+ "docs": [+ " Batch of dispatches completed fully with no error."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Babe",+ "storage": {+ "prefix": "Babe",+ "items": [+ {+ "name": "EpochIndex",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current epoch index."+ ]+ },+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Current epoch authorities."+ ]+ },+ {+ "name": "GenesisSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The slot at which the first epoch actually started. This is 0",+ " until the first block of the chain."+ ]+ },+ {+ "name": "CurrentSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current slot number."+ ]+ },+ {+ "name": "Randomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The epoch randomness for the *current* epoch.",+ "",+ " # Security",+ "",+ " This MUST NOT be used for gambling, as it can be influenced by a",+ " malicious validator in the short term. It MAY be used in many",+ " cryptographic protocols, however, so long as one remembers that this",+ " (like everything else on-chain) it is public. For example, it can be",+ " used where a number is needed that cannot have been chosen by an",+ " adversary, for purposes such as public-coin zero-knowledge proofs."+ ]+ },+ {+ "name": "NextEpochConfig",+ "modifier": "Optional",+ "type": {+ "plain": "NextConfigDescriptor"+ },+ "fallback": "0x00",+ "docs": [+ " Next epoch configuration, if changed."+ ]+ },+ {+ "name": "NextRandomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Next epoch randomness."+ ]+ },+ {+ "name": "SegmentIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Randomness under construction.",+ "",+ " We make a tradeoff between storage accesses and list length.",+ " We store the under-construction randomness in segments of up to",+ " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",+ "",+ " Once a segment reaches this length, we begin the next one.",+ " We reset all segments and return to `0` at the beginning of every",+ " epoch."+ ]+ },+ {+ "name": "UnderConstruction",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Vec<Randomness>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."+ ]+ },+ {+ "name": "Initialized",+ "modifier": "Optional",+ "type": {+ "plain": "MaybeRandomness"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) which is `Some`",+ " if per-block initialization has already been called for current block."+ ]+ },+ {+ "name": "Lateness",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " How late the current block is compared to its parent.",+ "",+ " This entry is populated as part of block execution and is cleaned up",+ " on block finalization. Querying this storage entry outside of block",+ " execution context should always yield zero."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported.",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "EpochDuration",+ "type": "u64",+ "value": "0xc800000000000000",+ "docs": [+ " The number of **slots** that an epoch takes. We couple sessions to",+ " epochs, i.e. we start a new session once the new epoch begins."+ ]+ },+ {+ "name": "ExpectedBlockTime",+ "type": "Moment",+ "value": "0xb80b000000000000",+ "docs": [+ " The expected average block time at which BABE should be creating",+ " blocks. Since BABE is probabilistic it is not trivial to figure out",+ " what the expected average block time should be based on the slot",+ " duration and the security parameter `c` (where `1 - c` represents",+ " the probability of a slot being empty)."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Timestamp",+ "storage": {+ "prefix": "Timestamp",+ "items": [+ {+ "name": "Now",+ "modifier": "Default",+ "type": {+ "plain": "Moment"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current time for the current block."+ ]+ },+ {+ "name": "DidUpdate",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Did the timestamp get updated in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set",+ "args": [+ {+ "name": "now",+ "type": "Compact<Moment>"+ }+ ],+ "docs": [+ " Set the current time.",+ "",+ " This call should be invoked exactly once per block. It will panic at the finalization",+ " phase, if this call hasn't been invoked by that time.",+ "",+ " The timestamp should be greater than the previous one by the amount specified by",+ " `MinimumPeriod`.",+ "",+ " The dispatch origin for this call must be `Inherent`.",+ "",+ " # <weight>",+ " - `O(T)` where `T` complexity of `on_timestamp_set`",+ " - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",+ " - 1 event handler `on_timestamp_set` `O(T)`.",+ " # </weight>"+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "MinimumPeriod",+ "type": "Moment",+ "value": "0xdc05000000000000",+ "docs": [+ " The minimum period between blocks. Beware that this is different to the *expected* period",+ " that the block production apparatus provides. Your chosen consensus system will generally",+ " work with this to determine a sensible block time. e.g. For Aura, it will be double this",+ " period on default settings."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Authorship",+ "storage": {+ "prefix": "Authorship",+ "items": [+ {+ "name": "Uncles",+ "modifier": "Default",+ "type": {+ "plain": "Vec<UncleEntryItem>"+ },+ "fallback": "0x00",+ "docs": [+ " Uncles"+ ]+ },+ {+ "name": "Author",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " Author of current block."+ ]+ },+ {+ "name": "DidSetUncles",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Whether uncles were already set in this block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_uncles",+ "args": [+ {+ "name": "new_uncles",+ "type": "Vec<Header>"+ }+ ],+ "docs": [+ " Provide a set of uncles."+ ]+ }+ ],+ "events": null,+ "constants": [],+ "errors": [+ {+ "name": "InvalidUncleParent",+ "docs": [+ " The uncle parent not in the chain."+ ]+ },+ {+ "name": "UnclesAlreadySet",+ "docs": [+ " Uncles already set in the block."+ ]+ },+ {+ "name": "TooManyUncles",+ "docs": [+ " Too many uncles."+ ]+ },+ {+ "name": "GenesisUncle",+ "docs": [+ " The uncle is genesis."+ ]+ },+ {+ "name": "TooHighUncle",+ "docs": [+ " The uncle is too high in chain."+ ]+ },+ {+ "name": "UncleAlreadyIncluded",+ "docs": [+ " The uncle is already included."+ ]+ },+ {+ "name": "OldUncle",+ "docs": [+ " The uncle isn't recent enough to be included."+ ]+ }+ ]+ },+ {+ "name": "Indices",+ "storage": {+ "prefix": "Indices",+ "items": [+ {+ "name": "Accounts",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountIndex",+ "value": "(AccountId,BalanceOf,bool)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The lookup from index to account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "claim",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an previously unassigned index.",+ "",+ " Payment: `Deposit` is reserved from the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be claimed. This must not be in use.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - Base Weight: 28.69 µs",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an index already owned by the sender to another account. The balance reservation",+ " is effectively transferred to the new account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be re-assigned. This must be owned by the sender.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One transfer operation.",+ " - One event.",+ " -------------------",+ " - Base Weight: 33.74 µs",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (recipient)",+ " - Writes: Indices Accounts, System Account (recipient)",+ " # </weight>"+ ]+ },+ {+ "name": "free",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Free up an index owned by the sender.",+ "",+ " Payment: Any previous deposit placed for the index is unreserved in the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must own the index.",+ "",+ " - `index`: the index to be freed. This must be owned by the sender.",+ "",+ " Emits `IndexFreed` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - Base Weight: 25.53 µs",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ },+ {+ "name": "freeze",+ "type": "bool"+ }+ ],+ "docs": [+ " Force an index to an account. This doesn't require a deposit. If the index is already",+ " held, then any deposit is reimbursed to its current owner.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `index`: the index to be (re-)assigned.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ " - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one reserve operation.",+ " - One event.",+ " -------------------",+ " - Base Weight: 26.83 µs",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (original owner)",+ " - Writes: Indices Accounts, System Account (original owner)",+ " # </weight>"+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Freeze an index so it will always point to the sender account. This consumes the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must have a",+ " non-frozen account `index`.",+ "",+ " - `index`: the index to be frozen in place.",+ "",+ " Emits `IndexFrozen` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one slash operation.",+ " - One event.",+ " -------------------",+ " - Base Weight: 30.86 µs",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "IndexAssigned",+ "args": [+ "AccountId",+ "AccountIndex"+ ],+ "docs": [+ " A account index was assigned. [who, index]"+ ]+ },+ {+ "name": "IndexFreed",+ "args": [+ "AccountIndex"+ ],+ "docs": [+ " A account index has been freed up (unassigned). [index]"+ ]+ },+ {+ "name": "IndexFrozen",+ "args": [+ "AccountIndex",+ "AccountId"+ ],+ "docs": [+ " A account index has been frozen to its current account ID. [who, index]"+ ]+ }+ ],+ "constants": [+ {+ "name": "Deposit",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The deposit needed for reserving an index."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Balances",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "TotalIssuance",+ "modifier": "Default",+ "type": {+ "plain": "Balance"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total units issued in the system."+ ]+ },+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountData",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The balance of an account.",+ "",+ " NOTE: This is only used in the case that this module is used to store balances."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "Vec<BalanceLock>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Any liquidity locks on some account balances.",+ " NOTE: Should only be accessed when setting, changing and freeing a lock."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " This is set to v2.0.0 for new networks."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "transfer",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Transfer some liquid free balance to another account.",+ "",+ " `transfer` will set the `FreeBalance` of the sender and receiver.",+ " It will decrease the total issuance of the system by the `TransferFee`.",+ " If the sender's account is below the existential deposit as a result",+ " of the transfer, the account will be reaped.",+ "",+ " The dispatch origin for this call must be `Signed` by the transactor.",+ "",+ " # <weight>",+ " - Dependent on arguments but not critical, given proper implementations for",+ " input config types. See related functions below.",+ " - It contains a limited number of reads and writes internally and no complex computation.",+ "",+ " Related functions:",+ "",+ " - `ensure_can_withdraw` is always called internally but has a bounded complexity.",+ " - Transferring balances to accounts that did not exist before will cause",+ " `T::OnNewAccount::on_new_account` to be called.",+ " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.",+ " - `transfer_keep_alive` works the same way as `transfer`, but has an additional",+ " check that the transfer will not kill the origin account.",+ " ---------------------------------",+ " - Base Weight: 73.64 µs, worst case scenario (account created, account removed)",+ " - DB Weight: 1 Read and 1 Write to destination account",+ " - Origin account is already in memory, so no DB operations for them.",+ " # </weight>"+ ]+ },+ {+ "name": "set_balance",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "new_free",+ "type": "Compact<Balance>"+ },+ {+ "name": "new_reserved",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Set the balances of a given account.",+ "",+ " This will alter `FreeBalance` and `ReservedBalance` in storage. it will",+ " also decrease the total issuance of the system (`TotalIssuance`).",+ " If the new free or reserved balance is below the existential deposit,",+ " it will reset the account nonce (`frame_system::AccountNonce`).",+ "",+ " The dispatch origin for this call is `root`.",+ "",+ " # <weight>",+ " - Independent of the arguments.",+ " - Contains a limited number of reads and writes.",+ " ---------------------",+ " - Base Weight:",+ " - Creating: 27.56 µs",+ " - Killing: 35.11 µs",+ " - DB Weight: 1 Read, 1 Write to `who`",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Exactly as `transfer`, except the origin must be root and the source account may be",+ " specified.",+ " # <weight>",+ " - Same as transfer, but additional read and write because the source account is",+ " not assumed to be in the overlay.",+ " # </weight>"+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Same as the [`transfer`] call, but with a check that the transfer will not kill the",+ " origin account.",+ "",+ " 99% of the time you want [`transfer`] instead.",+ "",+ " [`transfer`]: struct.Module.html#method.transfer",+ " # <weight>",+ " - Cheaper than transfer because account cannot be killed.",+ " - Base Weight: 51.4 µs",+ " - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)",+ " #</weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Endowed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was created with some free balance. [account, free_balance]"+ ]+ },+ {+ "name": "DustLost",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was removed whose balance was non-zero but below ExistentialDeposit,",+ " resulting in an outright loss. [account, balance]"+ ]+ },+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Transfer succeeded. [from, to, value]"+ ]+ },+ {+ "name": "BalanceSet",+ "args": [+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " A balance was set by root. [who, free, reserved]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some amount was deposited (e.g. for transaction fees). [who, deposit]"+ ]+ },+ {+ "name": "Reserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was reserved (moved from free to reserved). [who, value]"+ ]+ },+ {+ "name": "Unreserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was unreserved (moved from reserved to free). [who, value]"+ ]+ },+ {+ "name": "ReserveRepatriated",+ "args": [+ "AccountId",+ "AccountId",+ "Balance",+ "BalanceStatus"+ ],+ "docs": [+ " Some balance was moved from the reserve of the first account to the second account.",+ " Final argument indicates the destination balance type.",+ " [from, to, balance, destination_status]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ExistentialDeposit",+ "type": "Balance",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to keep an account open."+ ]+ }+ ],+ "errors": [+ {+ "name": "VestingBalance",+ "docs": [+ " Vesting balance too high to send value"+ ]+ },+ {+ "name": "LiquidityRestrictions",+ "docs": [+ " Account liquidity restrictions prevent withdrawal"+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " Got an overflow after adding"+ ]+ },+ {+ "name": "InsufficientBalance",+ "docs": [+ " Balance too low to send value"+ ]+ },+ {+ "name": "ExistentialDeposit",+ "docs": [+ " Value too low to create account due to existential deposit"+ ]+ },+ {+ "name": "KeepAlive",+ "docs": [+ " Transfer/payment would kill account"+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " A vesting schedule already exists for this account"+ ]+ },+ {+ "name": "DeadAccount",+ "docs": [+ " Beneficiary account must pre-exist"+ ]+ }+ ]+ },+ {+ "name": "TransactionPayment",+ "storage": {+ "prefix": "TransactionPayment",+ "items": [+ {+ "name": "NextFeeMultiplier",+ "modifier": "Default",+ "type": {+ "plain": "Multiplier"+ },+ "fallback": "0x000064a7b3b6e00d0000000000000000",+ "docs": []+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ },+ {+ "name": "WeightToFee",+ "type": "Vec<WeightToFeeCoefficient>",+ "value": "0x0401000000000000000000000000000000000000000001",+ "docs": [+ " The polynomial that is applied in order to derive fee from weight."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Staking",+ "storage": {+ "prefix": "Staking",+ "items": [+ {+ "name": "HistoryDepth",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x54000000",+ "docs": [+ " Number of eras to keep in history.",+ "",+ " Information is kept for eras in `[current_era - history_depth; current_era]`.",+ "",+ " Must be more than the number of eras delayed by session otherwise. I.e. active era must",+ " always be in history. I.e. `active_era > current_era - history_depth` must be",+ " guaranteed."+ ]+ },+ {+ "name": "ValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The ideal number of staking participants."+ ]+ },+ {+ "name": "MinimumValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Minimum number of staking participants before emergency conditions are imposed."+ ]+ },+ {+ "name": "Invulnerables",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",+ " easy to initialize and the performance hit is minimal (we expect no more than four",+ " invulnerables) and restricted to testnets."+ ]+ },+ {+ "name": "Bonded",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all locked \"stash\" accounts to the controller account."+ ]+ },+ {+ "name": "Ledger",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "StakingLedger",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."+ ]+ },+ {+ "name": "Payee",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RewardDestination",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Where the reward payment should be made. Keyed by stash."+ ]+ },+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ValidatorPrefs",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from (wannabe) validator stash key to the preferences of that validator."+ ]+ },+ {+ "name": "Nominators",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Nominations",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from nominator stash key to the set of stash keys of all validators to nominate."+ ]+ },+ {+ "name": "CurrentEra",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The current era index.",+ "",+ " This is the latest planned era, depending on how the Session pallet queues the validator",+ " set, it might be active or not."+ ]+ },+ {+ "name": "ActiveEra",+ "modifier": "Optional",+ "type": {+ "plain": "ActiveEraInfo"+ },+ "fallback": "0x00",+ "docs": [+ " The active era information, it holds index and start.",+ "",+ " The active era is the era currently rewarded.",+ " Validator set of this era must be equal to `SessionInterface::validators`."+ ]+ },+ {+ "name": "ErasStartSessionIndex",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The session index at which the era start for the last `HISTORY_DEPTH` eras."+ ]+ },+ {+ "name": "ErasStakers",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Exposure of validator at era.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasStakersClipped",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Clipped Exposure of validator at era.",+ "",+ " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the",+ " `T::MaxNominatorRewardedPerValidator` biggest stakers.",+ " (Note: the field `total` and `own` of the exposure remains unchanged).",+ " This is used to limit the i/o cost for the nominator payout.",+ "",+ " This is keyed fist by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasValidatorPrefs",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "ValidatorPrefs",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Similar to `ErasStakers`, this holds the preferences of validators.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras."+ ]+ },+ {+ "name": "ErasValidatorReward",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The total validator era payout for the last `HISTORY_DEPTH` eras.",+ "",+ " Eras that haven't finished yet or has been removed doesn't have reward."+ ]+ },+ {+ "name": "ErasRewardPoints",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "EraRewardPoints",+ "linked": false+ }+ },+ "fallback": "0x0000000000",+ "docs": [+ " Rewards for the last `HISTORY_DEPTH` eras.",+ " If reward hasn't been set or has been removed then 0 reward is returned."+ ]+ },+ {+ "name": "ErasTotalStake",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total amount staked for the last `HISTORY_DEPTH` eras.",+ " If total hasn't been set or has been removed then 0 stake is returned."+ ]+ },+ {+ "name": "ForceEra",+ "modifier": "Default",+ "type": {+ "plain": "Forcing"+ },+ "fallback": "0x00",+ "docs": [+ " Mode of era forcing."+ ]+ },+ {+ "name": "SlashRewardFraction",+ "modifier": "Default",+ "type": {+ "plain": "Perbill"+ },+ "fallback": "0x00000000",+ "docs": [+ " The percentage of the slash that is distributed to reporters.",+ "",+ " The rest of the slashed value is handled by the `Slash`."+ ]+ },+ {+ "name": "CanceledSlashPayout",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of currency given to reporters of a slash event which was",+ " canceled by extraordinary circumstances (e.g. governance)."+ ]+ },+ {+ "name": "UnappliedSlashes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "Vec<UnappliedSlash>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " All unapplied slashes that are queued for later."+ ]+ },+ {+ "name": "BondedEras",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(EraIndex,SessionIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from still-bonded eras to the first session index of that era.",+ "",+ " Must contains information for eras for the range:",+ " `[active_era - bounding_duration; active_era]`"+ ]+ },+ {+ "name": "ValidatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "(Perbill,BalanceOf)",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on validators, mapped by era to the highest slash proportion",+ " and slash value of the era."+ ]+ },+ {+ "name": "NominatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "BalanceOf",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on nominators, mapped by era to the highest slash value of the era."+ ]+ },+ {+ "name": "SlashingSpans",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SlashingSpans",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Slashing spans for stash accounts."+ ]+ },+ {+ "name": "SpanSlash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(AccountId,SpanIndex)",+ "value": "SpanRecord",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Records information about the maximum slash of a stash within a slashing span,",+ " as well as how much reward has been paid out."+ ]+ },+ {+ "name": "EarliestUnappliedSlash",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The earliest era for which we have a pending, unapplied slash."+ ]+ },+ {+ "name": "SnapshotValidators",+ "modifier": "Optional",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Snapshot of validators at the beginning of the current election window. This should only",+ " have a value when [`EraElectionStatus`] == `ElectionStatus::Open(_)`."+ ]+ },+ {+ "name": "SnapshotNominators",+ "modifier": "Optional",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Snapshot of nominators at the beginning of the current election window. This should only",+ " have a value when [`EraElectionStatus`] == `ElectionStatus::Open(_)`."+ ]+ },+ {+ "name": "QueuedElected",+ "modifier": "Optional",+ "type": {+ "plain": "ElectionResult"+ },+ "fallback": "0x00",+ "docs": [+ " The next validator set. At the end of an era, if this is available (potentially from the",+ " result of an offchain worker), it is immediately used. Otherwise, the on-chain election",+ " is executed."+ ]+ },+ {+ "name": "QueuedScore",+ "modifier": "Optional",+ "type": {+ "plain": "ElectionScore"+ },+ "fallback": "0x00",+ "docs": [+ " The score of the current [`QueuedElected`]."+ ]+ },+ {+ "name": "EraElectionStatus",+ "modifier": "Default",+ "type": {+ "plain": "ElectionStatus"+ },+ "fallback": "0x00",+ "docs": [+ " Flag to control the execution of the offchain election. When `Open(_)`, we accept",+ " solutions to be submitted."+ ]+ },+ {+ "name": "IsCurrentSessionFinal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the current **planned** session is final. Note that this does not take era",+ " forcing into account."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x03",+ "docs": [+ " True if network has been upgraded to this version.",+ " Storage version of the pallet.",+ "",+ " This is set to v3.0.0 for new networks."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bond",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " Take the origin account as a stash and lock up `value` of its balance. `controller` will",+ " be the account that controls it.",+ "",+ " `value` must be more than the `minimum_balance` specified by `T::Currency`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash account.",+ "",+ " Emits `Bonded`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Moderate complexity.",+ " - O(1).",+ " - Three extra DB entries.",+ "",+ " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned",+ " unless the `origin` falls below _existential deposit_ and gets removed as dust.",+ " ------------------",+ " Base Weight: 67.87 µs",+ " DB Weight:",+ " - Read: Bonded, Ledger, [Origin Account], Current Era, History Depth, Locks",+ " - Write: Bonded, Payee, [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "bond_extra",+ "args": [+ {+ "name": "max_additional",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Add some extra amount that have appeared in the stash `free_balance` into the balance up",+ " for staking.",+ "",+ " Use this if there are additional funds in your stash account that you wish to bond.",+ " Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount",+ " that can be added.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller and",+ " it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Bonded`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - O(1).",+ " - One DB entry.",+ " ------------",+ " Base Weight: 54.88 µs",+ " DB Weight:",+ " - Read: Era Election Status, Bonded, Ledger, [Origin Account], Locks",+ " - Write: [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "unbond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Schedule a portion of the stash to be unlocked ready for transfer out after the bond",+ " period ends. If this leaves an amount actively bonded less than",+ " T::Currency::minimum_balance(), then it is increased to the full amount.",+ "",+ " Once the unlock period is done, you can call `withdraw_unbonded` to actually move",+ " the funds out of management ready for transfer.",+ "",+ " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)",+ " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need",+ " to be called first to remove some of the chunks (if possible).",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Unbonded`.",+ "",+ " See also [`Call::withdraw_unbonded`].",+ "",+ " # <weight>",+ " - Independent of the arguments. Limited but potentially exploitable complexity.",+ " - Contains a limited number of reads.",+ " - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",+ " will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",+ " The only way to clean the aforementioned storage item is also user-controlled via",+ " `withdraw_unbonded`.",+ " - One DB entry.",+ " ----------",+ " Base Weight: 50.34 µs",+ " DB Weight:",+ " - Read: Era Election Status, Ledger, Current Era, Locks, [Origin Account]",+ " - Write: [Origin Account], Locks, Ledger",+ " </weight>"+ ]+ },+ {+ "name": "withdraw_unbonded",+ "args": [+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove any unlocked chunks from the `unlocking` queue from our management.",+ "",+ " This essentially frees up that balance to be used by the stash account to do",+ " whatever it wants.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Withdrawn`.",+ "",+ " See also [`Call::unbond`].",+ "",+ " # <weight>",+ " - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",+ " It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",+ " indirectly user-controlled. See [`unbond`] for more detail.",+ " - Contains a limited number of reads, yet the size of which could be large based on `ledger`.",+ " - Writes are limited to the `origin` account key.",+ " ---------------",+ " Complexity O(S) where S is the number of slashing spans to remove",+ " Base Weight:",+ " Update: 50.52 + .028 * S µs",+ " - Reads: EraElectionStatus, Ledger, Current Era, Locks, [Origin Account]",+ " - Writes: [Origin Account], Locks, Ledger",+ " Kill: 79.41 + 2.366 * S µs",+ " - Reads: EraElectionStatus, Ledger, Current Era, Bonded, Slashing Spans, [Origin Account], Locks",+ " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, [Origin Account], Locks",+ " - Writes Each: SpanSlash * S",+ " NOTE: Weight annotation is the kill scenario, we refund otherwise.",+ " # </weight>"+ ]+ },+ {+ "name": "validate",+ "args": [+ {+ "name": "prefs",+ "type": "ValidatorPrefs"+ }+ ],+ "docs": [+ " Declare the desire to validate for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " -----------",+ " Base Weight: 17.13 µs",+ " DB Weight:",+ " - Read: Era Election Status, Ledger",+ " - Write: Nominators, Validators",+ " # </weight>"+ ]+ },+ {+ "name": "nominate",+ "args": [+ {+ "name": "targets",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Declare the desire to nominate `targets` for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era. This can only be called when",+ " [`EraElectionStatus`] is `Closed`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - The transaction's complexity is proportional to the size of `targets` (N)",+ " which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).",+ " - Both the reads and writes follow a similar pattern.",+ " ---------",+ " Base Weight: 22.34 + .36 * N µs",+ " where N is the number of targets",+ " DB Weight:",+ " - Reads: Era Election Status, Ledger, Current Era",+ " - Writes: Validators, Nominators",+ " # </weight>"+ ]+ },+ {+ "name": "chill",+ "args": [],+ "docs": [+ " Declare no desire to either validate or nominate.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains one read.",+ " - Writes are limited to the `origin` account key.",+ " --------",+ " Base Weight: 16.53 µs",+ " DB Weight:",+ " - Read: EraElectionStatus, Ledger",+ " - Write: Validators, Nominators",+ " # </weight>"+ ]+ },+ {+ "name": "set_payee",+ "args": [+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " (Re-)set the payment target for a controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ---------",+ " - Base Weight: 11.33 µs",+ " - DB Weight:",+ " - Read: Ledger",+ " - Write: Payee",+ " # </weight>"+ ]+ },+ {+ "name": "set_controller",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " (Re-)set the controller of a stash.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ----------",+ " Base Weight: 25.22 µs",+ " DB Weight:",+ " - Read: Bonded, Ledger New Controller, Ledger Old Controller",+ " - Write: Bonded, Ledger New Controller, Ledger Old Controller",+ " # </weight>"+ ]+ },+ {+ "name": "set_validator_count",+ "args": [+ {+ "name": "new",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Sets the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Base Weight: 1.717 µs",+ " Write: Validator Count",+ " # </weight>"+ ]+ },+ {+ "name": "increase_validator_count",+ "args": [+ {+ "name": "additional",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Increments the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Base Weight: 1.717 µs",+ " Read/Write: Validator Count",+ " # </weight>"+ ]+ },+ {+ "name": "scale_validator_count",+ "args": [+ {+ "name": "factor",+ "type": "Percent"+ }+ ],+ "docs": [+ " Scale up the ideal number of validators by a factor.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Base Weight: 1.717 µs",+ " Read/Write: Validator Count",+ " # </weight>"+ ]+ },+ {+ "name": "force_no_eras",+ "args": [],+ "docs": [+ " Force there to be no new eras indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Base Weight: 1.857 µs",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of the next session. After this, it will be",+ " reset to normal (non-forced) behaviour.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Base Weight: 1.959 µs",+ " - Write ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "set_invulnerables",+ "args": [+ {+ "name": "validators",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the validators who cannot be slashed (if any).",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - O(V)",+ " - Base Weight: 2.208 + .006 * V µs",+ " - Write: Invulnerables",+ " # </weight>"+ ]+ },+ {+ "name": "force_unstake",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Force a current staker to become completely unstaked, immediately.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " O(S) where S is the number of slashing spans to be removed",+ " Base Weight: 53.07 + 2.365 * S µs",+ " Reads: Bonded, Slashing Spans, Account, Locks",+ " Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks",+ " Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era_always",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of sessions indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - Base Weight: 2.05 µs",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_deferred_slash",+ "args": [+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "slash_indices",+ "type": "Vec<u32>"+ }+ ],+ "docs": [+ " Cancel enactment of a deferred slash.",+ "",+ " Can be called by the `T::SlashCancelOrigin`.",+ "",+ " Parameters: era and indices of the slashes for that era to kill.",+ "",+ " # <weight>",+ " Complexity: O(U + S)",+ " with U unapplied slashes weighted with U=1000",+ " and S is the number of slash indices to be canceled.",+ " - Base: 5870 + 34.61 * S µs",+ " - Read: Unapplied Slashes",+ " - Write: Unapplied Slashes",+ " # </weight>"+ ]+ },+ {+ "name": "payout_stakers",+ "args": [+ {+ "name": "validator_stash",+ "type": "AccountId"+ },+ {+ "name": "era",+ "type": "EraIndex"+ }+ ],+ "docs": [+ " Pay out all the stakers behind a single validator for a single era.",+ "",+ " - `validator_stash` is the stash account of the validator. Their nominators, up to",+ " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.",+ " - `era` may be any era between `[current_era - history_depth; current_era]`.",+ "",+ " The origin of this call must be _Signed_. Any account can call this function, even if",+ " it is not one of the stakers.",+ "",+ " This can only be called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Time complexity: at most O(MaxNominatorRewardedPerValidator).",+ " - Contains a limited number of reads and writes.",+ " -----------",+ " N is the Number of payouts for the validator (including the validator)",+ " Base Weight:",+ " - Reward Destination Staked: 110 + 54.2 * N µs (Median Slopes)",+ " - Reward Destination Controller (Creating): 120 + 41.95 * N µs (Median Slopes)",+ " DB Weight:",+ " - Read: EraElectionStatus, CurrentEra, HistoryDepth, ErasValidatorReward,",+ " ErasStakersClipped, ErasRewardPoints, ErasValidatorPrefs (8 items)",+ " - Read Each: Bonded, Ledger, Payee, Locks, System Account (5 items)",+ " - Write Each: System Account, Locks, Ledger (3 items)",+ " # </weight>"+ ]+ },+ {+ "name": "rebond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Rebond a portion of the stash scheduled to be unlocked.",+ "",+ " The dispatch origin must be signed by the controller, and it can be only called when",+ " [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Time complexity: O(L), where L is unlocking chunks",+ " - Bounded by `MAX_UNLOCKING_CHUNKS`.",+ " - Storage changes: Can't increase storage, only decrease it.",+ " ---------------",+ " - Base Weight: 34.51 µs * .048 L µs",+ " - DB Weight:",+ " - Reads: EraElectionStatus, Ledger, Locks, [Origin Account]",+ " - Writes: [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "set_history_depth",+ "args": [+ {+ "name": "new_history_depth",+ "type": "Compact<EraIndex>"+ },+ {+ "name": "_era_items_deleted",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Set `HistoryDepth` value. This function will delete any history information",+ " when `HistoryDepth` is reduced.",+ "",+ " Parameters:",+ " - `new_history_depth`: The new history depth you would like to set.",+ " - `era_items_deleted`: The number of items that will be deleted by this dispatch.",+ " This should report all the storage items that will be deleted by clearing old",+ " era history. Needed to report an accurate weight for the dispatch. Trusted by",+ " `Root` to report an accurate number.",+ "",+ " Origin must be root.",+ "",+ " # <weight>",+ " - E: Number of history depths removed, i.e. 10 -> 7 = 3",+ " - Base Weight: 29.13 * E µs",+ " - DB Weight:",+ " - Reads: Current Era, History Depth",+ " - Writes: History Depth",+ " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs",+ " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex",+ " # </weight>"+ ]+ },+ {+ "name": "reap_stash",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove all data structure concerning a staker/stash once its balance is zero.",+ " This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone",+ " and the target `stash` must have no funds left.",+ "",+ " This can be called from any origin.",+ "",+ " - `stash`: The stash account to reap. Its balance must be zero.",+ "",+ " # <weight>",+ " Complexity: O(S) where S is the number of slashing spans on the account.",+ " Base Weight: 75.94 + 2.396 * S µs",+ " DB Weight:",+ " - Reads: Stash Account, Bonded, Slashing Spans, Locks",+ " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks",+ " - Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "submit_election_solution",+ "args": [+ {+ "name": "winners",+ "type": "Vec<ValidatorIndex>"+ },+ {+ "name": "compact",+ "type": "CompactAssignments"+ },+ {+ "name": "score",+ "type": "ElectionScore"+ },+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "size",+ "type": "ElectionSize"+ }+ ],+ "docs": [+ " Submit an election result to the chain. If the solution:",+ "",+ " 1. is valid.",+ " 2. has a better score than a potentially existing solution on chain.",+ "",+ " then, it will be _put_ on chain.",+ "",+ " A solution consists of two pieces of data:",+ "",+ " 1. `winners`: a flat vector of all the winners of the round.",+ " 2. `assignments`: the compact version of an assignment vector that encodes the edge",+ " weights.",+ "",+ " Both of which may be computed using _phragmen_, or any other algorithm.",+ "",+ " Additionally, the submitter must provide:",+ "",+ " - The `score` that they claim their solution has.",+ "",+ " Both validators and nominators will be represented by indices in the solution. The",+ " indices should respect the corresponding types ([`ValidatorIndex`] and",+ " [`NominatorIndex`]). Moreover, they should be valid when used to index into",+ " [`SnapshotValidators`] and [`SnapshotNominators`]. Any invalid index will cause the",+ " solution to be rejected. These two storage items are set during the election window and",+ " may be used to determine the indices.",+ "",+ " A solution is valid if:",+ "",+ " 0. It is submitted when [`EraElectionStatus`] is `Open`.",+ " 1. Its claimed score is equal to the score computed on-chain.",+ " 2. Presents the correct number of winners.",+ " 3. All indexes must be value according to the snapshot vectors. All edge values must",+ " also be correct and should not overflow the granularity of the ratio type (i.e. 256",+ " or billion).",+ " 4. For each edge, all targets are actually nominated by the voter.",+ " 5. Has correct self-votes.",+ "",+ " A solutions score is consisted of 3 parameters:",+ "",+ " 1. `min { support.total }` for each support of a winner. This value should be maximized.",+ " 2. `sum { support.total }` for each support of a winner. This value should be minimized.",+ " 3. `sum { support.total^2 }` for each support of a winner. This value should be",+ " minimized (to ensure less variance)",+ "",+ " # <weight>",+ " See `crate::weight` module.",+ " # </weight>"+ ]+ },+ {+ "name": "submit_election_solution_unsigned",+ "args": [+ {+ "name": "winners",+ "type": "Vec<ValidatorIndex>"+ },+ {+ "name": "compact",+ "type": "CompactAssignments"+ },+ {+ "name": "score",+ "type": "ElectionScore"+ },+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "size",+ "type": "ElectionSize"+ }+ ],+ "docs": [+ " Unsigned version of `submit_election_solution`.",+ "",+ " Note that this must pass the [`ValidateUnsigned`] check which only allows transactions",+ " from the local node to be included. In other words, only the block author can include a",+ " transaction in the block.",+ "",+ " # <weight>",+ " See `crate::weight` module.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "EraPayout",+ "args": [+ "EraIndex",+ "Balance",+ "Balance"+ ],+ "docs": [+ " The era payout has been set; the first balance is the validator-payout; the second is",+ " the remainder from the maximum amount of reward.",+ " [era_index, validator_payout, remainder]"+ ]+ },+ {+ "name": "Reward",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The staker has been rewarded by this amount. [stash, amount]"+ ]+ },+ {+ "name": "Slash",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " One validator (and its nominators) has been slashed by the given amount.",+ " [validator, amount]"+ ]+ },+ {+ "name": "OldSlashingReportDiscarded",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " An old slashing report from a prior era was discarded because it could",+ " not be processed. [session_index]"+ ]+ },+ {+ "name": "StakingElection",+ "args": [+ "ElectionCompute"+ ],+ "docs": [+ " A new set of stakers was elected with the given [compute]."+ ]+ },+ {+ "name": "SolutionStored",+ "args": [+ "ElectionCompute"+ ],+ "docs": [+ " A new solution for the upcoming election has been stored. [compute]"+ ]+ },+ {+ "name": "Bonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has bonded this amount. [stash, amount]",+ "",+ " NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,",+ " it will not be emitted for staking rewards when they are added to stake."+ ]+ },+ {+ "name": "Unbonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has unbonded this amount. [stash, amount]"+ ]+ },+ {+ "name": "Withdrawn",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`",+ " from the unlocking queue. [stash, amount]"+ ]+ }+ ],+ "constants": [+ {+ "name": "SessionsPerEra",+ "type": "SessionIndex",+ "value": "0x06000000",+ "docs": [+ " Number of sessions per era."+ ]+ },+ {+ "name": "BondingDuration",+ "type": "EraIndex",+ "value": "0xa0020000",+ "docs": [+ " Number of eras that staked funds must remain bonded for."+ ]+ },+ {+ "name": "SlashDeferDuration",+ "type": "EraIndex",+ "value": "0xa8000000",+ "docs": [+ " Number of eras that slashes are deferred by, after computation.",+ "",+ " This should be less than the bonding duration.",+ " Set to 0 if slashes should be applied immediately, without opportunity for",+ " intervention."+ ]+ },+ {+ "name": "ElectionLookahead",+ "type": "BlockNumber",+ "value": "0x32000000",+ "docs": [+ " The number of blocks before the end of the era from which election submissions are allowed.",+ "",+ " Setting this to zero will disable the offchain compute and only on-chain seq-phragmen will",+ " be used.",+ "",+ " This is bounded by being within the last session. Hence, setting it to a value more than the",+ " length of a session will be pointless."+ ]+ },+ {+ "name": "MaxIterations",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Maximum number of balancing iterations to run in the offchain submission.",+ "",+ " If set to 0, balance_solution will not be executed at all."+ ]+ },+ {+ "name": "MinSolutionScoreBump",+ "type": "Perbill",+ "value": "0x20a10700",+ "docs": [+ " The threshold of improvement that should be provided for a new solution to be accepted."+ ]+ },+ {+ "name": "MaxNominatorRewardedPerValidator",+ "type": "u32",+ "value": "0x40000000",+ "docs": [+ " The maximum number of nominators rewarded for each validator.",+ "",+ " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim",+ " their reward. This used to limit the i/o cost for the nominator payout."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotController",+ "docs": [+ " Not a controller account."+ ]+ },+ {+ "name": "NotStash",+ "docs": [+ " Not a stash account."+ ]+ },+ {+ "name": "AlreadyBonded",+ "docs": [+ " Stash is already bonded."+ ]+ },+ {+ "name": "AlreadyPaired",+ "docs": [+ " Controller is already paired."+ ]+ },+ {+ "name": "EmptyTargets",+ "docs": [+ " Targets cannot be empty."+ ]+ },+ {+ "name": "DuplicateIndex",+ "docs": [+ " Duplicate index."+ ]+ },+ {+ "name": "InvalidSlashIndex",+ "docs": [+ " Slash record index out of bounds."+ ]+ },+ {+ "name": "InsufficientValue",+ "docs": [+ " Can not bond with value less than minimum balance."+ ]+ },+ {+ "name": "NoMoreChunks",+ "docs": [+ " Can not schedule more unlock chunks."+ ]+ },+ {+ "name": "NoUnlockChunk",+ "docs": [+ " Can not rebond without unlocking chunks."+ ]+ },+ {+ "name": "FundedTarget",+ "docs": [+ " Attempting to target a stash that still has funds."+ ]+ },+ {+ "name": "InvalidEraToReward",+ "docs": [+ " Invalid era to reward."+ ]+ },+ {+ "name": "InvalidNumberOfNominations",+ "docs": [+ " Invalid number of nominations."+ ]+ },+ {+ "name": "NotSortedAndUnique",+ "docs": [+ " Items are not sorted and unique."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Rewards for this era have already been claimed for this validator."+ ]+ },+ {+ "name": "OffchainElectionEarlySubmission",+ "docs": [+ " The submitted result is received out of the open window."+ ]+ },+ {+ "name": "OffchainElectionWeakSubmission",+ "docs": [+ " The submitted result is not as good as the one stored on chain."+ ]+ },+ {+ "name": "SnapshotUnavailable",+ "docs": [+ " The snapshot data of the current window is missing."+ ]+ },+ {+ "name": "OffchainElectionBogusWinnerCount",+ "docs": [+ " Incorrect number of winners were presented."+ ]+ },+ {+ "name": "OffchainElectionBogusWinner",+ "docs": [+ " One of the submitted winners is not an active candidate on chain (index is out of range",+ " in snapshot)."+ ]+ },+ {+ "name": "OffchainElectionBogusCompact",+ "docs": [+ " Error while building the assignment type from the compact. This can happen if an index",+ " is invalid, or if the weights _overflow_."+ ]+ },+ {+ "name": "OffchainElectionBogusNominator",+ "docs": [+ " One of the submitted nominators is not an active nominator on chain."+ ]+ },+ {+ "name": "OffchainElectionBogusNomination",+ "docs": [+ " One of the submitted nominators has an edge to which they have not voted on chain."+ ]+ },+ {+ "name": "OffchainElectionSlashedNomination",+ "docs": [+ " One of the submitted nominators has an edge which is submitted before the last non-zero",+ " slash of the target."+ ]+ },+ {+ "name": "OffchainElectionBogusSelfVote",+ "docs": [+ " A self vote must only be originated from a validator to ONLY themselves."+ ]+ },+ {+ "name": "OffchainElectionBogusEdge",+ "docs": [+ " The submitted result has unknown edges that are not among the presented winners."+ ]+ },+ {+ "name": "OffchainElectionBogusScore",+ "docs": [+ " The claimed score does not match with the one computed from the data."+ ]+ },+ {+ "name": "OffchainElectionBogusElectionSize",+ "docs": [+ " The election size is invalid."+ ]+ },+ {+ "name": "CallNotAllowed",+ "docs": [+ " The call is not allowed at the given time due to restrictions of election period."+ ]+ },+ {+ "name": "IncorrectHistoryDepth",+ "docs": [+ " Incorrect previous history depth input provided."+ ]+ },+ {+ "name": "IncorrectSlashingSpans",+ "docs": [+ " Incorrect number of slashing spans provided."+ ]+ }+ ]+ },+ {+ "name": "Session",+ "storage": {+ "prefix": "Session",+ "items": [+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ValidatorId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of validators."+ ]+ },+ {+ "name": "CurrentIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Current index of the session."+ ]+ },+ {+ "name": "QueuedChanged",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the underlying economic identities or weighting behind the validators",+ " has changed in the queued validator set."+ ]+ },+ {+ "name": "QueuedKeys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(ValidatorId,Keys)>"+ },+ "fallback": "0x00",+ "docs": [+ " The queued keys for the next session. When the next session begins, these keys",+ " will be used to determine the validator's session keys."+ ]+ },+ {+ "name": "DisabledValidators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<u32>"+ },+ "fallback": "0x00",+ "docs": [+ " Indices of disabled validators.",+ "",+ " The set is cleared when `on_session_ending` returns a new set of identities."+ ]+ },+ {+ "name": "NextKeys",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ValidatorId",+ "value": "Keys",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The next session keys for a validator."+ ]+ },+ {+ "name": "KeyOwner",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(KeyTypeId,Bytes)",+ "value": "ValidatorId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The owner of a key. The key is the `KeyTypeId` + the encoded key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_keys",+ "args": [+ {+ "name": "keys",+ "type": "Keys"+ },+ {+ "name": "proof",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Sets the session key(s) of the function caller to `keys`.",+ " Allows an account to set its session key prior to becoming a validator.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`",+ " - DbWrites: `origin account`, `NextKeys`",+ " - DbReads per key id: `KeyOwner`",+ " - DbWrites per key id: `KeyOwner`",+ " # </weight>"+ ]+ },+ {+ "name": "purge_keys",+ "args": [],+ "docs": [+ " Removes any session key(s) of the function caller.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)` in number of key types.",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`",+ " - DbWrites: `NextKeys`, `origin account`",+ " - DbWrites per key id: `KeyOwnder`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewSession",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " New session has happened. Note that the argument is the [session_index], not the block",+ " number as the type might suggest."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidProof",+ "docs": [+ " Invalid ownership proof."+ ]+ },+ {+ "name": "NoAssociatedValidatorId",+ "docs": [+ " No associated validator ID for account."+ ]+ },+ {+ "name": "DuplicatedKey",+ "docs": [+ " Registered duplicate key."+ ]+ },+ {+ "name": "NoKeys",+ "docs": [+ " No keys are associated with this account."+ ]+ }+ ]+ },+ {+ "name": "Democracy",+ "storage": {+ "prefix": "Democracy",+ "items": [+ {+ "name": "PublicPropCount",+ "modifier": "Default",+ "type": {+ "plain": "PropIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of (public) proposals that have been made so far."+ ]+ },+ {+ "name": "PublicProps",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(PropIndex,Hash,AccountId)>"+ },+ "fallback": "0x00",+ "docs": [+ " The public proposals. Unsorted. The second item is the proposal's hash."+ ]+ },+ {+ "name": "DepositOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "PropIndex",+ "value": "(Vec<AccountId>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Those who have locked a deposit.",+ "",+ " TWOX-NOTE: Safe, as increasing integer keys are safe."+ ]+ },+ {+ "name": "Preimages",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "PreimageStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map of hashes to the proposal preimage, along with who registered it and their deposit.",+ " The block number is the block at which it was deposited."+ ]+ },+ {+ "name": "ReferendumCount",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free referendum index, aka the number of referenda started so far."+ ]+ },+ {+ "name": "LowestUnbaked",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The lowest referendum index representing an unbaked referendum. Equal to",+ " `ReferendumCount` if there isn't a unbaked referendum."+ ]+ },+ {+ "name": "ReferendumInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReferendumIndex",+ "value": "ReferendumInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information concerning any given referendum.",+ "",+ " TWOX-NOTE: SAFE as indexes are not under an attacker’s control."+ ]+ },+ {+ "name": "VotingOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Voting",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " All votes for a particular voter. We store the balance for the number of votes that we",+ " have recorded. The second item is the total amount of delegations, that will be added.",+ "",+ " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "BlockNumber",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Accounts for which there are locks in action which may be removed at some point in the",+ " future. The value is the block number at which the lock expires and may be removed.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "LastTabledWasExternal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the last referendum tabled was submitted externally. False if it was a public",+ " proposal."+ ]+ },+ {+ "name": "NextExternal",+ "modifier": "Optional",+ "type": {+ "plain": "(Hash,VoteThreshold)"+ },+ "fallback": "0x00",+ "docs": [+ " The referendum to be tabled whenever it would be valid to table an external proposal.",+ " This happens when a referendum needs to be tabled and one of two conditions are met:",+ " - `LastTabledWasExternal` is `false`; or",+ " - `PublicProps` is empty."+ ]+ },+ {+ "name": "Blacklist",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "(BlockNumber,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A record of who vetoed what. Maps proposal hash to a possible existent block number",+ " (until when it may not be resubmitted) and who vetoed it."+ ]+ },+ {+ "name": "Cancellations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Record of all proposals that have been subject to emergency cancellation."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Optional",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender must",+ " have funds to cover the deposit.",+ "",+ " - `proposal_hash`: The hash of the proposal preimage.",+ " - `value`: The amount of deposit (must be at least `MinimumDeposit`).",+ "",+ " Emits `Proposed`.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Db reads: `PublicPropCount`, `PublicProps`",+ " - Db writes: `PublicPropCount`, `PublicProps`, `DepositOf`",+ " # </weight>"+ ]+ },+ {+ "name": "second",+ "args": [+ {+ "name": "proposal",+ "type": "Compact<PropIndex>"+ },+ {+ "name": "seconds_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Signals agreement with a particular proposal.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender",+ " must have funds to cover the deposit, equal to the original deposit.",+ "",+ " - `proposal`: The index of the proposal to second.",+ " - `seconds_upper_bound`: an upper bound on the current number of seconds on this",+ " proposal. Extrinsic is weighted according to this value with no refund.",+ "",+ " # <weight>",+ " - Complexity: `O(S)` where S is the number of seconds a proposal already has.",+ " - Db reads: `DepositOf`",+ " - Db writes: `DepositOf`",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "AccountVote"+ }+ ],+ "docs": [+ " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;",+ " otherwise it is a vote to keep the status quo.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `ref_index`: The index of the referendum to vote for.",+ " - `vote`: The vote configuration.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where R is the number of referendums the voter has voted on.",+ " weight is charged as if maximum votes.",+ " - Db reads: `ReferendumInfoOf`, `VotingOf`, `balances locks`",+ " - Db writes: `ReferendumInfoOf`, `VotingOf`, `balances locks`",+ " # </weight>"+ ]+ },+ {+ "name": "emergency_cancel",+ "args": [+ {+ "name": "ref_index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same",+ " referendum.",+ "",+ " The dispatch origin of this call must be `CancellationOrigin`.",+ "",+ " -`ref_index`: The index of the referendum to cancel.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`.",+ " - Db reads: `ReferendumInfoOf`, `Cancellations`",+ " - Db writes: `ReferendumInfoOf`, `Cancellations`",+ " # </weight>"+ ]+ },+ {+ "name": "external_propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a referendum to be tabled once it is legal to schedule an external",+ " referendum.",+ "",+ " The dispatch origin of this call must be `ExternalOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " # <weight>",+ " - Complexity `O(V)` with V number of vetoers in the blacklist of proposal.",+ " Decoding vec of length V. Charged as maximum",+ " - Db reads: `NextExternal`, `Blacklist`",+ " - Db writes: `NextExternal`",+ " # </weight>"+ ]+ },+ {+ "name": "external_propose_majority",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a majority-carries referendum to be tabled next once it is legal to schedule",+ " an external referendum.",+ "",+ " The dispatch of this call must be `ExternalMajorityOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Db write: `NextExternal`",+ " # </weight>"+ ]+ },+ {+ "name": "external_propose_default",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to",+ " schedule an external referendum.",+ "",+ " The dispatch of this call must be `ExternalDefaultOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Db write: `NextExternal`",+ " # </weight>"+ ]+ },+ {+ "name": "fast_track",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "voting_period",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Schedule the currently externally-proposed majority-carries referendum to be tabled",+ " immediately. If there is no externally-proposed referendum currently, or if there is one",+ " but it is not a majority-carries referendum then it fails.",+ "",+ " The dispatch of this call must be `FastTrackOrigin`.",+ "",+ " - `proposal_hash`: The hash of the current external proposal.",+ " - `voting_period`: The period that is allowed for voting on this proposal. Increased to",+ " `FastTrackVotingPeriod` if too low.",+ " - `delay`: The number of block after voting has ended in approval and this should be",+ " enacted. This doesn't have a minimum amount.",+ "",+ " Emits `Started`.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Db reads: `NextExternal`, `ReferendumCount`",+ " - Db writes: `NextExternal`, `ReferendumCount`, `ReferendumInfoOf`",+ " - Base Weight: 30.1 µs",+ " # </weight>"+ ]+ },+ {+ "name": "veto_external",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Veto and blacklist the external proposal hash.",+ "",+ " The dispatch origin of this call must be `VetoOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal to veto and blacklist.",+ "",+ " Emits `Vetoed`.",+ "",+ " # <weight>",+ " - Complexity: `O(V + log(V))` where V is number of `existing vetoers`",+ " Performs a binary search on `existing_vetoers` which should not be very large.",+ " - Db reads: `NextExternal`, `Blacklist`",+ " - Db writes: `NextExternal`, `Blacklist`",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_referendum",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Remove a referendum.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `ref_index`: The index of the referendum to cancel.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`.",+ " - Db writes: `ReferendumInfoOf`",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_queued",+ "args": [+ {+ "name": "which",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Cancel a proposal queued for enactment.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `which`: The index of the referendum to cancel.",+ "",+ " # <weight>",+ " - `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`.",+ " - Db reads: `scheduler lookup`, scheduler agenda`",+ " - Db writes: `scheduler lookup`, scheduler agenda`",+ " # </weight>"+ ]+ },+ {+ "name": "delegate",+ "args": [+ {+ "name": "to",+ "type": "AccountId"+ },+ {+ "name": "conviction",+ "type": "Conviction"+ },+ {+ "name": "balance",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Delegate the voting power (with some given conviction) of the sending account.",+ "",+ " The balance delegated is locked for as long as it's delegated, and thereafter for the",+ " time appropriate for the conviction's lock period.",+ "",+ " The dispatch origin of this call must be _Signed_, and the signing account must either:",+ " - be delegating already; or",+ " - have no voting activity (if there is, then it will need to be removed/consolidated",+ " through `reap_vote` or `unvote`).",+ "",+ " - `to`: The account whose voting the `target` account's voting power will follow.",+ " - `conviction`: The conviction that will be attached to the delegated votes. When the",+ " account is undelegated, the funds will be locked for the corresponding period.",+ " - `balance`: The amount of the account's balance to be used in delegating. This must",+ " not be more than the account's current balance.",+ "",+ " Emits `Delegated`.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes.",+ " - Db reads: 3*`VotingOf`, `origin account locks`",+ " - Db writes: 3*`VotingOf`, `origin account locks`",+ " - Db reads per votes: `ReferendumInfoOf`",+ " - Db writes per votes: `ReferendumInfoOf`",+ " # </weight>"+ ]+ },+ {+ "name": "undelegate",+ "args": [],+ "docs": [+ " Undelegate the voting power of the sending account.",+ "",+ " Tokens may be unlocked following once an amount of time consistent with the lock period",+ " of the conviction with which the delegation was issued.",+ "",+ " The dispatch origin of this call must be _Signed_ and the signing account must be",+ " currently delegating.",+ "",+ " Emits `Undelegated`.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes.",+ " - Db reads: 2*`VotingOf`",+ " - Db writes: 2*`VotingOf`",+ " - Db reads per votes: `ReferendumInfoOf`",+ " - Db writes per votes: `ReferendumInfoOf`",+ " # </weight>"+ ]+ },+ {+ "name": "clear_public_proposals",+ "args": [],+ "docs": [+ " Clears all public proposals.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - Db writes: `PublicProps`",+ " # </weight>"+ ]+ },+ {+ "name": "note_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This doesn't require the proposal to be",+ " in the dispatch queue but does require a deposit, returned once enacted.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " # <weight>",+ " - Complexity: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).",+ " - Db reads: `Preimages`",+ " - Db writes: `Preimages`",+ " # </weight>"+ ]+ },+ {+ "name": "note_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "note_imminent_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This requires the proposal to be",+ " in the dispatch queue. No deposit is needed. When this call is successful, i.e.",+ " the preimage has not been uploaded before and matches some imminent proposal,",+ " no fee is paid.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " # <weight>",+ " - Complexity: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).",+ " - Db reads: `Preimages`",+ " - Db writes: `Preimages`",+ " # </weight>"+ ]+ },+ {+ "name": "note_imminent_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "reap_preimage",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "proposal_len_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Remove an expired proposal preimage and collect the deposit.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `proposal_hash`: The preimage hash of a proposal.",+ " - `proposal_length_upper_bound`: an upper bound on length of the proposal.",+ " Extrinsic is weighted according to this value with no refund.",+ "",+ " This will only work after `VotingPeriod` blocks from the time that the preimage was",+ " noted, if it's the same account doing it. If it's a different account, then it'll only",+ " work an additional `EnactmentPeriod` later.",+ "",+ " Emits `PreimageReaped`.",+ "",+ " # <weight>",+ " - Complexity: `O(D)` where D is length of proposal.",+ " - Db reads: `Preimages`, provider account data",+ " - Db writes: `Preimages` provider account data",+ " # </weight>"+ ]+ },+ {+ "name": "unlock",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Unlock tokens that have an expired lock.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account to remove the lock on.",+ "",+ " # <weight>",+ " - Complexity `O(R)` with R number of vote of target.",+ " - Db reads: `VotingOf`, `balances locks`, `target account`",+ " - Db writes: `VotingOf`, `balances locks`, `target account`",+ " # </weight>"+ ]+ },+ {+ "name": "remove_vote",+ "args": [+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If:",+ " - the referendum was cancelled, or",+ " - the referendum is ongoing, or",+ " - the referendum has ended such that",+ " - the vote of the account was in opposition to the result; or",+ " - there was no conviction to the account's vote; or",+ " - the account made a split vote",+ " ...then the vote is removed cleanly and a following call to `unlock` may result in more",+ " funds being available.",+ "",+ " If, however, the referendum has ended and:",+ " - it finished corresponding to the vote of the account, and",+ " - the account made a standard vote with conviction, and",+ " - the lock period of the conviction is not over",+ " ...then the lock will be aggregated into the overall account's lock, which may involve",+ " *overlocking* (where the two locks are combined into a single lock that is the maximum",+ " of both the amount locked and the time is it locked for).",+ "",+ " The dispatch origin of this call must be _Signed_, and the signer must have a vote",+ " registered for referendum `index`.",+ "",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " # <weight>",+ " - `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote.",+ " - Db reads: `ReferendumInfoOf`, `VotingOf`",+ " - Db writes: `ReferendumInfoOf`, `VotingOf`",+ " # </weight>"+ ]+ },+ {+ "name": "remove_other_vote",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If the `target` is equal to the signer, then this function is exactly equivalent to",+ " `remove_vote`. If not equal to the signer, then the vote must have expired,",+ " either because the referendum was cancelled, because the voter lost the referendum or",+ " because the conviction period is over.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account of the vote to be removed; this account must have voted for",+ " referendum `index`.",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " # <weight>",+ " - `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote.",+ " - Db reads: `ReferendumInfoOf`, `VotingOf`",+ " - Db writes: `ReferendumInfoOf`, `VotingOf`",+ " # </weight>"+ ]+ },+ {+ "name": "enact_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Enact a proposal from a referendum. For now we just make the weight be the maximum."+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "PropIndex",+ "Balance"+ ],+ "docs": [+ " A motion has been proposed by a public account. [proposal_index, deposit]"+ ]+ },+ {+ "name": "Tabled",+ "args": [+ "PropIndex",+ "Balance",+ "Vec<AccountId>"+ ],+ "docs": [+ " A public proposal has been tabled for referendum vote. [proposal_index, deposit, depositors]"+ ]+ },+ {+ "name": "ExternalTabled",+ "args": [],+ "docs": [+ " An external proposal has been tabled."+ ]+ },+ {+ "name": "Started",+ "args": [+ "ReferendumIndex",+ "VoteThreshold"+ ],+ "docs": [+ " A referendum has begun. [ref_index, threshold]"+ ]+ },+ {+ "name": "Passed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been approved by referendum. [ref_index]"+ ]+ },+ {+ "name": "NotPassed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been rejected by referendum. [ref_index]"+ ]+ },+ {+ "name": "Cancelled",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A referendum has been cancelled. [ref_index]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "ReferendumIndex",+ "bool"+ ],+ "docs": [+ " A proposal has been enacted. [ref_index, is_ok]"+ ]+ },+ {+ "name": "Delegated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An account has delegated their vote to another account. [who, target]"+ ]+ },+ {+ "name": "Undelegated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An [account] has cancelled a previous delegation operation."+ ]+ },+ {+ "name": "Vetoed",+ "args": [+ "AccountId",+ "Hash",+ "BlockNumber"+ ],+ "docs": [+ " An external proposal has been vetoed. [who, proposal_hash, until]"+ ]+ },+ {+ "name": "PreimageNoted",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal's preimage was noted, and the deposit taken. [proposal_hash, who, deposit]"+ ]+ },+ {+ "name": "PreimageUsed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal preimage was removed and used (the deposit was returned).",+ " [proposal_hash, provider, deposit]"+ ]+ },+ {+ "name": "PreimageInvalid",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was invalid. [proposal_hash, ref_index]"+ ]+ },+ {+ "name": "PreimageMissing",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was missing. [proposal_hash, ref_index]"+ ]+ },+ {+ "name": "PreimageReaped",+ "args": [+ "Hash",+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A registered preimage was removed and the deposit collected by the reaper.",+ " [proposal_hash, provider, deposit, reaper]"+ ]+ },+ {+ "name": "Unlocked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An [account] has been unlocked successfully."+ ]+ }+ ],+ "constants": [+ {+ "name": "EnactmentPeriod",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The minimum period of locking and the period between a proposal being approved and enacted.",+ "",+ " It should generally be a little more than the unstake period to ensure that",+ " voting stakers have an opportunity to remove themselves from the system in the case where",+ " they are on the losing side of a vote."+ ]+ },+ {+ "name": "LaunchPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) new public referenda are launched."+ ]+ },+ {+ "name": "VotingPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) to check for new votes."+ ]+ },+ {+ "name": "MinimumDeposit",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be used as a deposit for a public referendum proposal."+ ]+ },+ {+ "name": "FastTrackVotingPeriod",+ "type": "BlockNumber",+ "value": "0x80510100",+ "docs": [+ " Minimum voting period allowed for an emergency referendum."+ ]+ },+ {+ "name": "CooloffPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " Period in blocks where an external proposal may not be re-submitted after being vetoed."+ ]+ },+ {+ "name": "PreimageByteDeposit",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of balance that must be deposited per byte of preimage stored."+ ]+ },+ {+ "name": "MaxVotes",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of votes for an account."+ ]+ }+ ],+ "errors": [+ {+ "name": "ValueLow",+ "docs": [+ " Value too low"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal does not exist"+ ]+ },+ {+ "name": "BadIndex",+ "docs": [+ " Unknown index"+ ]+ },+ {+ "name": "AlreadyCanceled",+ "docs": [+ " Cannot cancel the same proposal twice"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Proposal already made"+ ]+ },+ {+ "name": "ProposalBlacklisted",+ "docs": [+ " Proposal still blacklisted"+ ]+ },+ {+ "name": "NotSimpleMajority",+ "docs": [+ " Next external proposal not simple majority"+ ]+ },+ {+ "name": "InvalidHash",+ "docs": [+ " Invalid hash"+ ]+ },+ {+ "name": "NoProposal",+ "docs": [+ " No external proposal"+ ]+ },+ {+ "name": "AlreadyVetoed",+ "docs": [+ " Identity may not veto a proposal twice"+ ]+ },+ {+ "name": "NotDelegated",+ "docs": [+ " Not delegated"+ ]+ },+ {+ "name": "DuplicatePreimage",+ "docs": [+ " Preimage already noted"+ ]+ },+ {+ "name": "NotImminent",+ "docs": [+ " Not imminent"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " Too early"+ ]+ },+ {+ "name": "Imminent",+ "docs": [+ " Imminent"+ ]+ },+ {+ "name": "PreimageMissing",+ "docs": [+ " Preimage not found"+ ]+ },+ {+ "name": "ReferendumInvalid",+ "docs": [+ " Vote given for invalid referendum"+ ]+ },+ {+ "name": "PreimageInvalid",+ "docs": [+ " Invalid preimage"+ ]+ },+ {+ "name": "NoneWaiting",+ "docs": [+ " No proposals waiting"+ ]+ },+ {+ "name": "NotLocked",+ "docs": [+ " The target account does not have a lock."+ ]+ },+ {+ "name": "NotExpired",+ "docs": [+ " The lock on the account to be unlocked has not yet expired."+ ]+ },+ {+ "name": "NotVoter",+ "docs": [+ " The given account did not vote on the referendum."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " The actor has no permission to conduct the action."+ ]+ },+ {+ "name": "AlreadyDelegating",+ "docs": [+ " The account is already delegating."+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " An unexpected integer overflow occurred."+ ]+ },+ {+ "name": "Underflow",+ "docs": [+ " An unexpected integer underflow occurred."+ ]+ },+ {+ "name": "InsufficientFunds",+ "docs": [+ " Too high a balance was provided that the account cannot afford."+ ]+ },+ {+ "name": "NotDelegating",+ "docs": [+ " The account is not currently delegating."+ ]+ },+ {+ "name": "VotesExist",+ "docs": [+ " The account currently has votes attached to it and the operation cannot succeed until",+ " these are removed, either through `unvote` or `reap_vote`."+ ]+ },+ {+ "name": "InstantNotAllowed",+ "docs": [+ " The instant referendum origin is currently disallowed."+ ]+ },+ {+ "name": "Nonsense",+ "docs": [+ " Delegation to oneself makes no sense."+ ]+ },+ {+ "name": "WrongUpperBound",+ "docs": [+ " Invalid upper bound."+ ]+ },+ {+ "name": "MaxVotesReached",+ "docs": [+ " Maximum number of votes reached."+ ]+ }+ ]+ },+ {+ "name": "Council",+ "storage": {+ "prefix": "Instance1Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The member who provides the default vote for any other members that do not vote before",+ " the timeout. If None, then no member has that privilege."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " [account, proposal_index, proposal_hash, threshold]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " [account, proposal_hash, voted, yes, no]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " [proposal_hash]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " [proposal_hash]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " [proposal_hash, result]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " [proposal_hash, result]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " [proposal_hash, yes, no]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ]+ },+ {+ "name": "TechnicalCommittee",+ "storage": {+ "prefix": "Instance2Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The member who provides the default vote for any other members that do not vote before",+ " the timeout. If None, then no member has that privilege."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " [account, proposal_index, proposal_hash, threshold]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " [account, proposal_hash, voted, yes, no]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " [proposal_hash]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " [proposal_hash]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " [proposal_hash, result]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " [proposal_hash, result]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " [proposal_hash, yes, no]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ]+ },+ {+ "name": "Elections",+ "storage": {+ "prefix": "PhragmenElection",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current elected membership. Sorted based on account id."+ ]+ },+ {+ "name": "RunnersUp",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current runners_up. Sorted based on low to high merit (worse to best runner)."+ ]+ },+ {+ "name": "ElectionRounds",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The total number of vote rounds that have happened, excluding the upcoming one."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " Votes and locked stake of a particular voter.",+ "",+ " TWOX-NOTE: SAFE as `AccountId` is a crypto hash"+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The present candidate list. Sorted based on account-id. A current member or runner-up",+ " can never enter this vector and is always implicitly assumed to be a candidate."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vote",+ "args": [+ {+ "name": "votes",+ "type": "Vec<AccountId>"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Vote for a set of candidates for the upcoming round of election. This can be called to",+ " set the initial votes, or update already existing votes.",+ "",+ " Upon initial voting, `value` units of `who`'s balance is locked and a bond amount is",+ " reserved.",+ "",+ " The `votes` should:",+ " - not be empty.",+ " - be less than the number of possible candidates. Note that all current members and",+ " runners-up are also automatically candidates for the next round.",+ "",+ " It is the responsibility of the caller to not place all of their balance into the lock",+ " and keep some for further transactions.",+ "",+ " # <weight>",+ " Base weight: 47.93 µs",+ " State reads:",+ " \t- Candidates.len() + Members.len() + RunnersUp.len()",+ " \t- Voting (is_voter)",+ " \t- [AccountBalance(who) (unreserve + total_balance)]",+ " State writes:",+ " \t- Voting",+ " \t- Lock",+ " \t- [AccountBalance(who) (unreserve -- only when creating a new voter)]",+ " # </weight>"+ ]+ },+ {+ "name": "remove_voter",+ "args": [],+ "docs": [+ " Remove `origin` as a voter. This removes the lock and returns the bond.",+ "",+ " # <weight>",+ " Base weight: 36.8 µs",+ " All state access is from do_remove_voter.",+ " State reads:",+ " \t- Voting",+ " \t- [AccountData(who)]",+ " State writes:",+ " \t- Voting",+ " \t- Locks",+ " \t- [AccountData(who)]",+ " # </weight>"+ ]+ },+ {+ "name": "report_defunct_voter",+ "args": [+ {+ "name": "defunct",+ "type": "DefunctVoter"+ }+ ],+ "docs": [+ " Report `target` for being an defunct voter. In case of a valid report, the reporter is",+ " rewarded by the bond amount of `target`. Otherwise, the reporter itself is removed and",+ " their bond is slashed.",+ "",+ " A defunct voter is defined to be:",+ " - a voter whose current submitted votes are all invalid. i.e. all of them are no",+ " longer a candidate nor an active member or a runner-up.",+ "",+ "",+ " The origin must provide the number of current candidates and votes of the reported target",+ " for the purpose of accurate weight calculation.",+ "",+ " # <weight>",+ " No Base weight based on min square analysis.",+ " Complexity of candidate_count: 1.755 µs",+ " Complexity of vote_count: 18.51 µs",+ " State reads:",+ " \t- Voting(reporter)",+ " \t- Candidate.len()",+ " \t- Voting(Target)",+ " \t- Candidates, Members, RunnersUp (is_defunct_voter)",+ " State writes:",+ " \t- Lock(reporter || target)",+ " \t- [AccountBalance(reporter)] + AccountBalance(target)",+ " \t- Voting(reporter || target)",+ " Note: the db access is worse with respect to db, which is when the report is correct.",+ " # </weight>"+ ]+ },+ {+ "name": "submit_candidacy",+ "args": [+ {+ "name": "candidate_count",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Submit oneself for candidacy.",+ "",+ " A candidate will either:",+ " - Lose at the end of the term and forfeit their deposit.",+ " - Win and become a member. Members will eventually get their stash back.",+ " - Become a runner-up. Runners-ups are reserved members in case one gets forcefully",+ " removed.",+ "",+ " # <weight>",+ " Base weight = 33.33 µs",+ " Complexity of candidate_count: 0.375 µs",+ " State reads:",+ " \t- Candidates.len()",+ " \t- Candidates",+ " \t- Members",+ " \t- RunnersUp",+ " \t- [AccountBalance(who)]",+ " State writes:",+ " \t- [AccountBalance(who)]",+ " \t- Candidates",+ " # </weight>"+ ]+ },+ {+ "name": "renounce_candidacy",+ "args": [+ {+ "name": "renouncing",+ "type": "Renouncing"+ }+ ],+ "docs": [+ " Renounce one's intention to be a candidate for the next election round. 3 potential",+ " outcomes exist:",+ " - `origin` is a candidate and not elected in any set. In this case, the bond is",+ " unreserved, returned and origin is removed as a candidate.",+ " - `origin` is a current runner-up. In this case, the bond is unreserved, returned and",+ " origin is removed as a runner-up.",+ " - `origin` is a current member. In this case, the bond is unreserved and origin is",+ " removed as a member, consequently not being a candidate for the next round anymore.",+ " Similar to [`remove_voter`], if replacement runners exists, they are immediately used.",+ " <weight>",+ " If a candidate is renouncing:",+ " \tBase weight: 17.28 µs",+ " \tComplexity of candidate_count: 0.235 µs",+ " \tState reads:",+ " \t\t- Candidates",+ " \t\t- [AccountBalance(who) (unreserve)]",+ " \tState writes:",+ " \t\t- Candidates",+ " \t\t- [AccountBalance(who) (unreserve)]",+ " If member is renouncing:",+ " \tBase weight: 46.25 µs",+ " \tState reads:",+ " \t\t- Members, RunnersUp (remove_and_replace_member),",+ " \t\t- [AccountData(who) (unreserve)]",+ " \tState writes:",+ " \t\t- Members, RunnersUp (remove_and_replace_member),",+ " \t\t- [AccountData(who) (unreserve)]",+ " If runner is renouncing:",+ " \tBase weight: 46.25 µs",+ " \tState reads:",+ " \t\t- RunnersUp (remove_and_replace_member),",+ " \t\t- [AccountData(who) (unreserve)]",+ " \tState writes:",+ " \t\t- RunnersUp (remove_and_replace_member),",+ " \t\t- [AccountData(who) (unreserve)]",+ "",+ " Weight note: The call into changeMembers need to be accounted for.",+ " </weight>"+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "has_replacement",+ "type": "bool"+ }+ ],+ "docs": [+ " Remove a particular member from the set. This is effective immediately and the bond of",+ " the outgoing member is slashed.",+ "",+ " If a runner-up is available, then the best runner-up will be removed and replaces the",+ " outgoing member. Otherwise, a new phragmen election is started.",+ "",+ " Note that this does not affect the designated block number of the next election.",+ "",+ " # <weight>",+ " If we have a replacement:",+ " \t- Base weight: 50.93 µs",+ " \t- State reads:",+ " \t\t- RunnersUp.len()",+ " \t\t- Members, RunnersUp (remove_and_replace_member)",+ " \t- State writes:",+ " \t\t- Members, RunnersUp (remove_and_replace_member)",+ " Else, since this is a root call and will go into phragmen, we assume full block for now.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTerm",+ "args": [+ "Vec<(AccountId,Balance)>"+ ],+ "docs": [+ " A new term with [new_members]. This indicates that enough candidates existed to run the",+ " election, not that enough have has been elected. The inner value must be examined for",+ " this purpose. A `NewTerm([])` indicates that some candidates got their bond slashed and",+ " none were elected, whilst `EmptyTerm` means that no candidates existed to begin with."+ ]+ },+ {+ "name": "EmptyTerm",+ "args": [],+ "docs": [+ " No (or not enough) candidates existed for this round. This is different from",+ " `NewTerm([])`. See the description of `NewTerm`."+ ]+ },+ {+ "name": "MemberKicked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [member] has been removed. This should always be followed by either `NewTerm` ot",+ " `EmptyTerm`."+ ]+ },+ {+ "name": "MemberRenounced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [member] has renounced their candidacy."+ ]+ },+ {+ "name": "VoterReported",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A voter was reported with the the report being successful or not.",+ " [voter, reporter, success]"+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidacyBond",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": []+ },+ {+ "name": "VotingBond",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": []+ },+ {+ "name": "DesiredMembers",+ "type": "u32",+ "value": "0x0d000000",+ "docs": []+ },+ {+ "name": "DesiredRunnersUp",+ "type": "u32",+ "value": "0x07000000",+ "docs": []+ },+ {+ "name": "TermDuration",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": []+ },+ {+ "name": "ModuleId",+ "type": "LockIdentifier",+ "value": "0x706872656c656374",+ "docs": []+ }+ ],+ "errors": [+ {+ "name": "UnableToVote",+ "docs": [+ " Cannot vote when no candidates or members exist."+ ]+ },+ {+ "name": "NoVotes",+ "docs": [+ " Must vote for at least one candidate."+ ]+ },+ {+ "name": "TooManyVotes",+ "docs": [+ " Cannot vote more than candidates."+ ]+ },+ {+ "name": "MaximumVotesExceeded",+ "docs": [+ " Cannot vote more than maximum allowed."+ ]+ },+ {+ "name": "LowBalance",+ "docs": [+ " Cannot vote with stake less than minimum balance."+ ]+ },+ {+ "name": "UnableToPayBond",+ "docs": [+ " Voter can not pay voting bond."+ ]+ },+ {+ "name": "MustBeVoter",+ "docs": [+ " Must be a voter."+ ]+ },+ {+ "name": "ReportSelf",+ "docs": [+ " Cannot report self."+ ]+ },+ {+ "name": "DuplicatedCandidate",+ "docs": [+ " Duplicated candidate submission."+ ]+ },+ {+ "name": "MemberSubmit",+ "docs": [+ " Member cannot re-submit candidacy."+ ]+ },+ {+ "name": "RunnerSubmit",+ "docs": [+ " Runner cannot re-submit candidacy."+ ]+ },+ {+ "name": "InsufficientCandidateFunds",+ "docs": [+ " Candidate does not have enough funds."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ },+ {+ "name": "InvalidCandidateCount",+ "docs": [+ " The provided count of number of candidates is incorrect."+ ]+ },+ {+ "name": "InvalidVoteCount",+ "docs": [+ " The provided count of number of votes is incorrect."+ ]+ },+ {+ "name": "InvalidRenouncing",+ "docs": [+ " The renouncing origin presented a wrong `Renouncing` parameter."+ ]+ },+ {+ "name": "InvalidReplacement",+ "docs": [+ " Prediction regarding replacement after member removal is wrong."+ ]+ }+ ]+ },+ {+ "name": "TechnicalMembership",+ "storage": {+ "prefix": "Instance1Membership",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current membership, stored as an ordered Vec."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The current prime member, if one exists."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a member `who` to the set.",+ "",+ " May only be called from `T::AddOrigin`."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Remove a member `who` from the set.",+ "",+ " May only be called from `T::RemoveOrigin`."+ ]+ },+ {+ "name": "swap_member",+ "args": [+ {+ "name": "remove",+ "type": "AccountId"+ },+ {+ "name": "add",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out one member `remove` for another `add`.",+ "",+ " May only be called from `T::SwapOrigin`.",+ "",+ " Prime membership is *not* passed from `remove` to `add`, if extant."+ ]+ },+ {+ "name": "reset_members",+ "args": [+ {+ "name": "members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Change the membership to a new set, disregarding the existing membership. Be nice and",+ " pass `members` pre-sorted.",+ "",+ " May only be called from `T::ResetOrigin`."+ ]+ },+ {+ "name": "change_key",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out the sending member for some other key `new`.",+ "",+ " May only be called from `Signed` origin of a current member.",+ "",+ " Prime membership is passed from the origin account to `new`, if extant."+ ]+ },+ {+ "name": "set_prime",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Set the prime member. Must be a current member.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ },+ {+ "name": "clear_prime",+ "args": [],+ "docs": [+ " Remove the prime member if it exists.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ }+ ],+ "events": [+ {+ "name": "MemberAdded",+ "args": [],+ "docs": [+ " The given member was added; see the transaction for who."+ ]+ },+ {+ "name": "MemberRemoved",+ "args": [],+ "docs": [+ " The given member was removed; see the transaction for who."+ ]+ },+ {+ "name": "MembersSwapped",+ "args": [],+ "docs": [+ " Two members were swapped; see the transaction for who."+ ]+ },+ {+ "name": "MembersReset",+ "args": [],+ "docs": [+ " The membership was reset; see the transaction for who the new set is."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [],+ "docs": [+ " One of the members' keys changed."+ ]+ },+ {+ "name": "Dummy",+ "args": [+ "PhantomData"+ ],+ "docs": [+ " Phantom member, never used."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "FinalityTracker",+ "storage": null,+ "calls": [+ {+ "name": "final_hint",+ "args": [+ {+ "name": "hint",+ "type": "Compact<BlockNumber>"+ }+ ],+ "docs": [+ " Hint that the author of this block thinks the best finalized",+ " block is the given number."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "WindowSize",+ "type": "BlockNumber",+ "value": "0x65000000",+ "docs": [+ " The number of recent samples to keep from this chain. Default is 101."+ ]+ },+ {+ "name": "ReportLatency",+ "type": "BlockNumber",+ "value": "0xe8030000",+ "docs": [+ " The delay after which point things become suspicious. Default is 1000."+ ]+ }+ ],+ "errors": [+ {+ "name": "AlreadyUpdated",+ "docs": [+ " Final hint must be updated only once in the block"+ ]+ },+ {+ "name": "BadHint",+ "docs": [+ " Finalized height above block number"+ ]+ }+ ]+ },+ {+ "name": "Grandpa",+ "storage": {+ "prefix": "GrandpaFinality",+ "items": [+ {+ "name": "State",+ "modifier": "Default",+ "type": {+ "plain": "StoredState"+ },+ "fallback": "0x00",+ "docs": [+ " State of the current authority set."+ ]+ },+ {+ "name": "PendingChange",+ "modifier": "Optional",+ "type": {+ "plain": "StoredPendingChange"+ },+ "fallback": "0x00",+ "docs": [+ " Pending change: (signaled at, scheduled change)."+ ]+ },+ {+ "name": "NextForced",+ "modifier": "Optional",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00",+ "docs": [+ " next block number where we can force a change."+ ]+ },+ {+ "name": "Stalled",+ "modifier": "Optional",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x00",+ "docs": [+ " `true` if we are currently stalled."+ ]+ },+ {+ "name": "CurrentSetId",+ "modifier": "Default",+ "type": {+ "plain": "SetId"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The number of changes (both in terms of keys and underlying economic responsibilities)",+ " in the \"set\" of Grandpa validators from genesis."+ ]+ },+ {+ "name": "SetIdSession",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "SetId",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from grandpa set ID to the index of the *most recent* session for which its",+ " members were responsible.",+ "",+ " TWOX-NOTE: `SetId` is not under user control."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported.",+ "",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ },+ {+ "name": "note_stalled",+ "args": [+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "best_finalized_block_number",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Note that the current authority set of the GRANDPA finality gadget has",+ " stalled. This will trigger a forced authority set change at the beginning",+ " of the next session, to be enacted `delay` blocks after that. The delay",+ " should be high enough to safely assume that the block signalling the",+ " forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters",+ " will start the new authority set using the given finalized block as base.",+ " Only callable by root."+ ]+ }+ ],+ "events": [+ {+ "name": "NewAuthorities",+ "args": [+ "AuthorityList"+ ],+ "docs": [+ " New authority set has been applied. [authority_set]"+ ]+ },+ {+ "name": "Paused",+ "args": [],+ "docs": [+ " Current authority set has been paused."+ ]+ },+ {+ "name": "Resumed",+ "args": [],+ "docs": [+ " Current authority set has been resumed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "PauseFailed",+ "docs": [+ " Attempt to signal GRANDPA pause when the authority set isn't live",+ " (either paused or already pending pause)."+ ]+ },+ {+ "name": "ResumeFailed",+ "docs": [+ " Attempt to signal GRANDPA resume when the authority set isn't paused",+ " (either live or already pending resume)."+ ]+ },+ {+ "name": "ChangePending",+ "docs": [+ " Attempt to signal GRANDPA change with one already pending."+ ]+ },+ {+ "name": "TooSoon",+ "docs": [+ " Cannot signal forced change so soon after last."+ ]+ },+ {+ "name": "InvalidKeyOwnershipProof",+ "docs": [+ " A key ownership proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "InvalidEquivocationProof",+ "docs": [+ " An equivocation proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "DuplicateOffenceReport",+ "docs": [+ " A given equivocation report is valid but already previously reported."+ ]+ }+ ]+ },+ {+ "name": "Treasury",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "ProposalIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of proposals that have been made."+ ]+ },+ {+ "name": "Proposals",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ProposalIndex",+ "value": "TreasuryProposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Proposals that have been made."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ProposalIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Proposal indices that have been approved but not yet awarded."+ ]+ },+ {+ "name": "Tips",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Hash",+ "value": "OpenTip",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Tips that are not yet completed. Keyed by the hash of `(reason, who)` from the value.",+ " This has the insecure enumerable hash function since the key itself is already",+ " guaranteed to be a secure hash."+ ]+ },+ {+ "name": "Reasons",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Simple preimage lookup from the reason's hash to the original data. Again, has an",+ " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_spend",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Put forward a suggestion for spending. A deposit proportional to the value",+ " is reserved and slashed if the proposal is rejected. It is returned once the",+ " proposal is awarded.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `ProposalCount`, `origin account`",+ " - DbWrites: `ProposalCount`, `Proposals`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "reject_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Reject a proposed spend. The original deposit will be slashed.",+ "",+ " May only be called from `T::RejectOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `Proposals`, `rejected proposer account`",+ " - DbWrites: `Proposals`, `rejected proposer account`",+ " # </weight>"+ ]+ },+ {+ "name": "approve_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",+ " and the original deposit will be returned.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1).",+ " - DbReads: `Proposals`, `Approvals`",+ " - DbWrite: `Approvals`",+ " # </weight>"+ ]+ },+ {+ "name": "report_awesome",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Report something `reason` that deserves a tip and claim any eventual the finder's fee.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `TipReportDepositPerByte` for each byte in `reason`.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where `R` length of `reason`.",+ " - encoding and hashing of 'reason'",+ " - DbReads: `Reasons`, `Tips`, `who account data`",+ " - DbWrites: `Tips`, `who account data`",+ " # </weight>"+ ]+ },+ {+ "name": "retract_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",+ "",+ " If successful, the original deposit will be unreserved.",+ "",+ " The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",+ " must have been reported by the signing account through `report_awesome` (and not",+ " through `tip_new`).",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " Emits `TipRetracted` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Depends on the length of `T::Hash` which is fixed.",+ " - DbReads: `Tips`, `origin account`",+ " - DbWrites: `Reasons`, `Tips`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "tip_new",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "tip_value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Give a tip for something new; no finder's fee will be taken.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.",+ " - `O(T)`: decoding `Tipper` vec of length `T`",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - `O(R)`: hashing and encoding of reason of length `R`",+ " - DbReads: `Tippers`, `Reasons`",+ " - DbWrites: `Reasons`, `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ },+ {+ "name": "tip_value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Declare a tip value for an already-open tip.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",+ " account ID.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",+ " has started.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`, insert tip and check closing,",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ "",+ " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it",+ " is weighted as if almost full i.e of length `T-1`.",+ " - DbReads: `Tippers`, `Tips`",+ " - DbWrites: `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "close_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Close and payout a tip.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " The tip identified by `hash` must have finished its countdown period.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`.",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - DbReads: `Tips`, `Tippers`, `tip finder`",+ " - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "ProposalIndex"+ ],+ "docs": [+ " New proposal. [proposal_index]"+ ]+ },+ {+ "name": "Spending",+ "args": [+ "Balance"+ ],+ "docs": [+ " We have ended a spend period and will now allocate funds. [budget_remaining]"+ ]+ },+ {+ "name": "Awarded",+ "args": [+ "ProposalIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " Some funds have been allocated. [proposal_index, award, beneficiary]"+ ]+ },+ {+ "name": "Rejected",+ "args": [+ "ProposalIndex",+ "Balance"+ ],+ "docs": [+ " A proposal was rejected; funds were slashed. [proposal_index, slashed]"+ ]+ },+ {+ "name": "Burnt",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some of our funds have been burnt. [burn]"+ ]+ },+ {+ "name": "Rollover",+ "args": [+ "Balance"+ ],+ "docs": [+ " Spending has finished; this is the amount that rolls over until next spend. [budget_remaining]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds have been deposited. [deposit]"+ ]+ },+ {+ "name": "NewTip",+ "args": [+ "Hash"+ ],+ "docs": [+ " A new tip suggestion has been opened. [tip_hash]"+ ]+ },+ {+ "name": "TipClosing",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has reached threshold and is closing. [tip_hash]"+ ]+ },+ {+ "name": "TipClosed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been closed. [tip_hash, who, payout]"+ ]+ },+ {+ "name": "TipRetracted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has been retracted. [tip_hash]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProposalBond",+ "type": "Permill",+ "value": "0x50c30000",+ "docs": [+ " Fraction of a proposal's value that should be bonded in order to place the proposal.",+ " An accepted proposal gets these back. A rejected proposal does not."+ ]+ },+ {+ "name": "ProposalBondMinimum",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Minimum amount of funds that should be placed in a deposit for making a proposal."+ ]+ },+ {+ "name": "SpendPeriod",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " Period between successive spends."+ ]+ },+ {+ "name": "Burn",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of spare funds (if any) that are burnt per spend period."+ ]+ },+ {+ "name": "TipCountdown",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The period for which a tip remains open after is has achieved threshold tippers."+ ]+ },+ {+ "name": "TipFindersFee",+ "type": "Percent",+ "value": "0x14",+ "docs": [+ " The amount of the final tip which goes to the original reporter of the tip."+ ]+ },+ {+ "name": "TipReportDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a tip report."+ ]+ },+ {+ "name": "TipReportDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within the tip report reason."+ ]+ },+ {+ "name": "ModuleId",+ "type": "ModuleId",+ "value": "0x70792f7472737279",+ "docs": [+ " The treasury's module id, used for deriving its sovereign account ID."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidProposalIndex",+ "docs": [+ " No proposal at that index."+ ]+ },+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "AlreadyKnown",+ "docs": [+ " The tip was already found/started."+ ]+ },+ {+ "name": "UnknownTip",+ "docs": [+ " The tip hash is unknown."+ ]+ },+ {+ "name": "NotFinder",+ "docs": [+ " The account attempting to retract the tip is not the finder of the tip."+ ]+ },+ {+ "name": "StillOpen",+ "docs": [+ " The tip cannot be claimed/closed because there are not enough tippers yet."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The tip cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ]+ },+ {+ "name": "Contracts",+ "storage": {+ "prefix": "Contracts",+ "items": [+ {+ "name": "CurrentSchedule",+ "modifier": "Default",+ "type": {+ "plain": "Schedule"+ },+ "fallback": "0x0000000020a107000000000020a107000000000020a107000000000020a107000000000020a107000000000020a107000000000020a1070000000000e0f7050400000000e024370500000000e0f705040000000020a107000000000020a107000000000080f0fa020000000000e1f5050000000004000000000001001000000000400000002000000000000800",+ "docs": [+ " Current cost schedule for contracts."+ ]+ },+ {+ "name": "PristineCode",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from an original code hash to the original code, untouched by instrumentation."+ ]+ },+ {+ "name": "CodeStorage",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "PrefabWasmModule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping between an original code hash and instrumented wasm code, ready for execution."+ ]+ },+ {+ "name": "AccountCounter",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The subtrie counter."+ ]+ },+ {+ "name": "ContractInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ContractInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The code associated with a given account.",+ "",+ " TWOX-NOTE: SAFE since `AccountId` is a secure hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "update_schedule",+ "args": [+ {+ "name": "schedule",+ "type": "Schedule"+ }+ ],+ "docs": [+ " Updates the schedule for metering contracts.",+ "",+ " The schedule must have a greater version than the stored schedule."+ ]+ },+ {+ "name": "put_code",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Stores the given binary Wasm code into the chain's storage and returns its `codehash`.",+ " You can instantiate contracts only with stored code."+ ]+ },+ {+ "name": "call",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Makes a call to an account, optionally transferring some balance.",+ "",+ " * If the account is a smart-contract account, the associated code will be",+ " executed and any value will be transferred.",+ " * If the account is a regular account, any value will be transferred.",+ " * If no account exists and the call value is not less than `existential_deposit`,",+ " a regular account will be created and any value will be transferred."+ ]+ },+ {+ "name": "instantiate",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "code_hash",+ "type": "CodeHash"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a new contract from the `codehash` generated by `put_code`, optionally transferring some balance.",+ "",+ " Instantiation is executed as follows:",+ "",+ " - The destination address is computed based on the sender and hash of the code.",+ " - The smart-contract account is created at the computed address.",+ " - The `ctor_code` is executed in the context of the newly-created account. Buffer returned",+ " after the execution is saved as the `code` of the account. That code will be invoked",+ " upon any call received by this account.",+ " - The contract is initialized."+ ]+ },+ {+ "name": "claim_surcharge",+ "args": [+ {+ "name": "dest",+ "type": "AccountId"+ },+ {+ "name": "aux_sender",+ "type": "Option<AccountId>"+ }+ ],+ "docs": [+ " Allows block producers to claim a small reward for evicting a contract. If a block producer",+ " fails to do so, a regular users will be allowed to claim the reward.",+ "",+ " If contract is not evicted as a result of this call, no actions are taken and",+ " the sender is not eligible for the reward."+ ]+ }+ ],+ "events": [+ {+ "name": "Instantiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract deployed by address at the specified address. [owner, contract]"+ ]+ },+ {+ "name": "Evicted",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " Contract has been evicted and is now in tombstone state.",+ " [contract, tombstone]",+ " ",+ " # Params",+ "",+ " - `contract`: `AccountId`: The account ID of the evicted contract.",+ " - `tombstone`: `bool`: True if the evicted contract left behind a tombstone."+ ]+ },+ {+ "name": "Restored",+ "args": [+ "AccountId",+ "AccountId",+ "Hash",+ "Balance"+ ],+ "docs": [+ " Restoration for a contract has been successful.",+ " [donor, dest, code_hash, rent_allowance]",+ " ",+ " # Params",+ "",+ " - `donor`: `AccountId`: Account ID of the restoring contract",+ " - `dest`: `AccountId`: Account ID of the restored contract",+ " - `code_hash`: `Hash`: Code hash of the restored contract",+ " - `rent_allowance: `Balance`: Rent allowance of the restored contract"+ ]+ },+ {+ "name": "CodeStored",+ "args": [+ "Hash"+ ],+ "docs": [+ " Code with the specified hash has been stored.",+ " [code_hash]"+ ]+ },+ {+ "name": "ScheduleUpdated",+ "args": [+ "u32"+ ],+ "docs": [+ " Triggered when the current [schedule] is updated."+ ]+ },+ {+ "name": "ContractExecution",+ "args": [+ "AccountId",+ "Bytes"+ ],+ "docs": [+ " An event deposited upon execution of a contract from the account.",+ " [account, data]"+ ]+ }+ ],+ "constants": [+ {+ "name": "SignedClaimHandicap",+ "type": "BlockNumber",+ "value": "0x02000000",+ "docs": [+ " Number of block delay an extrinsic claim surcharge has.",+ "",+ " When claim surcharge is called by an extrinsic the rent is checked",+ " for current_block - delay"+ ]+ },+ {+ "name": "TombstoneDeposit",+ "type": "BalanceOf",+ "value": "0x00a0acb9030000000000000000000000",+ "docs": [+ " The minimum amount required to generate a tombstone."+ ]+ },+ {+ "name": "StorageSizeOffset",+ "type": "u32",+ "value": "0x08000000",+ "docs": [+ " A size offset for an contract. A just created account with untouched storage will have that",+ " much of storage from the perspective of the state rent.",+ "",+ " This is a simple way to ensure that contracts with empty storage eventually get deleted",+ " by making them pay rent. This creates an incentive to remove them early in order to save",+ " rent."+ ]+ },+ {+ "name": "RentByteFee",+ "type": "BalanceOf",+ "value": "0x00286bee000000000000000000000000",+ "docs": [+ " Price of a byte of storage per one block interval. Should be greater than 0."+ ]+ },+ {+ "name": "RentDepositOffset",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of funds a contract should deposit in order to offset",+ " the cost of one byte.",+ "",+ " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,",+ " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.",+ " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,",+ " then it would pay 500 BU/day."+ ]+ },+ {+ "name": "SurchargeReward",+ "type": "BalanceOf",+ "value": "0x005cb2ec220000000000000000000000",+ "docs": [+ " Reward that is received by the party whose touch has led",+ " to removal of a contract."+ ]+ },+ {+ "name": "MaxDepth",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum nesting level of a call/instantiate stack. A reasonable default",+ " value is 100."+ ]+ },+ {+ "name": "MaxValueSize",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " The maximum size of a storage value in bytes. A reasonable default is 16 KiB."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidScheduleVersion",+ "docs": [+ " A new schedule must have a greater version than the current one."+ ]+ },+ {+ "name": "InvalidSurchargeClaim",+ "docs": [+ " An origin must be signed or inherent and auxiliary sender only provided on inherent."+ ]+ },+ {+ "name": "InvalidSourceContract",+ "docs": [+ " Cannot restore from nonexisting or tombstone contract."+ ]+ },+ {+ "name": "InvalidDestinationContract",+ "docs": [+ " Cannot restore to nonexisting or alive contract."+ ]+ },+ {+ "name": "InvalidTombstone",+ "docs": [+ " Tombstones don't match."+ ]+ },+ {+ "name": "InvalidContractOrigin",+ "docs": [+ " An origin TrieId written in the current block."+ ]+ },+ {+ "name": "OutOfGas",+ "docs": [+ " The executed contract exhausted its gas limit."+ ]+ },+ {+ "name": "OutputBufferTooSmall",+ "docs": [+ " The output buffer supplied to a contract API call was too small."+ ]+ },+ {+ "name": "BelowSubsistenceThreshold",+ "docs": [+ " Performing the requested transfer would have brought the contract below",+ " the subsistence threshold. No transfer is allowed to do this in order to allow",+ " for a tombstone to be created. Use `seal_terminate` to remove a contract without",+ " leaving a tombstone behind."+ ]+ },+ {+ "name": "NewContractNotFunded",+ "docs": [+ " The newly created contract is below the subsistence threshold after executing",+ " its contructor. No contracts are allowed to exist below that threshold."+ ]+ },+ {+ "name": "TransferFailed",+ "docs": [+ " Performing the requested transfer failed for a reason originating in the",+ " chosen currency implementation of the runtime. Most probably the balance is",+ " too low or locks are placed on it."+ ]+ },+ {+ "name": "MaxCallDepthReached",+ "docs": [+ " Performing a call was denied because the calling depth reached the limit",+ " of what is specified in the schedule."+ ]+ },+ {+ "name": "NotCallable",+ "docs": [+ " The contract that was called is either no contract at all (a plain account)",+ " or is a tombstone."+ ]+ },+ {+ "name": "CodeTooLarge",+ "docs": [+ " The code supplied to `put_code` exceeds the limit specified in the current schedule."+ ]+ },+ {+ "name": "CodeNotFound",+ "docs": [+ " No code could be found at the supplied code hash."+ ]+ },+ {+ "name": "OutOfBounds",+ "docs": [+ " A buffer outside of sandbox memory was passed to a contract API function."+ ]+ },+ {+ "name": "DecodingFailed",+ "docs": [+ " Input passed to a contract API function failed to decode as expected type."+ ]+ },+ {+ "name": "ContractTrapped",+ "docs": [+ " Contract trapped during execution."+ ]+ }+ ]+ },+ {+ "name": "Sudo",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "Key",+ "modifier": "Default",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The `AccountId` of the sudo key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "sudo",+ "args": [+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_unchecked_weight",+ "args": [+ {+ "name": "call",+ "type": "Call"+ },+ {+ "name": "_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ " This function does not check the weight of the call, and instead allows the",+ " Sudo user to specify the weight of the call.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - The weight of this call is defined by the caller.",+ " # </weight>"+ ]+ },+ {+ "name": "set_key",+ "args": [+ {+ "name": "new",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_as",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Signed` origin from",+ " a given account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Sudid",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A sudo just took place. [result]"+ ]+ },+ {+ "name": "KeyChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The [sudoer] just switched identity; the old key is supplied."+ ]+ },+ {+ "name": "SudoAsDone",+ "args": [+ "bool"+ ],+ "docs": [+ " A sudo just took place. [result]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "RequireSudo",+ "docs": [+ " Sender must be the Sudo account"+ ]+ }+ ]+ },+ {+ "name": "ImOnline",+ "storage": {+ "prefix": "ImOnline",+ "items": [+ {+ "name": "HeartbeatAfter",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The block number after which it's ok to send heartbeats in current session.",+ "",+ " At the beginning of each session we set this to a value that should",+ " fall roughly in the middle of the session duration.",+ " The idea is to first wait for the validators to produce a block",+ " in the current session, so that the heartbeat later on will not be necessary."+ ]+ },+ {+ "name": "Keys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AuthorityId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of keys that may issue a heartbeat."+ ]+ },+ {+ "name": "ReceivedHeartbeats",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "AuthIndex",+ "value": "Bytes",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " For each session index, we keep a mapping of `AuthIndex` to",+ " `offchain::OpaqueNetworkState`."+ ]+ },+ {+ "name": "AuthoredBlocks",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "ValidatorId",+ "value": "u32",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " For each session index, we keep a mapping of `T::ValidatorId` to the",+ " number of blocks authored by the given authority."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "heartbeat",+ "args": [+ {+ "name": "heartbeat",+ "type": "Heartbeat"+ },+ {+ "name": "_signature",+ "type": "Signature"+ }+ ],+ "docs": [+ " # <weight>",+ " - Complexity: `O(K + E)` where K is length of `Keys` and E is length of",+ " `Heartbeat.network_state.external_address`",+ "",+ " - `O(K)`: decoding of length `K`",+ " - `O(E)`: decoding/encoding of length `E`",+ " - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,",+ " `ReceivedHeartbeats`",+ " - DbWrites: `ReceivedHeartbeats`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "HeartbeatReceived",+ "args": [+ "AuthorityId"+ ],+ "docs": [+ " A new heartbeat was received from `AuthorityId` [authority_id]"+ ]+ },+ {+ "name": "AllGood",+ "args": [],+ "docs": [+ " At the end of the session, no offence was committed."+ ]+ },+ {+ "name": "SomeOffline",+ "args": [+ "Vec<IdentificationTuple>"+ ],+ "docs": [+ " At the end of the session, at least one validator was found to be [offline]."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidKey",+ "docs": [+ " Non existent public key."+ ]+ },+ {+ "name": "DuplicatedHeartbeat",+ "docs": [+ " Duplicated heartbeat."+ ]+ }+ ]+ },+ {+ "name": "AuthorityDiscovery",+ "storage": null,+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Offences",+ "storage": {+ "prefix": "Offences",+ "items": [+ {+ "name": "Reports",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReportIdOf",+ "value": "OffenceDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The primary structure that holds all offence records keyed by report identifiers."+ ]+ },+ {+ "name": "DeferredOffences",+ "modifier": "Default",+ "type": {+ "plain": "Vec<DeferredOffenceOf>"+ },+ "fallback": "0x00",+ "docs": [+ " Deferred reports that have been rejected by the offence handler and need to be submitted",+ " at a later time."+ ]+ },+ {+ "name": "ConcurrentReportsIndex",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Kind",+ "key2": "OpaqueTimeSlot",+ "value": "Vec<ReportIdOf>",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " A vector of reports of the same kind that happened at the same time slot."+ ]+ },+ {+ "name": "ReportsByKindIndex",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Kind",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Enumerates all reports of a kind along with the time they happened.",+ "",+ " All reports are sorted by the time of offence.",+ "",+ " Note that the actual type of this mapping is `Vec<u8>`, this is because values of",+ " different types are not supported at the moment so we are doing the manual serialization."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "Offence",+ "args": [+ "Kind",+ "OpaqueTimeSlot",+ "bool"+ ],+ "docs": [+ " There is an offence reported of the given `kind` happened at the `session_index` and",+ " (kind-specific) time slot. This event is not deposited for duplicate slashes. last",+ " element indicates of the offence was applied (true) or queued (false) ",+ " [kind, timeslot, applied]."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Historical",+ "storage": null,+ "calls": null,+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "RandomnessCollectiveFlip",+ "storage": {+ "prefix": "RandomnessCollectiveFlip",+ "items": [+ {+ "name": "RandomMaterial",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " Series of block headers from the last 81 blocks that acts as random seed material. This",+ " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",+ " the oldest hash."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Identity",+ "storage": {+ "prefix": "Identity",+ "items": [+ {+ "name": "IdentityOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Registration",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information that is pertinent to identify the entity behind an account.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "SuperOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "(AccountId,Data)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The super-identity of an alternative \"sub\" identity together with its name, within that",+ " context. If the account is not some other account's sub-identity, then just `None`."+ ]+ },+ {+ "name": "SubsOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " Alternative \"sub\" identities of this account.",+ "",+ " The first item is the deposit, the second is a vector of the accounts.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "Registrars",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Option<RegistrarInfo>>"+ },+ "fallback": "0x00",+ "docs": [+ " The set of registrars. Not expected to get very big as can only be added through a",+ " special origin (likely a council motion).",+ "",+ " The index into this can be cast to `RegistrarIndex` to get a valid value."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_registrar",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a registrar to the system.",+ "",+ " The dispatch origin for this call must be `T::RegistrarOrigin`.",+ "",+ " - `account`: the account of the registrar.",+ "",+ " Emits `RegistrarAdded` if successful.",+ "",+ " # <weight>",+ " - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).",+ " - One storage mutation (codec `O(R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_identity",+ "args": [+ {+ "name": "info",+ "type": "IdentityInfo"+ }+ ],+ "docs": [+ " Set an account's identity information and reserve the appropriate deposit.",+ "",+ " If the account already has identity information, the deposit is taken as part payment",+ " for the new deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `info`: The identity information.",+ "",+ " Emits `IdentitySet` if successful.",+ "",+ " # <weight>",+ " - `O(X + X' + R)`",+ " - where `X` additional-field-count (deposit-bounded and code-bounded)",+ " - where `R` judgements-count (registrar-count-bounded)",+ " - One balance reserve operation.",+ " - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_subs",+ "args": [+ {+ "name": "subs",+ "type": "Vec<(AccountId,Data)>"+ }+ ],+ "docs": [+ " Set the sub-accounts of the sender.",+ "",+ " Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned",+ " and an amount `SubAccountDeposit` will be reserved for each item in `subs`.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " - `subs`: The identity's (new) sub-accounts.",+ "",+ " # <weight>",+ " - `O(P + S)`",+ " - where `P` old-subs-count (hard- and deposit-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - At most one balance operations.",+ " - DB:",+ " - `P + S` storage mutations (codec complexity `O(1)`)",+ " - One storage read (codec complexity `O(P)`).",+ " - One storage write (codec complexity `O(S)`).",+ " - One storage-exists (`IdentityOf::contains_key`).",+ " # </weight>"+ ]+ },+ {+ "name": "clear_identity",+ "args": [],+ "docs": [+ " Clear an account's identity info and all sub-accounts and return all deposits.",+ "",+ " Payment: All reserved balances on the account are returned.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " Emits `IdentityCleared` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`",+ " - where `R` registrar-count (governance-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - where `X` additional-field-count (deposit-bounded and code-bounded).",+ " - One balance-unreserve operation.",+ " - `2` storage reads and `S + 2` storage deletions.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "request_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "max_fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Request a judgement from a registrar.",+ "",+ " Payment: At most `max_fee` will be reserved for payment to the registrar if judgement",+ " given.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is requested.",+ " - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:",+ "",+ " ```nocompile",+ " Self::registrars().get(reg_index).unwrap().fee",+ " ```",+ "",+ " Emits `JudgementRequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_request",+ "args": [+ {+ "name": "reg_index",+ "type": "RegistrarIndex"+ }+ ],+ "docs": [+ " Cancel a previous request.",+ "",+ " Payment: A previously reserved deposit is returned on success.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is no longer requested.",+ "",+ " Emits `JudgementUnrequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - One storage mutation `O(R + X)`.",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "set_fee",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Set the fee required for a judgement to be requested from a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fee`: the new fee.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_account_id",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Change the account associated with a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `new`: the new account ID.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_fields",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fields",+ "type": "IdentityFields"+ }+ ],+ "docs": [+ " Set the field information for a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fields`: the fields that the registrar concerns themselves with.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "provide_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "judgement",+ "type": "IdentityJudgement"+ }+ ],+ "docs": [+ " Provide a judgement for an account's identity.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `reg_index`.",+ "",+ " - `reg_index`: the index of the registrar whose judgement is being made.",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ " - `judgement`: the judgement of the registrar of index `reg_index` about `target`.",+ "",+ " Emits `JudgementGiven` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-transfer operation.",+ " - Up to one account-lookup operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "kill_identity",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove an account's identity and sub-account information and slash the deposits.",+ "",+ " Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by",+ " `Slash`. Verification request deposits are not returned; they should be cancelled",+ " manually using `cancel_request`.",+ "",+ " The dispatch origin for this call must match `T::ForceOrigin`.",+ "",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ "",+ " Emits `IdentityKilled` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`.",+ " - One balance-reserve operation.",+ " - `S + 2` storage mutations.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "add_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Add the given account to the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "rename_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Alter the associated name of the given sub-account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "remove_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove the given account from the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "quit_sub",+ "args": [],+ "docs": [+ " Remove the sender as a sub-account.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender (*not* the original depositor).",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " super-identity.",+ "",+ " NOTE: This should not normally be used, but is provided in the case that the non-",+ " controller of an account is maliciously registered as a sub-account."+ ]+ }+ ],+ "events": [+ {+ "name": "IdentitySet",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was set or reset (which will remove all judgements). [who]"+ ]+ },+ {+ "name": "IdentityCleared",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was cleared, and the given balance returned. [who, deposit]"+ ]+ },+ {+ "name": "IdentityKilled",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was removed and the given balance slashed. [who, deposit]"+ ]+ },+ {+ "name": "JudgementRequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was asked from a registrar. [who, registrar_index]"+ ]+ },+ {+ "name": "JudgementUnrequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement request was retracted. [who, registrar_index]"+ ]+ },+ {+ "name": "JudgementGiven",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was given by a registrar. [target, registrar_index]"+ ]+ },+ {+ "name": "RegistrarAdded",+ "args": [+ "RegistrarIndex"+ ],+ "docs": [+ " A registrar was added. [registrar_index]"+ ]+ },+ {+ "name": "SubIdentityAdded",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was added to an identity and the deposit paid. [sub, main, deposit]"+ ]+ },+ {+ "name": "SubIdentityRemoved",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was removed from an identity and the deposit freed.",+ " [sub, main, deposit]"+ ]+ },+ {+ "name": "SubIdentityRevoked",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was cleared, and the given deposit repatriated from the",+ " main identity account to the sub-identity account. [sub, main, deposit]"+ ]+ }+ ],+ "constants": [+ {+ "name": "BasicDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The amount held on deposit for a registered identity."+ ]+ },+ {+ "name": "FieldDeposit",+ "type": "BalanceOf",+ "value": "0x00a031a95fe300000000000000000000",+ "docs": [+ " The amount held on deposit per additional field for a registered identity."+ ]+ },+ {+ "name": "SubAccountDeposit",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount held on deposit for a registered subaccount. This should account for the fact",+ " that one storage item's value will increase by the size of an account ID, and there will be",+ " another trie item whose value is the size of an account ID plus 32 bytes."+ ]+ },+ {+ "name": "MaxSubAccounts",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of sub-accounts allowed per identified account."+ ]+ },+ {+ "name": "MaxAdditionalFields",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O",+ " required to access an identity, but can be pretty high."+ ]+ },+ {+ "name": "MaxRegistrars",+ "type": "u32",+ "value": "0x14000000",+ "docs": [+ " Maxmimum number of registrars allowed in the system. Needed to bound the complexity",+ " of, e.g., updating judgements."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooManySubAccounts",+ "docs": [+ " Too many subs-accounts."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Account isn't found."+ ]+ },+ {+ "name": "NotNamed",+ "docs": [+ " Account isn't named."+ ]+ },+ {+ "name": "EmptyIndex",+ "docs": [+ " Empty index."+ ]+ },+ {+ "name": "FeeChanged",+ "docs": [+ " Fee is changed."+ ]+ },+ {+ "name": "NoIdentity",+ "docs": [+ " No identity found."+ ]+ },+ {+ "name": "StickyJudgement",+ "docs": [+ " Sticky judgement."+ ]+ },+ {+ "name": "JudgementGiven",+ "docs": [+ " Judgement given."+ ]+ },+ {+ "name": "InvalidJudgement",+ "docs": [+ " Invalid judgement."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " The index is invalid."+ ]+ },+ {+ "name": "InvalidTarget",+ "docs": [+ " The target is invalid."+ ]+ },+ {+ "name": "TooManyFields",+ "docs": [+ " Too many additional fields."+ ]+ },+ {+ "name": "TooManyRegistrars",+ "docs": [+ " Maximum amount of registrars reached. Cannot add any more."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Account ID is already named."+ ]+ },+ {+ "name": "NotSub",+ "docs": [+ " Sender is not a sub-account."+ ]+ },+ {+ "name": "NotOwned",+ "docs": [+ " Sub-account isn't owned by sender."+ ]+ }+ ]+ },+ {+ "name": "Society",+ "storage": {+ "prefix": "Society",+ "items": [+ {+ "name": "Founder",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The first member."+ ]+ },+ {+ "name": "Rules",+ "modifier": "Optional",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x00",+ "docs": [+ " A hash of the rules of this society concerning membership. Can only be set once and",+ " only by the founder."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of candidates; bidders that are attempting to become members."+ ]+ },+ {+ "name": "SuspendedCandidates",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,BidKind)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended candidates."+ ]+ },+ {+ "name": "Pot",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Amount of our account balance that is specifically for the next round's bid(s)."+ ]+ },+ {+ "name": "Head",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The most primary from the most recently approved members."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of members, ordered."+ ]+ },+ {+ "name": "SuspendedMembers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended members."+ ]+ },+ {+ "name": "Bids",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current bids, stored ordered by the value of the bid."+ ]+ },+ {+ "name": "Vouching",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "VouchingStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Members currently vouching or banned from vouching again"+ ]+ },+ {+ "name": "Payouts",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Vec<(BlockNumber,BalanceOf)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Pending payouts; ordered by block number, with the amount that should be paid out."+ ]+ },+ {+ "name": "Strikes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "StrikeCount",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " The ongoing number of losing votes cast by the member."+ ]+ },+ {+ "name": "Votes",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "SocietyVote",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Double map from Candidate -> Voter -> (Maybe) Vote."+ ]+ },+ {+ "name": "Defender",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The defending member currently being challenged."+ ]+ },+ {+ "name": "DefenderVotes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SocietyVote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes for the defender."+ ]+ },+ {+ "name": "MaxMembers",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The max number of members for the society at one time."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bid",+ "args": [+ {+ "name": "value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " A user outside of the society can make a bid for entry.",+ "",+ " Payment: `CandidateDeposit` will be reserved for making a bid. It is returned",+ " when the bid becomes a member, or if the bid calls `unbid`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `value`: A one time payment the bid would like to receive when joining the society.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)",+ " - Storage Reads:",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " \t- One storage read to retrieve all members. O(M)",+ " - Storage Writes:",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for new bid.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unbid",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " A bidder can remove their bid for entry into society.",+ " By doing so, they will have their candidate deposit returned or",+ " they will unvouch their voucher.",+ "",+ " Payment: The bid deposit is unreserved if the user made a bid.",+ "",+ " The dispatch origin for this call must be _Signed_ and a bidder.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who wants to unbid.",+ "",+ " # <weight>",+ " Key: B (len of bids), X (balance unreserve)",+ " - One storage read and write to retrieve and update the bids. O(B)",+ " - Either one unreserve balance action O(X) or one vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "value",+ "type": "BalanceOf"+ },+ {+ "name": "tip",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " As a member, vouch for someone to join society by placing a bid on their behalf.",+ "",+ " There is no deposit required to vouch for a new bid, but a member can only vouch for",+ " one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by",+ " the suspension judgement origin, the member will be banned from vouching again.",+ "",+ " As a vouching member, you can claim a tip if the candidate is accepted. This tip will",+ " be paid as a portion of the reward the member will receive for joining the society.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `who`: The user who you would like to vouch for.",+ " - `value`: The total reward to be paid between you and the candidate if they become",+ " a member in the society.",+ " - `tip`: Your cut of the total `value` payout when the candidate is inducted into",+ " the society. Tips larger than `value` will be saturated upon payout.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members)",+ " - Storage Reads:",+ " \t- One storage read to retrieve all members. O(M)",+ " \t- One storage read to check member is not already vouching. O(1)",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " - Storage Writes:",+ " \t- One storage write to insert vouching status to the member. O(1)",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(log M) search to check sender is a member.",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for vouch.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unvouch",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " As a vouching member, unvouch a bid. This only works while vouched user is",+ " only a bidder (and not a candidate).",+ "",+ " The dispatch origin for this call must be _Signed_ and a vouching member.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who should be unvouched.",+ "",+ " # <weight>",+ " Key: B (len of bids)",+ " - One storage read O(1) to check the signer is a vouching member.",+ " - One storage mutate to retrieve and update the bids. O(B)",+ " - One vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B)",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "candidate",+ "type": "LookupSource"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on a candidate.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `candidate`: The candidate that the member would like to bid on.",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " Key: C (len of candidates), M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One account lookup.",+ " - One storage read O(C) and O(C) search to check that user is a candidate.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM + C)",+ " # </weight>"+ ]+ },+ {+ "name": "defender_vote",+ "args": [+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on the defender.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " - Key: M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM)",+ " # </weight>"+ ]+ },+ {+ "name": "payout",+ "args": [],+ "docs": [+ " Transfer the first matured payout for the sender and remove it from the records.",+ "",+ " NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.",+ "",+ " Payment: The member will receive a payment equal to their first matured",+ " payout to their free balance.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member with",+ " payouts remaining.",+ "",+ " # <weight>",+ " Key: M (len of members), P (number of payouts for a particular member)",+ " - One storage read O(M) and O(log M) search to check signer is a member.",+ " - One storage read O(P) to get all payouts for a member.",+ " - One storage read O(1) to get the current block number.",+ " - One currency transfer call. O(X)",+ " - One storage write or removal to update the member's payouts. O(P)",+ "",+ " Total Complexity: O(M + logM + P + X)",+ " # </weight>"+ ]+ },+ {+ "name": "found",+ "args": [+ {+ "name": "founder",+ "type": "AccountId"+ },+ {+ "name": "max_members",+ "type": "u32"+ },+ {+ "name": "rules",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Found the society.",+ "",+ " This is done as a discrete action in order to allow for the",+ " module to be included into a running chain and can only be done once.",+ "",+ " The dispatch origin for this call must be from the _FounderSetOrigin_.",+ "",+ " Parameters:",+ " - `founder` - The first member and head of the newly founded society.",+ " - `max_members` - The initial max number of members for the society.",+ " - `rules` - The rules of this society concerning membership.",+ "",+ " # <weight>",+ " - Two storage mutates to set `Head` and `Founder`. O(1)",+ " - One storage write to add the first member to society. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "unfound",+ "args": [],+ "docs": [+ " Annul the founding of the society.",+ "",+ " The dispatch origin for this call must be Signed, and the signing account must be both",+ " the `Founder` and the `Head`. This implies that it may only be done when there is one",+ " member.",+ "",+ " # <weight>",+ " - Two storage reads O(1).",+ " - Four storage removals O(1).",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "forgive",+ "type": "bool"+ }+ ],+ "docs": [+ " Allow suspension judgement origin to make judgement on a suspended member.",+ "",+ " If a suspended member is forgiven, we simply add them back as a member, not affecting",+ " any of the existing storage items for that member.",+ "",+ " If a suspended member is rejected, remove all associated storage items, including",+ " their payouts, and remove any vouched bids they currently have.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended member to be judged.",+ " - `forgive` - A boolean representing whether the suspension judgement origin",+ " forgives (`true`) or rejects (`false`) a suspended member.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members)",+ " - One storage read to check `who` is a suspended member. O(1)",+ " - Up to one storage write O(M) with O(log M) binary search to add a member back to society.",+ " - Up to 3 storage removals O(1) to clean up a removed member.",+ " - Up to one storage write O(B) with O(B) search to remove vouched bid from bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal. O(1)",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_candidate",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "judgement",+ "type": "SocietyJudgement"+ }+ ],+ "docs": [+ " Allow suspended judgement origin to make judgement on a suspended candidate.",+ "",+ " If the judgement is `Approve`, we add them to society as a member with the appropriate",+ " payment for joining society.",+ "",+ " If the judgement is `Reject`, we either slash the deposit of the bid, giving it back",+ " to the society treasury, or we ban the voucher from vouching again.",+ "",+ " If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go",+ " through the induction process again.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended candidate to be judged.",+ " - `judgement` - `Approve`, `Reject`, or `Rebid`.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members), X (balance action)",+ " - One storage read to check `who` is a suspended candidate.",+ " - One storage removal of the suspended candidate.",+ " - Approve Logic",+ " \t- One storage read to get the available pot to pay users with. O(1)",+ " \t- One storage write to update the available pot. O(1)",+ " \t- One storage read to get the current block number. O(1)",+ " \t- One storage read to get all members. O(M)",+ " \t- Up to one unreserve currency action.",+ " \t- Up to two new storage writes to payouts.",+ " \t- Up to one storage write with O(log M) binary search to add a member to society.",+ " - Reject Logic",+ " \t- Up to one repatriate reserved currency action. O(X)",+ " \t- Up to one storage write to ban the vouching member from vouching again.",+ " - Rebid Logic",+ " \t- Storage mutate with O(log B) binary search to place the user back into bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal.",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "set_max_members",+ "args": [+ {+ "name": "max",+ "type": "u32"+ }+ ],+ "docs": [+ " Allows root origin to change the maximum number of members in society.",+ " Max membership count must be greater than 1.",+ "",+ " The dispatch origin for this call must be from _ROOT_.",+ "",+ " Parameters:",+ " - `max` - The maximum number of members for the society.",+ "",+ " # <weight>",+ " - One storage write to update the max. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Founded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The society is founded by the given identity. [founder]"+ ]+ },+ {+ "name": "Bid",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A membership bid just happened. The given account is the candidate's ID and their offer",+ " is the second. [candidate_id, offer]"+ ]+ },+ {+ "name": "Vouch",+ "args": [+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A membership bid just happened by vouching. The given account is the candidate's ID and",+ " their offer is the second. The vouching party is the third. [candidate_id, offer, vouching]"+ ]+ },+ {+ "name": "AutoUnbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [candidate] was dropped (due to an excess of bids in the system)."+ ]+ },+ {+ "name": "Unbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [candidate] was dropped (by their request)."+ ]+ },+ {+ "name": "Unvouch",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [candidate] was dropped (by request of who vouched for them)."+ ]+ },+ {+ "name": "Inducted",+ "args": [+ "AccountId",+ "Vec<AccountId>"+ ],+ "docs": [+ " A group of candidates have been inducted. The batch's primary is the first value, the",+ " batch in full is the second. [primary, candidates]"+ ]+ },+ {+ "name": "SuspendedMemberJudgement",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A suspended member has been judged. [who, judged]"+ ]+ },+ {+ "name": "CandidateSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [candidate] has been suspended"+ ]+ },+ {+ "name": "MemberSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [member] has been suspended"+ ]+ },+ {+ "name": "Challenged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A [member] has been challenged"+ ]+ },+ {+ "name": "Vote",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed [candidate, voter, vote]"+ ]+ },+ {+ "name": "DefenderVote",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed for a defending member [voter, vote]"+ ]+ },+ {+ "name": "NewMaxMembers",+ "args": [+ "u32"+ ],+ "docs": [+ " A new [max] member count has been set"+ ]+ },+ {+ "name": "Unfounded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Society is unfounded. [founder]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds were deposited into the society account. [value]"+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidateDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The minimum amount of a deposit required for a bid to be made."+ ]+ },+ {+ "name": "WrongSideDeduction",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount of the unpaid reward that gets deducted in the case that either a skeptic",+ " doesn't vote or someone votes in the wrong way."+ ]+ },+ {+ "name": "MaxStrikes",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)",+ " before they become suspended."+ ]+ },+ {+ "name": "PeriodSpend",+ "type": "BalanceOf",+ "value": "0x0000c52ebca2b1000000000000000000",+ "docs": [+ " The amount of incentive paid within each period. Doesn't include VoterTip."+ ]+ },+ {+ "name": "RotationPeriod",+ "type": "BlockNumber",+ "value": "0x00770100",+ "docs": [+ " The number of blocks between candidate/membership rotation periods."+ ]+ },+ {+ "name": "ChallengePeriod",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " The number of blocks between membership challenges."+ ]+ },+ {+ "name": "ModuleId",+ "type": "ModuleId",+ "value": "0x70792f736f636965",+ "docs": [+ " The societies's module id"+ ]+ }+ ],+ "errors": [+ {+ "name": "BadPosition",+ "docs": [+ " An incorrect position was provided."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " User is not a member."+ ]+ },+ {+ "name": "AlreadyMember",+ "docs": [+ " User is already a member."+ ]+ },+ {+ "name": "Suspended",+ "docs": [+ " User is suspended."+ ]+ },+ {+ "name": "NotSuspended",+ "docs": [+ " User is not suspended."+ ]+ },+ {+ "name": "NoPayout",+ "docs": [+ " Nothing to payout."+ ]+ },+ {+ "name": "AlreadyFounded",+ "docs": [+ " Society already founded."+ ]+ },+ {+ "name": "InsufficientPot",+ "docs": [+ " Not enough in pot to accept candidate."+ ]+ },+ {+ "name": "AlreadyVouching",+ "docs": [+ " Member is already vouching or banned from vouching again."+ ]+ },+ {+ "name": "NotVouching",+ "docs": [+ " Member is not vouching."+ ]+ },+ {+ "name": "Head",+ "docs": [+ " Cannot remove the head of the chain."+ ]+ },+ {+ "name": "Founder",+ "docs": [+ " Cannot remove the founder."+ ]+ },+ {+ "name": "AlreadyBid",+ "docs": [+ " User has already made a bid."+ ]+ },+ {+ "name": "AlreadyCandidate",+ "docs": [+ " User is already a candidate."+ ]+ },+ {+ "name": "NotCandidate",+ "docs": [+ " User is not a candidate."+ ]+ },+ {+ "name": "MaxMembers",+ "docs": [+ " Too many members in the society."+ ]+ },+ {+ "name": "NotFounder",+ "docs": [+ " The caller is not the founder."+ ]+ },+ {+ "name": "NotHead",+ "docs": [+ " The caller is not the head."+ ]+ }+ ]+ },+ {+ "name": "Recovery",+ "storage": {+ "prefix": "Recovery",+ "items": [+ {+ "name": "Recoverable",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RecoveryConfig",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of recoverable accounts and their recovery configuration."+ ]+ },+ {+ "name": "ActiveRecoveries",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "ActiveRecovery",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Active recovery attempts.",+ "",+ " First account is the account to be recovered, and the second account",+ " is the user trying to recover the account."+ ]+ },+ {+ "name": "Proxy",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The list of allowed proxy accounts.",+ "",+ " Map from the user who can access it to the recovered account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "as_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through a recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you want to make a call on-behalf-of.",+ " - `call`: The call you want to make with the recovered account.",+ "",+ " # <weight>",+ " - The weight of the `call` + 10,000.",+ " - One storage lookup to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "set_recovered",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow ROOT to bypass the recovery process and set an a rescuer account",+ " for a lost account directly.",+ "",+ " The dispatch origin for this call must be _ROOT_.",+ "",+ " Parameters:",+ " - `lost`: The \"lost account\" to be recovered.",+ " - `rescuer`: The \"rescuer account\" which can call as the lost account.",+ "",+ " # <weight>",+ " - One storage write O(1)",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "create_recovery",+ "args": [+ {+ "name": "friends",+ "type": "Vec<AccountId>"+ },+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "delay_period",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Create a recovery configuration for your account. This makes your account recoverable.",+ "",+ " Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance",+ " will be reserved for storing the recovery configuration. This deposit is returned",+ " in full when the user calls `remove_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `friends`: A list of friends you trust to vouch for recovery attempts.",+ " Should be ordered and contain no duplicate values.",+ " - `threshold`: The number of friends that must vouch for a recovery attempt",+ " before the account can be recovered. Should be less than or equal to",+ " the length of the list of friends.",+ " - `delay_period`: The number of blocks after a recovery attempt is initialized",+ " that needs to pass before the account can be recovered.",+ "",+ " # <weight>",+ " - Key: F (len of friends)",+ " - One storage read to check that account is not already recoverable. O(1).",+ " - A check that the friends list is sorted and unique. O(F)",+ " - One currency reserve operation. O(X)",+ " - One storage write. O(1). Codec O(F).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "initiate_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Initiate the process for recovering a recoverable account.",+ "",+ " Payment: `RecoveryDeposit` balance will be reserved for initiating the",+ " recovery process. This deposit will always be repatriated to the account",+ " trying to be recovered. See `close_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to recover. This account",+ " needs to be recoverable (i.e. have a recovery configuration).",+ "",+ " # <weight>",+ " - One storage read to check that account is recoverable. O(F)",+ " - One storage read to check that this recovery process hasn't already started. O(1)",+ " - One currency reserve operation. O(X)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch_recovery",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a \"friend\" of a recoverable account to vouch for an active recovery",+ " process for that account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"friend\"",+ " for the recoverable account.",+ "",+ " Parameters:",+ " - `lost`: The lost account that you want to recover.",+ " - `rescuer`: The account trying to rescue the lost account that you",+ " want to vouch for.",+ "",+ " The combination of these two parameters must point to an active recovery",+ " process.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One binary search to confirm caller is a friend. O(logF)",+ " - One binary search to confirm caller has not already vouched. O(logV)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + logF + V + logV)",+ " # </weight>"+ ]+ },+ {+ "name": "claim_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a successful rescuer to claim their recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"",+ " who has successfully completed the account recovery process: collected",+ " `threshold` or more vouches, waited `delay_period` blocks since initiation.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to claim has been successfully",+ " recovered by you.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + V)",+ " # </weight>"+ ]+ },+ {+ "name": "close_recovery",+ "args": [+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " As the controller of a recoverable account, close an active recovery",+ " process for your account.",+ "",+ " Payment: By calling this function, the recoverable account will receive",+ " the recovery deposit `RecoveryDeposit` placed by the rescuer.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account with an active recovery process for it.",+ "",+ " Parameters:",+ " - `rescuer`: The account trying to rescue this recoverable account.",+ "",+ " # <weight>",+ " Key: V (len of vouching friends)",+ " - One storage read/remove to get the active recovery process. O(1), Codec O(V)",+ " - One balance call to repatriate reserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(V + X)",+ " # </weight>"+ ]+ },+ {+ "name": "remove_recovery",+ "args": [],+ "docs": [+ " Remove the recovery process for your account. Recovered accounts are still accessible.",+ "",+ " NOTE: The user must make sure to call `close_recovery` on all active",+ " recovery attempts before calling this function else it will fail.",+ "",+ " Payment: By calling this function the recoverable account will unreserve",+ " their recovery configuration deposit.",+ " (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account (i.e. has a recovery configuration).",+ "",+ " # <weight>",+ " Key: F (len of friends)",+ " - One storage read to get the prefix iterator for active recoveries. O(1)",+ " - One storage read/remove to get the recovery configuration. O(1), Codec O(F)",+ " - One balance call to unreserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Cancel the ability to use `as_recovered` for `account`.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you are able to call on-behalf-of.",+ "",+ " # <weight>",+ " - One storage mutation to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "RecoveryCreated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been set up for an [account]."+ ]+ },+ {+ "name": "RecoveryInitiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process has been initiated for lost account by rescuer account.",+ " [lost, rescuer]"+ ]+ },+ {+ "name": "RecoveryVouched",+ "args": [+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been vouched for by sender.",+ " [lost, rescuer, sender]"+ ]+ },+ {+ "name": "RecoveryClosed",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been closed.",+ " [lost, rescuer]"+ ]+ },+ {+ "name": "AccountRecovered",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Lost account has been successfully recovered by rescuer account.",+ " [lost, rescuer]"+ ]+ },+ {+ "name": "RecoveryRemoved",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been removed for an [account]."+ ]+ }+ ],+ "constants": [+ {+ "name": "ConfigDepositBase",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a recovery configuration."+ ]+ },+ {+ "name": "FriendDepositFactor",+ "type": "BalanceOf",+ "value": "0x00203d88792d00000000000000000000",+ "docs": [+ " The amount of currency needed per additional user when creating a recovery configuration."+ ]+ },+ {+ "name": "MaxFriends",+ "type": "u16",+ "value": "0x0900",+ "docs": [+ " The maximum amount of friends allowed in a recovery configuration."+ ]+ },+ {+ "name": "RecoveryDeposit",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for starting a recovery."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotAllowed",+ "docs": [+ " User is not allowed to make a call on behalf of this account"+ ]+ },+ {+ "name": "ZeroThreshold",+ "docs": [+ " Threshold must be greater than zero"+ ]+ },+ {+ "name": "NotEnoughFriends",+ "docs": [+ " Friends list must be greater than zero and threshold"+ ]+ },+ {+ "name": "MaxFriends",+ "docs": [+ " Friends list must be less than max friends"+ ]+ },+ {+ "name": "NotSorted",+ "docs": [+ " Friends list must be sorted and free of duplicates"+ ]+ },+ {+ "name": "NotRecoverable",+ "docs": [+ " This account is not set up for recovery"+ ]+ },+ {+ "name": "AlreadyRecoverable",+ "docs": [+ " This account is already set up for recovery"+ ]+ },+ {+ "name": "AlreadyStarted",+ "docs": [+ " A recovery process has already started for this account"+ ]+ },+ {+ "name": "NotStarted",+ "docs": [+ " A recovery process has not started for this rescuer"+ ]+ },+ {+ "name": "NotFriend",+ "docs": [+ " This account is not a friend who can vouch"+ ]+ },+ {+ "name": "DelayPeriod",+ "docs": [+ " The friend must wait until the delay period to vouch for this recovery"+ ]+ },+ {+ "name": "AlreadyVouched",+ "docs": [+ " This user has already vouched for this recovery"+ ]+ },+ {+ "name": "Threshold",+ "docs": [+ " The threshold for recovering this account has not been met"+ ]+ },+ {+ "name": "StillActive",+ "docs": [+ " There are still active recovery attempts that need to be closed"+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " There was an overflow in a calculation"+ ]+ },+ {+ "name": "AlreadyProxy",+ "docs": [+ " This account is already set up for recovery"+ ]+ }+ ]+ },+ {+ "name": "Vesting",+ "storage": {+ "prefix": "Vesting",+ "items": [+ {+ "name": "Vesting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "VestingInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information regarding the vesting of a given account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vest",+ "args": [],+ "docs": [+ " Unlock any vested funds of the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have funds still",+ " locked under this module.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 2 Reads, 2 Writes",+ " - Reads: Vesting Storage, Balances Locks, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, [Sender Account]",+ " - Benchmark:",+ " - Unlocked: 48.76 + .048 * l µs (min square analysis)",+ " - Locked: 44.43 + .284 * l µs (min square analysis)",+ " - Using 50 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.",+ " # </weight>"+ ]+ },+ {+ "name": "vest_other",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Unlock any vested funds of a `target` account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account whose vested funds should be unlocked. Must have funds still",+ " locked under this module.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account",+ " - Benchmark:",+ " - Unlocked: 44.3 + .294 * l µs (min square analysis)",+ " - Locked: 48.16 + .103 * l µs (min square analysis)",+ " - Using 50 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.",+ " # </weight>"+ ]+ },+ {+ "name": "vested_transfer",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Create a vested transfer.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " - Benchmark: 100.3 + .365 * l µs (min square analysis)",+ " - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.",+ " # </weight>"+ ]+ },+ {+ "name": "force_vested_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Force a vested transfer.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `source`: The account whose funds should be transferred.",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 4 Reads, 4 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account",+ " - Benchmark: 100.3 + .365 * l µs (min square analysis)",+ " - Using 100 µs fixed. Assuming less than 50 locks on any user, else we may want factor in number of locks.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "VestingUpdated",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The amount vested has been updated. This could indicate more funds are available. The",+ " balance given is the amount which is left unvested (and thus locked). ",+ " [account, unvested]"+ ]+ },+ {+ "name": "VestingCompleted",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An [account] has become fully vested. No further vesting can happen."+ ]+ }+ ],+ "constants": [+ {+ "name": "MinVestedTransfer",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be transferred to create a new vesting schedule."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotVesting",+ "docs": [+ " The account given is not vesting."+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " An existing vesting schedule already exists for this account that cannot be clobbered."+ ]+ },+ {+ "name": "AmountLow",+ "docs": [+ " Amount being transferred is too low to create a vesting schedule."+ ]+ }+ ]+ },+ {+ "name": "Scheduler",+ "storage": {+ "prefix": "Scheduler",+ "items": [+ {+ "name": "Agenda",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Vec<Option<Scheduled>>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Items to be executed, indexed by the block number that they should be executed on."+ ]+ },+ {+ "name": "Lookup",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Bytes",+ "value": "TaskAddress",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Lookup from identity to the block number and index of the task."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "schedule",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.29 + .126 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda",+ " - Will use base weight of 25 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u32"+ }+ ],+ "docs": [+ " Cancel an anonymously scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.15 + 2.869 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 29.6 + .159 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 35 which should be good for more than 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Cancel a named scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 24.91 + 2.907 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_after",+ "args": [+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule`].",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named_after",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule_named`].",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Scheduled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Scheduled some task. [when, index]"+ ]+ },+ {+ "name": "Canceled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Canceled some task. [when, index]"+ ]+ },+ {+ "name": "Dispatched",+ "args": [+ "TaskAddress",+ "Option<Bytes>",+ "DispatchResult"+ ],+ "docs": [+ " Dispatched some task. [task, id, result]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "FailedToSchedule",+ "docs": [+ " Failed to schedule a call"+ ]+ },+ {+ "name": "FailedToCancel",+ "docs": [+ " Failed to cancel a scheduled call"+ ]+ },+ {+ "name": "TargetBlockNumberInPast",+ "docs": [+ " Given target block number is in the past."+ ]+ }+ ]+ },+ {+ "name": "Proxy",+ "storage": {+ "prefix": "Proxy",+ "items": [+ {+ "name": "Proxies",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyDefinition>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The set of account proxies. Maps the account which has delegated to the accounts",+ " which are being delegated to, together with the amount held on deposit."+ ]+ },+ {+ "name": "Announcements",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyAnnouncement>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The announcements made by the proxy (key)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "proxy",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorised for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "add_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Register a proxy account for the sender that is able to make calls on its behalf.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to make a proxy.",+ " - `proxy_type`: The permissions allowed for this proxy account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Unregister a proxy account for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to remove as a proxy.",+ " - `proxy_type`: The permissions currently enabled for the removed proxy account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxies",+ "args": [],+ "docs": [+ " Unregister all proxy accounts for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " WARNING: This may be called on accounts created by `anonymous`, however if done, then",+ " the unreserved fees will be inaccessible. **All access to this account will be lost.**",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "anonymous",+ "args": [+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u16"+ }+ ],+ "docs": [+ " Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and",+ " initialize it with a proxy of `proxy_type` for `origin` sender.",+ "",+ " Requires a `Signed` origin.",+ "",+ " - `proxy_type`: The type of the proxy that the sender will be registered as over the",+ " new account. This will almost always be the most permissive `ProxyType` possible to",+ " allow for maximum flexibility.",+ " - `index`: A disambiguation index, in case this is called multiple times in the same",+ " transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just",+ " want to use `0`.",+ " - `delay`: The announcement period required of the initial proxy. Will generally be",+ " zero.",+ "",+ " Fails with `Duplicate` if this has already been called in this transaction, from the",+ " same sender, with the same parameters.",+ "",+ " Fails if there are insufficient funds to pay for deposit.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>",+ " TODO: Might be over counting 1 read"+ ]+ },+ {+ "name": "kill_anonymous",+ "args": [+ {+ "name": "spawner",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "height",+ "type": "Compact<BlockNumber>"+ },+ {+ "name": "ext_index",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Removes a previously spawned anonymous proxy.",+ "",+ " WARNING: **All access to this account will be lost.** Any funds held in it will be",+ " inaccessible.",+ "",+ " Requires a `Signed` origin, and the sender account must have been created by a call to",+ " `anonymous` with corresponding parameters.",+ "",+ " - `spawner`: The account that originally called `anonymous` to create this account.",+ " - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.",+ " - `proxy_type`: The proxy type originally passed to `anonymous`.",+ " - `height`: The height of the chain when the call to `anonymous` was processed.",+ " - `ext_index`: The extrinsic index in which the call to `anonymous` was processed.",+ "",+ " Fails with `NoPermission` in case the caller is not a previously created anonymous",+ " account whose `anonymous` call has corresponding parameters.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "announce",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Publish the hash of a proxy-call that will be made in the future.",+ "",+ " This must be called some number of blocks before the corresponding `proxy` is attempted",+ " if the delay associated with the proxy relationship is greater than zero.",+ "",+ " No more than `MaxPending` announcements may be made at any one time.",+ "",+ " This will take a deposit of `AnnouncementDepositFactor` as well as",+ " `AnnouncementDepositBase` if there are no other pending announcements.",+ "",+ " The dispatch origin for this call must be _Signed_ and a proxy of `real`.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_announcement",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove a given announcement.",+ "",+ " May be called by a proxy account to remove a call they previously announced and return",+ " the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "reject_announcement",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove the given announcement of a delegate.",+ "",+ " May be called by a target (proxied) account to remove a call that one of their delegates",+ " (`delegate`) has announced they want to execute. The deposit is returned.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `delegate`: The account that previously announced the call.",+ " - `call_hash`: The hash of the call to be made.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "proxy_announced",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorised for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ProxyExecuted",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A proxy was executed correctly, with the given [result]."+ ]+ },+ {+ "name": "AnonymousCreated",+ "args": [+ "AccountId",+ "AccountId",+ "ProxyType",+ "u16"+ ],+ "docs": [+ " Anonymous account has been created by new proxy with given",+ " disambiguation index and proxy type. [anonymous, who, proxy_type, disambiguation_index]"+ ]+ },+ {+ "name": "Announced",+ "args": [+ "AccountId",+ "AccountId",+ "Hash"+ ],+ "docs": [+ " An announcement was placed to make a call in the future. [real, proxy, call_hash]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProxyDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a proxy."+ ]+ },+ {+ "name": "ProxyDepositFactor",+ "type": "BalanceOf",+ "value": "0x0060aa7714b400000000000000000000",+ "docs": [+ " The amount of currency needed per proxy added."+ ]+ },+ {+ "name": "MaxProxies",+ "type": "u16",+ "value": "0x2000",+ "docs": [+ " The maximum amount of proxies allowed for a single account."+ ]+ },+ {+ "name": "MaxPending",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " `MaxPending` metadata shadow."+ ]+ },+ {+ "name": "AnnouncementDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " `AnnouncementDepositBase` metadata shadow."+ ]+ },+ {+ "name": "AnnouncementDepositFactor",+ "type": "BalanceOf",+ "value": "0x00c054ef286801000000000000000000",+ "docs": [+ " `AnnouncementDepositFactor` metadata shadow."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooMany",+ "docs": [+ " There are too many proxies registered or too many announcements pending."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Proxy registration not found."+ ]+ },+ {+ "name": "NotProxy",+ "docs": [+ " Sender is not a proxy of the account to be proxied."+ ]+ },+ {+ "name": "Unproxyable",+ "docs": [+ " A call which is incompatible with the proxy type's filter was attempted."+ ]+ },+ {+ "name": "Duplicate",+ "docs": [+ " Account is already a proxy."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " Call may not be made by proxy because it may escalate its privileges."+ ]+ },+ {+ "name": "Unannounced",+ "docs": [+ " Announcement, if made at all, was made too recently."+ ]+ }+ ]+ },+ {+ "name": "Multisig",+ "storage": {+ "prefix": "Multisig",+ "items": [+ {+ "name": "Multisigs",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "[u8;32]",+ "value": "Multisig",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of open multisig operations."+ ]+ },+ {+ "name": "Calls",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "[u8;32]",+ "value": "(OpaqueCall,AccountId,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": [+ {+ "name": "as_multi_threshold_1",+ "args": [+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Immediately dispatch a multi-signature call using a single approval from the caller.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `other_signatories`: The accounts (other than the sender) who are part of the",+ " multi-signature, but do not participate in the approval process.",+ " - `call`: The call to be executed.",+ "",+ " Result is equivalent to the dispatched result.",+ "",+ " # <weight>",+ " O(Z + C) where Z is the length of the call and C its execution weight.",+ " -------------------------------",+ " - Base Weight: 33.72 + 0.002 * Z µs",+ " - DB Weight: None",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call",+ "type": "OpaqueCall"+ },+ {+ "name": "store_call",+ "type": "bool"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " If there are enough, then dispatch the call.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call`: The call to be executed.",+ "",+ " NOTE: Unless this is the final approval, you will generally want to use",+ " `approve_as_multi` instead, since it only requires a hash of the call.",+ "",+ " Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise",+ " on success, result is `Ok` and the result from the interior call, if it was executed,",+ " may be found in the deposited `MultisigExecuted` event.",+ "",+ " # <weight>",+ " - `O(S + Z + Call)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - The weight of the `call`.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " -------------------------------",+ " - Base Weight:",+ " - Create: 41.89 + 0.118 * S + .002 * Z µs",+ " - Create w/ Store: 53.57 + 0.119 * S + .003 * Z µs",+ " - Approve: 31.39 + 0.136 * S + .002 * Z µs",+ " - Complete: 39.94 + 0.26 * S + .002 * Z µs",+ " - DB Weight:",+ " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "approve_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " NOTE: If this is the final approval, you will want to use `as_multi` instead.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " ----------------------------------",+ " - Base Weight:",+ " - Create: 44.71 + 0.088 * S",+ " - Approve: 31.48 + 0.116 * S",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account]",+ " - Write: Multisig Storage, [Caller Account]",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "timepoint",+ "type": "Timepoint"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ }+ ],+ "docs": [+ " Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously",+ " for this operation will be unreserved on success.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `timepoint`: The timepoint (block number and transaction index) of the first approval",+ " transaction for this dispatch.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - One event.",+ " - I/O: 1 read `O(S)`, one remove.",+ " - Storage: removes one item.",+ " ----------------------------------",+ " - Base Weight: 36.07 + 0.124 * S",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account], Refund Account, Calls",+ " - Write: Multisig Storage, [Caller Account], Refund Account, Calls",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewMultisig",+ "args": [+ "AccountId",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A new multisig operation has begun. [approving, multisig, call_hash]"+ ]+ },+ {+ "name": "MultisigApproval",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been approved by someone. [approving, timepoint, multisig, call_hash]"+ ]+ },+ {+ "name": "MultisigExecuted",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash",+ "DispatchResult"+ ],+ "docs": [+ " A multisig operation has been executed. [approving, timepoint, multisig, call_hash]"+ ]+ },+ {+ "name": "MultisigCancelled",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been cancelled. [cancelling, timepoint, multisig, call_hash]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "MinimumThreshold",+ "docs": [+ " Threshold must be 2 or greater."+ ]+ },+ {+ "name": "AlreadyApproved",+ "docs": [+ " Call is already approved by this signatory."+ ]+ },+ {+ "name": "NoApprovalsNeeded",+ "docs": [+ " Call doesn't need any (more) approvals."+ ]+ },+ {+ "name": "TooFewSignatories",+ "docs": [+ " There are too few signatories in the list."+ ]+ },+ {+ "name": "TooManySignatories",+ "docs": [+ " There are too many signatories in the list."+ ]+ },+ {+ "name": "SignatoriesOutOfOrder",+ "docs": [+ " The signatories were provided out of order; they should be ordered."+ ]+ },+ {+ "name": "SenderInSignatories",+ "docs": [+ " The sender was contained in the other signatories; it shouldn't be."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Multisig operation not found when attempting to cancel."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " Only the account that originally created the multisig is able to cancel it."+ ]+ },+ {+ "name": "NoTimepoint",+ "docs": [+ " No timepoint was given, yet the multisig operation is already underway."+ ]+ },+ {+ "name": "WrongTimepoint",+ "docs": [+ " A different timepoint was given to the multisig operation that is underway."+ ]+ },+ {+ "name": "UnexpectedTimepoint",+ "docs": [+ " A timepoint was given, yet no multisig operation is underway."+ ]+ },+ {+ "name": "WeightTooLow",+ "docs": [+ " The maximum weight information provided was too low."+ ]+ },+ {+ "name": "AlreadyStored",+ "docs": [+ " The data to be stored is already stored."+ ]+ }+ ]+ }+ ],+ "extrinsic": {+ "version": 4,+ "signedExtensions": [+ "CheckSpecVersion",+ "CheckTxVersion",+ "CheckGenesis",+ "CheckMortality",+ "CheckNonce",+ "CheckWeight",+ "ChargeTransactionPayment"+ ]+ }+ }+ }+}
+ tests/meta/v12.hex view
@@ -0,0 +1,1 @@+0x6d6574610c981853797374656d011853797374656d401c4163636f756e7401010230543a3a4163636f756e744964944163636f756e74496e666f3c543a3a496e6465782c20543a3a4163636f756e74446174613e004101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010038436f6e73756d6564576569676874600000000000000000000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e74010010626f6f6c0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e74010010626f6f6c0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01282866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e146c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002c2023203c7765696768743e24202d20604f28312960302023203c2f7765696768743e387365745f686561705f7061676573041470616765730c75363420fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e002c2023203c7765696768743e24202d20604f283129604c202d20312073746f726167652077726974652e64202d2042617365205765696768743a20312e34303520c2b57360202d203120777269746520746f20484541505f5041474553302023203c2f7765696768743e207365745f636f64650410636f64651c5665633c75383e28682053657420746865206e65772072756e74696d6520636f64652e002c2023203c7765696768743e3501202d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e7901202d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e6020776869636820697320657870656e73697665292e2c202d2031206576656e742e7d012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c792074686973206973207665727920657870656e736976652e902057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e201d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002c2023203c7765696768743e90202d20604f2843296020776865726520604360206c656e677468206f662060636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e2c202d2031206576656e742e75012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e28a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e002c2023203c7765696768743e24202d20604f28312960b0202d20312073746f72616765207772697465206f722064656c6574652028636f64656320604f28312960292ed8202d20312063616c6c20746f20606465706f7369745f6c6f67603a20557365732060617070656e6460204150492c20736f204f28312964202d2042617365205765696768743a20372e32313820c2b57334202d204442205765696768743aa820202020202d205772697465733a204368616e67657320547269652c2053797374656d20446967657374302023203c2f7765696768743e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e206c2053657420736f6d65206974656d73206f662073746f726167652e002c2023203c7765696768743e94202d20604f2849296020776865726520604960206c656e677468206f6620606974656d73607c202d206049602073746f72616765207772697465732028604f28312960292e74202d2042617365205765696768743a20302e353638202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e306b696c6c5f73746f7261676504106b657973205665633c4b65793e2078204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e002c2023203c7765696768743efc202d20604f28494b296020776865726520604960206c656e677468206f6620606b6579736020616e6420604b60206c656e677468206f66206f6e65206b657964202d206049602073746f726167652064656c6574696f6e732e70202d2042617365205765696768743a202e333738202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e2c6b696c6c5f70726566697808187072656669780c4b6579205f7375626b6579730c7533322c1501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e003d01202a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657241012074686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e002c2023203c7765696768743edc202d20604f285029602077686572652060506020616d6f756e74206f66206b65797320776974682070726566697820607072656669786064202d206050602073746f726167652064656c6574696f6e732e74202d2042617365205765696768743a20302e383334202a205020c2b57380202d205772697465733a204e756d626572206f66207375626b657973202b2031302023203c2f7765696768743e4472656d61726b5f776974685f6576656e74041872656d61726b1c5665633c75383e18a8204d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e002c2023203c7765696768743eb8202d20604f28622960207768657265206220697320746865206c656e677468206f66207468652072656d61726b2e2c202d2031206576656e742e302023203c2f7765696768743e01184045787472696e7369635375636365737304304469737061746368496e666f04b820416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e205c5b696e666f5c5d3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f049420416e2065787472696e736963206661696c65642e205c5b6572726f722c20696e666f5c5d2c436f64655570646174656400045420603a636f6465602077617320757064617465642e284e65774163636f756e7404244163636f756e744964047c2041206e6577205c5b6163636f756e745c5d2077617320637265617465642e344b696c6c65644163636f756e7404244163636f756e744964046c20416e205c5b6163636f756e745c5d20776173207265617065642e2052656d61726b656408244163636f756e744964104861736804d4204f6e206f6e2d636861696e2072656d61726b2068617070656e65642e205c5b6f726967696e2c2072656d61726b5f686173685c5d1830426c6f636b57656967687473506c696d6974733a3a426c6f636b57656967687473850100f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a74000000405973070000000000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e6774684c6c696d6974733a3a426c6f636b4c656e6774683000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7438543a3a426c6f636b4e756d6265721060090000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e2044625765696768743c52756e74696d6544625765696768744040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e3852756e74696d6556657273696f6e0503106e6f6465387375627374726174652d6e6f64650a000000090100000100000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a04000000d2bc9897eed08f1502000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b01000000020000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978087538042a14a8205468652064657369676e61746564205353383520707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f7369746504010120537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e740439012054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e001c5574696c69747900010c146261746368041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573cc20627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e0501202d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e3461735f646572697661746976650814696e6465780c7531361063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e34e02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e0059012046696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368c020757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e004901204e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e6501206265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e745501207468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31608020696e20746865204d756c74697369672070616c6c657420696e73746561642e00f8204e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e34f02053656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e2501205468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573cc20627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e0501202d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e302023203c2f7765696768743e0108404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c206173902077656c6c20617320746865206572726f722e205c5b696e6465782c206572726f725c5d384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e0000011042616265011042616265402845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f74010010536c6f7420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f74010010536c6f7420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e67650000504e657874436f6e66696744657363726970746f7204000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e04000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c7533326c5665633c7363686e6f72726b656c3a3a52616e646f6d6e6573733e0004000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a656400003c4d6179626552616e646f6d6e65737304000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e65737301003c4d6179626552616e646f6d6e65737304000c5d012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e29207468617420696e636c756465732074686520565246206f75747075742067656e6572617465645101206174207468697320626c6f636b2e2054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e2845706f6368537461727401008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d62657229200000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e657373010038543a3a426c6f636b4e756d626572100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000584261626545706f6368436f6e66696775726174696f6e04000485012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e2067656e657369732e3c4e65787445706f6368436f6e6669670000584261626545706f6368436f6e66696775726174696f6e0400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66200d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e48706c616e5f636f6e6669675f6368616e67650418636f6e666967504e657874436f6e66696744657363726970746f7210610120506c616e20616e2065706f636820636f6e666967206368616e67652e205468652065706f636820636f6e666967206368616e6765206973207265636f7264656420616e642077696c6c20626520656e6163746564206f6e550120746865206e6578742063616c6c20746f2060656e6163745f65706f63685f6368616e6765602e2054686520636f6e6669672077696c6c20626520616374697661746564206f6e652065706f63682061667465722e5d01204d756c7469706c652063616c6c7320746f2074686973206d6574686f642077696c6c207265706c61636520616e79206578697374696e6720706c616e6e656420636f6e666967206368616e676520746861742068616458206e6f74206265656e20656e6163746564207965742e00083445706f63684475726174696f6e0c75363420c8000000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420b80b00000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e0c60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e022454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e3c5820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002c2023203c7765696768743e3501202d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f2831296029a101202d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e20606f6e5f66696e616c697a656029d8202d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e302023203c2f7765696768743e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420dc0500000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e000328417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e041c496e6469636573011c496e646963657304204163636f756e74730001023c543a3a4163636f756e74496e6465788828543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20626f6f6c29000400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e011414636c61696d0414696e6465783c543a3a4163636f756e74496e646578489c2041737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00e0205061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f4202d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e207472616e73666572080c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e6465785061012041737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6ebc206973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002901202d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e68202d204f6e65207472616e73666572206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743ae4202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e8202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429302023203c2f7765696768743e10667265650414696e6465783c543a3a4163636f756e74496e6465784898204672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e006101205061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e001101202d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e008820456d6974732060496e646578467265656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e38666f7263655f7472616e736665720c0c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e64657818667265657a6510626f6f6c54590120466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479ec2068656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a8202d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e4501202d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e7c202d20557020746f206f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743af8202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229fc202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229302023203c2f7765696768743e18667265657a650414696e6465783c543a3a4163636f756e74496e64657844690120467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742068617665206170206e6f6e2d66726f7a656e206163636f756e742060696e646578602e00b0202d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e008c20456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e74202d20557020746f206f6e6520736c617368206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e010c34496e64657841737369676e656408244163636f756e744964304163636f756e74496e64657804b42041206163636f756e7420696e646578207761732061737369676e65642e205c5b696e6465782c2077686f5c5d28496e646578467265656404304163636f756e74496e64657804e82041206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e205c5b696e6465785c5d2c496e64657846726f7a656e08304163636f756e74496e646578244163636f756e7449640429012041206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e205c5b696e6465782c2077686f5c5d041c4465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e142c4e6f7441737369676e656404902054686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e657204a82054686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e55736504742054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e7366657204cc2054686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e7404d42054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e052042616c616e636573012042616c616e6365731034546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c4163636f756e7401010230543a3a4163636f756e7449645c4163636f756e74446174613c543a3a42616c616e63653e000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6c205468652062616c616e6365206f6620616e206163636f756e742e004101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010230543a3a4163636f756e744964705665633c42616c616e63654c6f636b3c543a3a42616c616e63653e3e00040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076322e302e3020666f72206e6577206e6574776f726b732e0110207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e6cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e61012020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e88202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d4501202d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429dc202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374696e6174696f6e206163636f756e741501202d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e489420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742c01012069742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e58202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3c202d2042617365205765696768743a6820202020202d204372656174696e673a2032372e353620c2b5736420202020202d204b696c6c696e673a2033352e313120c2b57398202d204442205765696768743a203120526561642c203120577269746520746f206077686f60302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e2c2023203c7765696768743e4101202d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973902020206e6f7420617373756d656420746f20626520696e20746865206f7665726c61792e302023203c2f7765696768743e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e2c51012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e736665722c2023203c7765696768743ee8202d2043686561706572207468616e207472616e736665722062656361757365206163636f756e742063616e6e6f74206265206b696c6c65642e60202d2042617365205765696768743a2035312e3420c2b5731d01202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374202873656e64657220697320696e206f7665726c617920616c7265616479292c20233c2f7765696768743e01201c456e646f77656408244163636f756e7449641c42616c616e636504250120416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e205c5b6163636f756e742c20667265655f62616c616e63655c5d20447573744c6f737408244163636f756e7449641c42616c616e636508410120416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742cd020726573756c74696e6720696e20616e206f75747269676874206c6f73732e205c5b6163636f756e742c2062616c616e63655c5d205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e636504a0205472616e73666572207375636365656465642e205c5b66726f6d2c20746f2c2076616c75655c5d2842616c616e63655365740c244163636f756e7449641c42616c616e63651c42616c616e636504cc20412062616c616e6365207761732073657420627920726f6f742e205c5b77686f2c20667265652c2072657365727665645c5d1c4465706f73697408244163636f756e7449641c42616c616e636504210120536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e205c5b77686f2c206465706f7369745c5d20526573657276656408244163636f756e7449641c42616c616e636504210120536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e205c5b77686f2c2076616c75655c5d28556e726573657276656408244163636f756e7449641c42616c616e636504290120536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e205c5b77686f2c2076616c75655c5d4852657365727665526570617472696174656410244163636f756e744964244163636f756e7449641c42616c616e6365185374617475730c510120536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742edc2046696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652ea8205c5b66726f6d2c20746f2c2062616c616e63652c2064657374696e6174696f6e5f7374617475735c5d04484578697374656e7469616c4465706f73697428543a3a42616c616e63654000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e203856657374696e6742616c616e6365049c2056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e7304c8204163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c204f766572666c6f77047420476f7420616e206f766572666c6f7720616674657220616464696e674c496e73756666696369656e7442616c616e636504782042616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f73697404ec2056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650490205472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c6504cc20412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e74048c2042656e6566696369617279206163636f756e74206d757374207072652d657869737406485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100284d756c7469706c69657240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01002052656c6561736573040000000008485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c576569676874546f466565a45665633c576569676874546f466565436f656666696369656e743c42616c616e63654f663c543e3e3e5c0401000000000000000000000000000000000000000001040d012054686520706f6c796e6f6d69616c2074686174206973206170706c69656420696e206f7264657220746f20646572697665206665652066726f6d207765696768742e000768456c656374696f6e50726f76696465724d756c746950686173650168456c656374696f6e50726f76696465724d756c746950686173651814526f756e6401000c753332100100000018ac20496e7465726e616c20636f756e74657220666f7220746865206e756d626572206f6620726f756e64732e00550120546869732069732075736566756c20666f722064652d6475706c69636174696f6e206f66207472616e73616374696f6e73207375626d697474656420746f2074686520706f6f6c2c20616e642067656e6572616c6c20646961676e6f7374696373206f66207468652070616c6c65742e004d012054686973206973206d6572656c7920696e6372656d656e746564206f6e6365207065722065766572792074696d65207468617420616e20757073747265616d2060656c656374602069732063616c6c65642e3043757272656e74506861736501005450686173653c543a3a426c6f636b4e756d6265723e0400043c2043757272656e742070686173652e38517565756564536f6c7574696f6e00006c5265616479536f6c7574696f6e3c543a3a4163636f756e7449643e0400043d012043757272656e74206265737420736f6c7574696f6e2c207369676e6564206f7220756e7369676e65642c2071756575656420746f2062652072657475726e65642075706f6e2060656c656374602e20536e617073686f7400006c526f756e64536e617073686f743c543a3a4163636f756e7449643e04000c7020536e617073686f742064617461206f662074686520726f756e642e005d01205468697320697320637265617465642061742074686520626567696e6e696e67206f6620746865207369676e656420706861736520616e6420636c65617265642075706f6e2063616c6c696e672060656c656374602e38446573697265645461726765747300000c75333204000ccc2044657369726564206e756d626572206f66207461726765747320746f20656c65637420666f72207468697320726f756e642e00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e40536e617073686f744d65746164617461000058536f6c7574696f6e4f72536e617073686f7453697a6504000c9820546865206d65746164617461206f6620746865205b60526f756e64536e617073686f74605d00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e01043c7375626d69745f756e7369676e65640820736f6c7574696f6e64526177536f6c7574696f6e3c436f6d706163744f663c543e3e1c7769746e65737358536f6c7574696f6e4f72536e617073686f7453697a6538a8205375626d6974206120736f6c7574696f6e20666f722074686520756e7369676e65642070686173652e00cc20546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f6e6f6e655f5f2e0041012054686973207375626d697373696f6e20697320636865636b6564206f6e2074686520666c792e204d6f72656f7665722c207468697320756e7369676e656420736f6c7574696f6e206973206f6e6c7959012076616c696461746564207768656e207375626d697474656420746f2074686520706f6f6c2066726f6d20746865202a2a6c6f63616c2a2a206e6f64652e204566666563746976656c792c2074686973206d65616e7361012074686174206f6e6c79206163746976652076616c696461746f72732063616e207375626d69742074686973207472616e73616374696f6e207768656e20617574686f72696e67206120626c6f636b202873696d696c61724420746f20616e20696e686572656e74292e005d0120546f2070726576656e7420616e7920696e636f727265637420736f6c7574696f6e2028616e642074687573207761737465642074696d652f776569676874292c2074686973207472616e73616374696f6e2077696c6c51012070616e69632069662074686520736f6c7574696f6e207375626d6974746564206279207468652076616c696461746f7220697320696e76616c696420696e20616e79207761792c206566666563746976656c79a02070757474696e6720746865697220617574686f72696e6720726577617264206174207269736b2e00e4204e6f206465706f736974206f7220726577617264206973206173736f63696174656420776974682074686973207375626d697373696f6e2e011838536f6c7574696f6e53746f726564043c456c656374696f6e436f6d7075746510b8204120736f6c7574696f6e207761732073746f72656420776974682074686520676976656e20636f6d707574652e0041012049662074686520736f6c7574696f6e206973207369676e65642c2074686973206d65616e732074686174206974206861736e277420796574206265656e2070726f6365737365642e20496620746865090120736f6c7574696f6e20697320756e7369676e65642c2074686973206d65616e7320746861742069742068617320616c736f206265656e2070726f6365737365642e44456c656374696f6e46696e616c697a6564045c4f7074696f6e3c456c656374696f6e436f6d707574653e0859012054686520656c656374696f6e20686173206265656e2066696e616c697a65642c20776974682060536f6d6560206f662074686520676976656e20636f6d7075746174696f6e2c206f7220656c7365206966207468656420656c656374696f6e206661696c65642c20604e6f6e65602e20526577617264656404244163636f756e74496404290120416e206163636f756e7420686173206265656e20726577617264656420666f72207468656972207369676e6564207375626d697373696f6e206265696e672066696e616c697a65642e1c536c617368656404244163636f756e74496404250120416e206163636f756e7420686173206265656e20736c617368656420666f72207375626d697474696e6720616e20696e76616c6964207369676e6564207375626d697373696f6e2e485369676e6564506861736553746172746564040c75333204c420546865207369676e6564207068617365206f662074686520676976656e20726f756e642068617320737461727465642e50556e7369676e6564506861736553746172746564040c75333204cc2054686520756e7369676e6564207068617365206f662074686520676976656e20726f756e642068617320737461727465642e0c34556e7369676e6564506861736538543a3a426c6f636b4e756d62657210320000000480204475726174696f6e206f662074686520756e7369676e65642070686173652e2c5369676e6564506861736538543a3a426c6f636b4e756d62657210320000000478204475726174696f6e206f6620746865207369676e65642070686173652e70536f6c7574696f6e496d70726f76656d656e745468726573686f6c641c50657262696c6c10a0860100084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e206173642022626574746572222028696e20616e79207068617365292e0c6850726544697370617463684561726c795375626d697373696f6e0468205375626d697373696f6e2077617320746f6f206561726c792e6c507265446973706174636857726f6e6757696e6e6572436f756e74048c2057726f6e67206e756d626572206f662077696e6e6572732070726573656e7465642e6450726544697370617463685765616b5375626d697373696f6e0494205375626d697373696f6e2077617320746f6f207765616b2c2073636f72652d776973652e081c5374616b696e67011c5374616b696e677830486973746f7279446570746801000c75333210540000001c8c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00390120496e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e006101204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e206f74686572776973652e20492e652e2061637469766520657261206d757374390120616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203e2063757272656e745f657261202d20686973746f72795f646570746860206d757374206265302067756172616e746565642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010230543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449647c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f7250726566730008000004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e00040004650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e2843757272656e74457261000020457261496e6465780400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e24416374697665457261000034416374697665457261496e666f040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e0059012054686520616374697665206572612069732074686520657261206265696e672063757272656e746c792072657761726465642e2056616c696461746f7220736574206f66207468697320657261206d757374206265ac20657175616c20746f205b6053657373696f6e496e746572666163653a3a76616c696461746f7273605d2e5445726173537461727453657373696f6e496e64657800010520457261496e6465783053657373696f6e496e646578000400103101205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c6173742060484953544f52595f44455054486020657261732e006101204e6f74653a205468697320747261636b7320746865207374617274696e672073657373696f6e2028692e652e2073657373696f6e20696e646578207768656e20657261207374617274206265696e672061637469766529f020666f7220746865206572617320696e20605b43757272656e74457261202d20484953544f52595f44455054482c2043757272656e744572615d602e2c457261735374616b65727301020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000001878204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e48457261735374616b657273436c697070656401020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000002c9820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865dc2060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e484572617356616c696461746f72507265667301020520457261496e64657830543a3a4163636f756e7449643856616c696461746f725072656673050800001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4c4572617356616c696461746f7252657761726400010520457261496e6465783042616c616e63654f663c543e0004000c09012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c6173742060484953544f52595f44455054486020657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e747301010520457261496e64657874457261526577617264506f696e74733c543a3a4163636f756e7449643e0014000000000008ac205265776172647320666f7220746865206c6173742060484953544f52595f44455054486020657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b6501010520457261496e6465783042616c616e63654f663c543e00400000000000000000000000000000000008ec2054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c6173742060484953544f52595f44455054486020657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f72636545726101001c466f7263696e6704000454204d6f6465206f662065726120666f7263696e672e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e5443757272656e74506c616e6e656453657373696f6e01003053657373696f6e496e64657810000000000ce820546865206c61737420706c616e6e65642073657373696f6e207363686564756c6564206279207468652073657373696f6e2070616c6c65742e0031012054686973206973206261736963616c6c7920696e2073796e632077697468207468652063616c6c20746f205b6053657373696f6e4d616e616765723a3a6e65775f73657373696f6e605d2e3853746f7261676556657273696f6e01002052656c6561736573040510cc2054727565206966206e6574776f726b20686173206265656e20757067726164656420746f20746869732076657273696f6e2e7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076362e302e3020666f72206e6577206e6574776f726b732e015c10626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e5865012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e004020456d6974732060426f6e646564602e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e005101204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e6564410120756e6c6573732074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e4c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a3101202d20526561643a20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c2043757272656e74204572612c20486973746f72792044657074682c204c6f636b73e0202d2057726974653a20426f6e6465642c2050617965652c205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e5465012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c657220616e64f82069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004020456d6974732060426f6e646564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e34202d2d2d2d2d2d2d2d2d2d2d2d2c204442205765696768743a1501202d20526561643a2045726120456c656374696f6e205374617475732c20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c204c6f636b73a4202d2057726974653a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e805501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004820456d6974732060556e626f6e646564602e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652e5101202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c6564207669615c2020206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e2c202d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a1d01202d20526561643a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e744572612c204c6f636b732c2042616c616e63654f662053746173682ca4202d2057726974653a204c6f636b732c204c65646765722c2042616c616e63654f662053746173682c28203c2f7765696768743e4477697468647261775f756e626f6e64656404486e756d5f736c617368696e675f7370616e730c7533327c2d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004c20456d697473206057697468647261776e602e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d090120436f6d706c6578697479204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2072656d6f766520205570646174653a2501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c204c6f636b732c205b4f726967696e204163636f756e745da8202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c656467657218204b696c6c3a4501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c20426f6e6465642c20536c617368696e67205370616e732c205b4f726967696e8c2020204163636f756e745d2c204c6f636b732c2042616c616e63654f662073746173685101202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732cb02020205b4f726967696e204163636f756e745d2c204c6f636b732c2042616c616e63654f662073746173682e74202d2057726974657320456163683a205370616e536c617368202a20530d01204e4f54453a2057656967687420616e6e6f746174696f6e20697320746865206b696c6c207363656e6172696f2c20776520726566756e64206f74686572776973652e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f72507265667344e8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e30202d2d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a90202d20526561643a2045726120456c656374696f6e205374617475732c204c656467657280202d2057726974653a204e6f6d696e61746f72732c2056616c696461746f7273302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e4c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00510120456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e20546869732063616e206f6e6c792062652063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e3101202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f662060746172676574736020284e2901012077686963682069732063617070656420617420436f6d7061637441737369676e6d656e74733a3a4c494d495420284d41585f4e4f4d494e4154494f4e53292ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e28202d2d2d2d2d2d2d2d2d34205765696768743a204f284e2984207768657265204e20697320746865206e756d626572206f6620746172676574732c204442205765696768743ac8202d2052656164733a2045726120456c656374696f6e205374617475732c204c65646765722c2043757272656e742045726184202d205772697465733a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e146368696c6c0044c8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e24202d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a88202d20526561643a20457261456c656374696f6e5374617475732c204c656467657280202d2057726974653a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e247365745f7061796565041470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e40b8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e28202d2d2d2d2d2d2d2d2d3c202d205765696768743a204f28312934202d204442205765696768743a4c20202020202d20526561643a204c65646765724c20202020202d2057726974653a205061796565302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654090202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e2c202d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743af4202d20526561643a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572f8202d2057726974653a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e209420536574732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e34205765696768743a204f2831295c2057726974653a2056616c696461746f7220436f756e74302023203c2f7765696768743e60696e6372656173655f76616c696461746f725f636f756e7404286164646974696f6e616c30436f6d706163743c7533323e1cac20496e6372656d656e74732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e842053616d65206173205b607365745f76616c696461746f725f636f756e74605d2e302023203c2f7765696768743e547363616c655f76616c696461746f725f636f756e740418666163746f721c50657263656e741cd4205363616c652075702074686520696465616c206e756d626572206f662076616c696461746f7273206279206120666163746f722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e842053616d65206173205b607365745f76616c696461746f725f636f756e74605d2e302023203c2f7765696768743e34666f7263655f6e6f5f657261730024b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e3c202d205765696768743a204f28312948202d2057726974653a20466f726365457261302023203c2f7765696768743e34666f7263655f6e65775f65726100284d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e3c202d205765696768743a204f28312944202d20577269746520466f726365457261302023203c2f7765696768743e447365745f696e76756c6e657261626c65730434696e76756c6e657261626c6573445665633c543a3a4163636f756e7449643e20cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e1c202d204f2856295c202d2057726974653a20496e76756c6e657261626c6573302023203c2f7765696768743e34666f7263655f756e7374616b650814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c753332280d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743eec204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2062652072656d6f766564b82052656164733a20426f6e6465642c20536c617368696e67205370616e732c204163636f756e742c204c6f636b738501205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c204163636f756e742c204c6f636b736c2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e50666f7263655f6e65775f6572615f616c776179730020050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e3c202d205765696768743a204f28312948202d2057726974653a20466f726365457261302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e34982043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e00b42043616e2062652063616c6c6564206279207468652060543a3a536c61736843616e63656c4f726967696e602e00050120506172616d65746572733a2065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e5420436f6d706c65786974793a204f2855202b205329b82077697468205520756e6170706c69656420736c6173686573207765696768746564207769746820553d31303030d420616e64205320697320746865206e756d626572206f6620736c61736820696e646963657320746f2062652063616e63656c65642e68202d20526561643a20556e6170706c69656420536c61736865736c202d2057726974653a20556e6170706c69656420536c6173686573302023203c2f7765696768743e387061796f75745f7374616b657273083c76616c696461746f725f737461736830543a3a4163636f756e7449640c65726120457261496e64657870110120506179206f757420616c6c20746865207374616b65727320626568696e6420612073696e676c652076616c696461746f7220666f7220612073696e676c65206572612e004d01202d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e205468656972206e6f6d696e61746f72732c20757020746f290120202060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602c2077696c6c20616c736f207265636569766520746865697220726577617264732e3501202d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e00590120546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e20696678206974206973206e6f74206f6e65206f6620746865207374616b6572732e00010120546869732063616e206f6e6c792062652063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e0101202d2054696d6520636f6d706c65786974793a206174206d6f7374204f284d61784e6f6d696e61746f72526577617264656450657256616c696461746f72292ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e30202d2d2d2d2d2d2d2d2d2d2d1d01204e20697320746865204e756d626572206f66207061796f75747320666f72207468652076616c696461746f722028696e636c7564696e67207468652076616c696461746f722920205765696768743a88202d205265776172642044657374696e6174696f6e205374616b65643a204f284e29c4202d205265776172642044657374696e6174696f6e20436f6e74726f6c6c657220284372656174696e67293a204f284e292c204442205765696768743a2901202d20526561643a20457261456c656374696f6e5374617475732c2043757272656e744572612c20486973746f727944657074682c204572617356616c696461746f725265776172642c2d01202020202020202020457261735374616b657273436c69707065642c2045726173526577617264506f696e74732c204572617356616c696461746f725072656673202838206974656d73291101202d205265616420456163683a20426f6e6465642c204c65646765722c2050617965652c204c6f636b732c2053797374656d204163636f756e74202835206974656d7329d8202d20577269746520456163683a2053797374656d204163636f756e742c204c6f636b732c204c6564676572202833206974656d73290051012020204e4f54453a20776569676874732061726520617373756d696e672074686174207061796f75747320617265206d61646520746f20616c697665207374617368206163636f756e7420285374616b6564292e5901202020506179696e67206576656e2061206465616420636f6e74726f6c6c65722069732063686561706572207765696768742d776973652e20576520646f6e277420646f20616e7920726566756e647320686572652e302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e38e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e00550120546865206469737061746368206f726967696e206d757374206265207369676e65642062792074686520636f6e74726f6c6c65722c20616e642069742063616e206265206f6e6c792063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ed4202d2054696d6520636f6d706c65786974793a204f284c292c207768657265204c20697320756e6c6f636b696e67206368756e6b7394202d20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a010120202020202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c204c6f636b732c205b4f726967696e204163636f756e745db820202020202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e447365745f686973746f72795f646570746808446e65775f686973746f72795f646570746844436f6d706163743c457261496e6465783e485f6572615f6974656d735f64656c6574656430436f6d706163743c7533323e543101205365742060486973746f72794465707468602076616c75652e20546869732066756e6374696f6e2077696c6c2064656c65746520616e7920686973746f727920696e666f726d6174696f6e80207768656e2060486973746f727944657074686020697320726564756365642e003020506172616d65746572733a1101202d20606e65775f686973746f72795f6465707468603a20546865206e657720686973746f727920646570746820796f7520776f756c64206c696b6520746f207365742e4901202d20606572615f6974656d735f64656c65746564603a20546865206e756d626572206f66206974656d7320746861742077696c6c2062652064656c6574656420627920746869732064697370617463682e450120202020546869732073686f756c64207265706f727420616c6c207468652073746f72616765206974656d7320746861742077696c6c2062652064656c6574656420627920636c656172696e67206f6c6445012020202065726120686973746f72792e204e656564656420746f207265706f727420616e2061636375726174652077656967687420666f72207468652064697370617463682e2054727573746564206279a02020202060526f6f746020746f207265706f727420616e206163637572617465206e756d6265722e0054204f726967696e206d75737420626520726f6f742e002c2023203c7765696768743ee0202d20453a204e756d626572206f6620686973746f7279206465707468732072656d6f7665642c20692e652e203130202d3e2037203d20333c202d205765696768743a204f28452934202d204442205765696768743aa020202020202d2052656164733a2043757272656e74204572612c20486973746f72792044657074687020202020202d205772697465733a20486973746f7279204465707468310120202020202d20436c6561722050726566697820456163683a20457261205374616b6572732c204572615374616b657273436c69707065642c204572617356616c696461746f725072656673810120202020202d2057726974657320456163683a204572617356616c696461746f725265776172642c2045726173526577617264506f696e74732c2045726173546f74616c5374616b652c2045726173537461727453657373696f6e496e646578302023203c2f7765696768743e28726561705f73746173680814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c7533323c61012052656d6f766520616c6c20646174612073747275637475726520636f6e6365726e696e672061207374616b65722f7374617368206f6e6365206974732062616c616e636520697320617420746865206d696e696d756d2e6101205468697320697320657373656e7469616c6c79206571756976616c656e7420746f206077697468647261775f756e626f6e64656460206578636570742069742063616e2062652063616c6c656420627920616e796f6e65f820616e6420746865207461726765742060737461736860206d7573742068617665206e6f2066756e6473206c656674206265796f6e64207468652045442e009020546869732063616e2062652063616c6c65642066726f6d20616e79206f726967696e2e000101202d20607374617368603a20546865207374617368206163636f756e7420746f20726561702e204974732062616c616e6365206d757374206265207a65726f2e002c2023203c7765696768743e250120436f6d706c65786974793a204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e73206f6e20746865206163636f756e742e2c204442205765696768743ad8202d2052656164733a205374617368204163636f756e742c20426f6e6465642c20536c617368696e67205370616e732c204c6f636b73a501202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c205374617368204163636f756e742c204c6f636b7374202d2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e106b69636b040c77686fa05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e34e42052656d6f76652074686520676976656e206e6f6d696e6174696f6e732066726f6d207468652063616c6c696e672076616c696461746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e490120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e2054686520636f6e74726f6c6c657298206163636f756e742073686f756c6420726570726573656e7420612076616c696461746f722e005101202d206077686f603a2041206c697374206f66206e6f6d696e61746f72207374617368206163636f756e74732077686f20617265206e6f6d696e6174696e6720746869732076616c696461746f72207768696368c420202073686f756c64206e6f206c6f6e676572206265206e6f6d696e6174696e6720746869732076616c696461746f722e005901204e6f74653a204d616b696e6720746869732063616c6c206f6e6c79206d616b65732073656e736520696620796f7520666972737420736574207468652076616c696461746f7220707265666572656e63657320746f7c20626c6f636b20616e792066757274686572206e6f6d696e6174696f6e732e0124244572615061796f75740c20457261496e6465781c42616c616e63651c42616c616e63650c59012054686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c4207468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642eac205c5b6572615f696e6465782c2076616c696461746f725f7061796f75742c2072656d61696e6465725c5d1852657761726408244163636f756e7449641c42616c616e636504fc20546865207374616b657220686173206265656e207265776172646564206279207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d14536c61736808244163636f756e7449641c42616c616e6365082501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e58205c5b76616c696461746f722c20616d6f756e745c5d684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6490206e6f742062652070726f6365737365642e205c5b73657373696f6e5f696e6465785c5d3c5374616b696e67456c656374696f6e0004882041206e657720736574206f66207374616b6572732077617320656c65637465642e18426f6e64656408244163636f756e7449641c42616c616e636510d420416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d005101204e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c25012069742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e64656408244163636f756e7449641c42616c616e636504dc20416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d2457697468647261776e08244163636f756e7449641c42616c616e6365085d0120416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e636560b02066726f6d2074686520756e6c6f636b696e672071756575652e205c5b73746173682c20616d6f756e745c5d184b69636b656408244163636f756e744964244163636f756e744964040d012041206e6f6d696e61746f7220686173206265656e206b69636b65642066726f6d20612076616c696461746f722e205c5b6e6f6d696e61746f722c2073746173685c5d143853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e20457261496e64657810a8000000140101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e00bc20546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2d012053657420746f203020696620736c61736865732073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f723820696e74657276656e74696f6e2e804d61784e6f6d696e61746f72526577617264656450657256616c696461746f720c753332100001000010f820546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320726577617264656420666f7220656163682076616c696461746f722e00690120466f7220656163682076616c696461746f72206f6e6c79207468652060244d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732063616e20636c61696d2101207468656972207265776172642e2054686973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e384d61784e6f6d696e6174696f6e730c753332101000000004b4204d6178696d756d206e756d626572206f66206e6f6d696e6174696f6e7320706572206e6f6d696e61746f722e50344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e6465780444204475706c696361746520696e6465782e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e44496e73756666696369656e7456616c756504cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e64656454617267657404cc20417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264045c20496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73047c20496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564040d01205265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e54496e636f7272656374486973746f7279446570746804c420496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e7304b420496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e204261645374617465043d0120496e7465726e616c20737461746520686173206265636f6d6520736f6d65686f7720636f7272757074656420616e6420746865206f7065726174696f6e2063616e6e6f7420636f6e74696e75652e38546f6f4d616e7954617267657473049820546f6f206d616e79206e6f6d696e6174696f6e207461726765747320737570706c6965642e244261645461726765740441012041206e6f6d696e6174696f6e207461726765742077617320737570706c69656420746861742077617320626c6f636b6564206f72206f7468657277697365206e6f7420612076616c696461746f722e091c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e38e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a4202d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b6579736084202d204462526561647320706572206b65792069643a20604b65794f776e65726088202d20446257726974657320706572206b65792069643a20604b65794f776e657260302023203c2f7765696768743e2870757267655f6b6579730030cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743eb4202d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a4202d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e74608c202d20446257726974657320706572206b65792069643a20604b65794f776e64657260302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578086501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e7420697320746865205c5b73657373696f6e5f696e6465785c5d2c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001430496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e74041d01204b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e0a2444656d6f6372616379012444656d6f6372616379383c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e244465706f7369744f660001052450726f70496e64657884285665633c543a3a4163636f756e7449643e2c2042616c616e63654f663c543e290004000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e24507265696d616765730001061c543a3a48617368e8507265696d6167655374617475733c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401003c5265666572656e64756d496e646578100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001053c5265666572656e64756d496e646578d45265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173682c2042616c616e63654f663c543e3e0004000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010530543a3a4163636f756e744964c8566f74696e673c42616c616e63654f663c543e2c20543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e144c6f636b7300010530543a3a4163636f756e74496438543a3a426c6f636b4e756d626572000400105d01204163636f756e747320666f7220776869636820746865726520617265206c6f636b7320696e20616374696f6e207768696368206d61792062652072656d6f76656420617420736f6d6520706f696e7420696e207468655101206675747572652e205468652076616c75652069732074686520626c6f636b206e756d62657220617420776869636820746865206c6f636b206578706972657320616e64206d61792062652072656d6f7665642e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001061c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101061c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e3853746f7261676556657273696f6e00002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e01641c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e2ca02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e00190120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573748420686176652066756e647320746f20636f76657220746865206465706f7369742e00d8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e1901202d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e004820456d697473206050726f706f736564602e003c205765696768743a20604f28702960187365636f6e64082070726f706f73616c48436f6d706163743c50726f70496e6465783e4c7365636f6e64735f75707065725f626f756e6430436f6d706163743c7533323e28b8205369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e00050120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e6465721501206d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00cc202d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e4501202d20607365636f6e64735f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e207468652063757272656e74206e756d626572206f66207365636f6e6473206f6e2074686973290120202070726f706f73616c2e2045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e002101205765696768743a20604f28532960207768657265205320697320746865206e756d626572206f66207365636f6e647320612070726f706f73616c20616c7265616479206861732e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f7465644163636f756e74566f74653c42616c616e63654f663c543e3e24350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00e0202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e88202d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e003101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722068617320766f746564206f6e2e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578205101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e00fc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d4202d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e0040205765696768743a20604f283129602e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368243101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e00ec20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e001901205765696768743a20604f2856296020776974682056206e756d626572206f66207665746f65727320696e2074686520626c61636b6c697374206f662070726f706f73616c2ebc2020204465636f64696e6720766563206f66206c656e67746820562e2043686172676564206173206d6178696d756d6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a486173682c5901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e00f020546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e003c205765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a486173682c4901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e00ec20546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e003c205765696768743a20604f2831296028666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d6265723c5101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d420546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f982020206046617374547261636b566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e004420456d697473206053746172746564602e003c205765696768743a20604f28312960347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736824bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00dc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e003101202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e004020456d69747320605665746f6564602e000101205765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e1c542052656d6f76652061207265666572656e64756d2e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d8202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e00482023205765696768743a20604f283129602e3463616e63656c5f717565756564041477686963683c5265666572656e64756d496e6465781ca02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00c8202d20607768696368603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004d01205765696768743a20604f284429602077686572652060446020697320746865206974656d7320696e207468652064697370617463682071756575652e205765696768746564206173206044203d203130602e2064656c65676174650c08746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e1c62616c616e63653042616c616e63654f663c543e503d012044656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e005901205468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865cc2074696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e00610120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a782020202d2062652064656c65676174696e6720616c72656164793b206f725d012020202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c6964617465649820202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e004901202d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e5901202d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e2074686545012020206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e5501202d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374c82020206e6f74206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e004c20456d697473206044656c656761746564602e004101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c65676174650030d020556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e00610120546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64e0206f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e00490120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265582063757272656e746c792064656c65676174696e672e005420456d6974732060556e64656c656761746564602e004101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c7300147420436c6561727320616c6c207075626c69632070726f706f73616c732e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e0040205765696768743a20604f283129602e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e2861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e005101205765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e646e6f74655f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e040d012053616d6520617320606e6f74655f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e586e6f74655f696d6d696e656e745f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e3045012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265410120696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e205768656e20746869732063616c6c206973207375636365737366756c2c20692e652e39012074686520707265696d61676520686173206e6f74206265656e2075706c6f61646564206265666f726520616e64206d61746368657320736f6d6520696d6d696e656e742070726f706f73616c2c40206e6f2066656520697320706169642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e005101205765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e886e6f74655f696d6d696e656e745f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e0431012053616d6520617320606e6f74655f696d6d696e656e745f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e34726561705f707265696d616765083470726f706f73616c5f686173681c543a3a486173686070726f706f73616c5f6c656e5f75707065725f626f756e6430436f6d706163743c7533323e3cf42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00d0202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f6620612070726f706f73616c2e2d01202d206070726f706f73616c5f6c656e6774685f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e206c656e677468206f66207468652070726f706f73616c2e010120202045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e00510120546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d616765207761735d01206e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79b020776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e006020456d6974732060507265696d616765526561706564602e00b8205765696768743a20604f284429602077686572652044206973206c656e677468206f662070726f706f73616c2e18756e6c6f636b041874617267657430543a3a4163636f756e7449641ca420556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00bc202d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00c0205765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f74650414696e6465783c5265666572656e64756d496e6465786c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e00102049663a8c202d20746865207265666572656e64756d207761732063616e63656c6c65642c206f7280202d20746865207265666572656e64756d206973206f6e676f696e672c206f7294202d20746865207265666572656e64756d2068617320656e6465642073756368207468617401012020202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d82020202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f72882020202d20746865206163636f756e74206d61646520612073706c697420766f74656101202e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655c2066756e6473206265696e6720617661696c61626c652e00ac2049662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643af0202d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64e0202d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64c0202d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f7665725d01202e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c76655d01202a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de8206f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004d0120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f74658c207265676973746572656420666f72207265666572656e64756d2060696e646578602e00f8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e005901205765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465081874617267657430543a3a4163636f756e74496414696e6465783c5265666572656e64756d496e6465783c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e0051012049662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f3101206072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c590120656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f729c20626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e005101202d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f72582020207265666572656e64756d2060696e646578602ef8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e005901205765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e38656e6163745f70726f706f73616c083470726f706f73616c5f686173681c543a3a4861736814696e6465783c5265666572656e64756d496e64657804510120456e61637420612070726f706f73616c2066726f6d2061207265666572656e64756d2e20466f72206e6f77207765206a757374206d616b65207468652077656967687420626520746865206d6178696d756d2e24626c61636b6c697374083470726f706f73616c5f686173681c543a3a486173683c6d617962655f7265665f696e6465785c4f7074696f6e3c5265666572656e64756d496e6465783e3c4901205065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e67402070726f706f73656420616761696e2e0055012049662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e6755012072656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c6c207468656e2069742077696c6c2062652063616e63656c6c65642e00f020546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00fc202d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e4901202d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652c2063616e63656c6c65642e004501205765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d6520697420686173206154202020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c042870726f705f696e64657848436f6d706163743c50726f70496e6465783e1c4c2052656d6f766520612070726f706f73616c2e00050120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d4202d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e8205765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e28296001482050726f706f736564082450726f70496e6465781c42616c616e63650431012041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e205c5b70726f706f73616c5f696e6465782c206465706f7369745c5d185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e047d012041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e205c5b70726f706f73616c5f696e6465782c206465706f7369742c206465706f7369746f72735c5d3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404c42041207265666572656e64756d2068617320626567756e2e205c5b7265665f696e6465782c207468726573686f6c645c5d18506173736564043c5265666572656e64756d496e64657804e820412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e205c5b7265665f696e6465785c5d244e6f74506173736564043c5265666572656e64756d496e64657804e820412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e205c5b7265665f696e6465785c5d2443616e63656c6c6564043c5265666572656e64756d496e64657804bc2041207265666572656e64756d20686173206265656e2063616e63656c6c65642e205c5b7265665f696e6465785c5d204578656375746564083c5265666572656e64756d496e64657810626f6f6c04c820412070726f706f73616c20686173206265656e20656e61637465642e205c5b7265665f696e6465782c2069735f6f6b5c5d2444656c65676174656408244163636f756e744964244163636f756e74496404210120416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e205c5b77686f2c207461726765745c5d2c556e64656c65676174656404244163636f756e74496404f820416e205c5b6163636f756e745c5d206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d62657204110120416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e205c5b77686f2c2070726f706f73616c5f686173682c20756e74696c5c5d34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504610120412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e205c5b70726f706f73616c5f686173682c2077686f2c206465706f7369745c5d30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636508150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e94205c5b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369745c5d3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e646578080d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e74205c5b70726f706f73616c5f686173682c207265665f696e6465785c5d3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e646578080d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e74205c5b70726f706f73616c5f686173682c207265665f696e6465785c5d38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964082d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c656374656420627920746865207265617065722eb4205c5b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369742c207265617065725c5d20556e6c6f636b656404244163636f756e74496404bc20416e205c5b6163636f756e745c5d20686173206265656e20756e6c6f636b6564207375636365737366756c6c792e2c426c61636b6c697374656404104861736804d820412070726f706f73616c205c5b686173685c5d20686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e203c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d62657210002f0d0014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210004e0c0004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210004e0c0004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e400000c16ff2862300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e5446617374547261636b566f74696e67506572696f6438543a3a426c6f636b4e756d626572108051010004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f7220616e20656d657267656e6379207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210004e0c0004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400010a5d4e800000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e204d6178566f7465730c753332106400000004b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e8c2056616c75654c6f7704382056616c756520746f6f206c6f773c50726f706f73616c4d697373696e6704602050726f706f73616c20646f6573206e6f7420657869737420426164496e646578043820556e6b6e6f776e20696e6465783c416c726561647943616e63656c656404982043616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c04582050726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c6973746564046c2050726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f7269747904ac204e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c696448617368043420496e76616c69642068617368284e6f50726f706f73616c0454204e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564049c204964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365304e6f7444656c6567617465640438204e6f742064656c656761746564444475706c6963617465507265696d616765045c20507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e740434204e6f7420696d6d696e656e7420546f6f4561726c79042820546f6f206561726c7920496d6d696e656e74042420496d6d696e656e743c507265696d6167654d697373696e67044c20507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964048820566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964044420496e76616c696420707265696d6167652c4e6f6e6557616974696e670454204e6f2070726f706f73616c732077616974696e67244e6f744c6f636b656404a42054686520746172676574206163636f756e7420646f6573206e6f7420686176652061206c6f636b2e284e6f744578706972656404f020546865206c6f636b206f6e20746865206163636f756e7420746f20626520756e6c6f636b656420686173206e6f742079657420657870697265642e204e6f74566f74657204c82054686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e04cc20546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67048c20546865206163636f756e7420697320616c72656164792064656c65676174696e672e204f766572666c6f7704a420416e20756e657870656374656420696e7465676572206f766572666c6f77206f636375727265642e24556e646572666c6f7704a820416e20756e657870656374656420696e746567657220756e646572666c6f77206f636375727265642e44496e73756666696369656e7446756e647304010120546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e6704a420546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f746573457869737408590120546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696cec207468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f77656404dc2054686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e736504982044656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e64045420496e76616c696420757070657220626f756e642e3c4d6178566f746573526561636865640484204d6178696d756d206e756d626572206f6620766f74657320726561636865642e38496e76616c69645769746e6573730490205468652070726f7669646564207769746e65737320646174612069732077726f6e672e40546f6f4d616e7950726f706f73616c730494204d6178696d756d206e756d626572206f662070726f706f73616c7320726561636865642e0b1c436f756e63696c014c496e7374616e636531436f6c6c656374697665182450726f706f73616c73010090426f756e6465645665633c543a3a486173682c20543a3a4d617850726f706f73616c733e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368683c5420617320436f6e6669673c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e744964040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c38f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e004d01205472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c690120666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061206665652e2c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e78510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e0065012049662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c6101206265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed8205c5b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645c5d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292eac205c5b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5c5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e6c205c5b70726f706f73616c5f686173682c207965732c206e6f5c5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e0c48546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665182450726f706f73616c73010090426f756e6465645665633c543a3a486173682c20543a3a4d617850726f706f73616c733e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368683c5420617320436f6e6669673c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e744964040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c38f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e004d01205472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c690120666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061206665652e2c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e78510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e0065012049662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c6101206265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed8205c5b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645c5d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292eac205c5b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5c5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e6c205c5b70726f706f73616c5f686173682c207965732c206e6f5c5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e0d24456c656374696f6e730124456c656374696f6e73141c4d656d626572730100ac5665633c53656174486f6c6465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e04000c74205468652063757272656e7420656c6563746564206d656d626572732e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100ac5665633c53656174486f6c6465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e04001084205468652063757272656e742072657365727665642072756e6e6572732d75702e00590120496e76617269616e743a20416c7761797320736f72746564206261736564206f6e2072616e6b2028776f72736520746f2062657374292e2055706f6e2072656d6f76616c206f662061206d656d6265722c20746865bc206c6173742028692e652e205f626573745f292072756e6e65722d75702077696c6c206265207265706c616365642e2843616e646964617465730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400185901205468652070726573656e742063616e646964617465206c6973742e20412063757272656e74206d656d626572206f722072756e6e65722d75702063616e206e6576657220656e746572207468697320766563746f72d020616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e007c205365636f6e6420656c656d656e7420697320746865206465706f7369742e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010530543a3a4163636f756e74496484566f7465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e00840000000000000000000000000000000000000000000000000000000000000000000cb820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e00c42054574f582d4e4f54453a205341464520617320604163636f756e7449646020697320612063727970746f20686173682e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5d0120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e20546869732063616e2062652063616c6c656420746fe4207365742074686520696e697469616c20766f7465732c206f722075706461746520616c7265616479206578697374696e6720766f7465732e0061012055706f6e20696e697469616c20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e642061206465706f73697420616d6f756e7420697351012072657365727665642e20546865206465706f736974206973206261736564206f6e20746865206e756d626572206f6620766f74657320616e642063616e2062652075706461746564206f7665722074696d652e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792e59012020202d206265206c657373207468616e20746865206e756d626572206f6620706f737369626c652063616e646964617465732e204e6f7465207468617420616c6c2063757272656e74206d656d6265727320616e641501202020202072756e6e6572732d75702061726520616c736f206175746f6d61746963616c6c792063616e6469646174657320666f7220746865206e65787420726f756e642e005101204966206076616c756560206973206d6f7265207468616e206077686f60277320746f74616c2062616c616e63652c207468656e20746865206d6178696d756d206f66207468652074776f20697320757365642e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e003020232323205761726e696e670059012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f202a2a4e4f542a2a20706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865ac206c6f636b20616e64206b65657020736f6d6520666f722066757274686572206f7065726174696f6e732e002c2023203c7765696768743e550120576520617373756d6520746865206d6178696d756d2077656967687420616d6f6e6720616c6c20332063617365733a20766f74655f657175616c2c20766f74655f6d6f726520616e6420766f74655f6c6573732e302023203c2f7765696768743e3072656d6f76655f766f7465720014702052656d6f766520606f726967696e60206173206120766f7465722e00bc20546869732072656d6f76657320746865206c6f636b20616e642072657475726e7320746865206465706f7369742e00010120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420616e64206265206120766f7465722e407375626d69745f63616e646964616379043c63616e6469646174655f636f756e7430436f6d706163743c7533323e3c1501205375626d6974206f6e6573656c6620666f722063616e6469646163792e204120666978656420616d6f756e74206f66206465706f736974206973207265636f726465642e00610120416c6c2063616e64696461746573206172652077697065642061742074686520656e64206f6620746865207465726d2e205468657920656974686572206265636f6d652061206d656d6265722f72756e6e65722d75702cd0206f72206c65617665207468652073797374656d207768696c65207468656972206465706f73697420697320736c61736865642e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e003020232323205761726e696e67006101204576656e20696620612063616e64696461746520656e6473207570206265696e672061206d656d6265722c2074686579206d7573742063616c6c205b6043616c6c3a3a72656e6f756e63655f63616e646964616379605d5d0120746f20676574207468656972206465706f736974206261636b2e204c6f73696e67207468652073706f7420696e20616e20656c656374696f6e2077696c6c20616c77617973206c65616420746f206120736c6173682e002c2023203c7765696768743e0d0120546865206e756d626572206f662063757272656e742063616e64696461746573206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379042872656e6f756e63696e672852656e6f756e63696e674451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a004d01202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c20746865206465706f736974206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e6501202d20606f726967696e6020697320612063757272656e742072756e6e65722d75702e20496e207468697320636173652c20746865206465706f73697420697320756e72657365727665642c2072657475726e656420616e64902020206f726967696e2069732072656d6f76656420617320612072756e6e65722d75702e5901202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c20746865206465706f73697420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e550120202053696d696c617220746f205b6072656d6f76655f6d656d62657273605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c794d01202020757365642e20496620746865207072696d652069732072656e6f756e63696e672c207468656e206e6f207072696d652077696c6c20657869737420756e74696c20746865206e65787420726f756e642e00490120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642c20616e642068617665206f6e65206f66207468652061626f766520726f6c65732e002c2023203c7765696768743ee4205468652074797065206f662072656e6f756e63696e67206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e3472656d6f76655f6d656d626572080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653c6861735f7265706c6163656d656e7410626f6f6c385d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c61636573207468650101206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20656c656374696f6e20697320737461727465642e00bc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e550120496620776520686176652061207265706c6163656d656e742c20776520757365206120736d616c6c207765696768742e20456c73652c2073696e63652074686973206973206120726f6f742063616c6c20616e64d42077696c6c20676f20696e746f2070687261676d656e2c20776520617373756d652066756c6c20626c6f636b20666f72206e6f772e302023203c2f7765696768743e50636c65616e5f646566756e63745f766f74657273082c5f6e756d5f766f746572730c753332305f6e756d5f646566756e63740c75333228490120436c65616e20616c6c20766f746572732077686f2061726520646566756e63742028692e652e207468657920646f206e6f7420736572766520616e7920707572706f736520617420616c6c292e20546865b0206465706f736974206f66207468652072656d6f76656420766f74657273206172652072657475726e65642e000501205468697320697320616e20726f6f742066756e6374696f6e20746f2062652075736564206f6e6c7920666f7220636c65616e696e67207468652073746174652e00bc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e002c2023203c7765696768743e61012054686520746f74616c206e756d626572206f6620766f7465727320616e642074686f736520746861742061726520646566756e6374206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e011c1c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e1459012041206e6577207465726d2077697468205c5b6e65775f6d656d626572735c5d2e205468697320696e64696361746573207468617420656e6f7567682063616e64696461746573206578697374656420746f2072756e59012074686520656c656374696f6e2c206e6f74207468617420656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e6564490120666f72207468697320707572706f73652e204120604e65775465726d285c5b5c5d296020696e64696361746573207468617420736f6d652063616e6469646174657320676f7420746865697220626f6e64590120736c617368656420616e64206e6f6e65207765726520656c65637465642c207768696c73742060456d7074795465726d60206d65616e732074686174206e6f2063616e64696461746573206578697374656420746f3020626567696e20776974682e24456d7074795465726d00083501204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e205468697320697320646966666572656e742066726f6dcc20604e65775465726d285c5b5c5d29602e2053656520746865206465736372697074696f6e206f6620604e65775465726d602e34456c656374696f6e4572726f720004e820496e7465726e616c206572726f722068617070656e6564207768696c6520747279696e6720746f20706572666f726d20656c656374696f6e2e304d656d6265724b69636b656404244163636f756e7449640855012041205c5b6d656d6265725c5d20686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f72342060456d7074795465726d602e2452656e6f756e63656404244163636f756e744964049c20536f6d656f6e65206861732072656e6f756e6365642074686569722063616e6469646163792e4043616e646964617465536c617368656408244163636f756e7449641c42616c616e6365105d012041205c5b63616e6469646174655c5d2077617320736c6173686564206279205c5b616d6f756e745c5d2064756520746f206661696c696e6720746f206f627461696e20612073656174206173206d656d626572206f722c2072756e6e65722d75702e00e8204e6f74652074686174206f6c64206d656d6265727320616e642072756e6e6572732d75702061726520616c736f2063616e646964617465732e4453656174486f6c646572536c617368656408244163636f756e7449641c42616c616e63650459012041205c5b7365617420686f6c6465725c5d2077617320736c6173686564206279205c5b616d6f756e745c5d206279206265696e6720666f72636566756c6c792072656d6f7665642066726f6d20746865207365742e1c2050616c6c65744964384c6f636b4964656e74696669657220706872656c65637404d0204964656e74696669657220666f722074686520656c656374696f6e732d70687261676d656e2070616c6c65742773206c6f636b3443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d0300000000000000000004050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e38566f74696e67426f6e64426173653042616c616e63654f663c543e4000f0436de36a0100000000000000000010942042617365206465706f736974206173736f636961746564207769746820766f74696e672e00550120546869732073686f756c642062652073656e7369626c79206869676820746f2065636f6e6f6d6963616c6c7920656e73757265207468652070616c6c65742063616e6e6f742062652061747461636b656420627994206372656174696e67206120676967616e746963206e756d626572206f6620766f7465732e40566f74696e67426f6e64466163746f723042616c616e63654f663c543e400000cc7b9fae000000000000000000000411012054686520616d6f756e74206f6620626f6e642074686174206e65656420746f206265206c6f636b656420666f72206561636820766f746520283332206279746573292e38446573697265644d656d626572730c753332100d0000000470204e756d626572206f66206d656d6265727320746f20656c6563742e404465736972656452756e6e65727355700c75333210070000000478204e756d626572206f662072756e6e6572735f757020746f206b6565702e305465726d4475726174696f6e38543a3a426c6f636b4e756d62657210801303000c510120486f77206c6f6e6720656163682073656174206973206b6570742e205468697320646566696e657320746865206e65787420626c6f636b206e756d62657220617420776869636820616e20656c656374696f6e5d0120726f756e642077696c6c2068617070656e2e2049662073657420746f207a65726f2c206e6f20656c656374696f6e732061726520657665722074726967676572656420616e6420746865206d6f64756c652077696c6c5020626520696e2070617373697665206d6f64652e4430556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3852756e6e657255705375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e244e6f744d656d6265720438204e6f742061206d656d6265722e48496e76616c69645769746e6573734461746104e4205468652070726f766964656420636f756e74206f66206e756d626572206f662063616e6469646174657320697320696e636f72726563742e40496e76616c6964566f7465436f756e7404d0205468652070726f766964656420636f756e74206f66206e756d626572206f6620766f74657320697320696e636f72726563742e44496e76616c696452656e6f756e63696e67040101205468652072656e6f756e63696e67206f726967696e2070726573656e74656420612077726f6e67206052656e6f756e63696e676020706172616d657465722e48496e76616c69645265706c6163656d656e740401012050726564696374696f6e20726567617264696e67207265706c6163656d656e74206166746572206d656d6265722072656d6f76616c2069732077726f6e672e0e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970081c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000030543a3a4163636f756e744964040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e011c286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00a0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e74496414c02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a4204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e001101205072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b6579040c6e657730543a3a4163636f756e74496414d82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e002101205072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d65040c77686f30543a3a4163636f756e7449640cc02053657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d65000c982052656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e000834416c72656164794d656d626572044820416c72656164792061206d656d6265722e244e6f744d656d6265720438204e6f742061206d656d6265722e0f1c4772616e647061013c4772616e64706146696e616c6974791814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004001059012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66240d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e00110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e306e6f74655f7374616c6c6564081464656c617938543a3a426c6f636b4e756d6265726c626573745f66696e616c697a65645f626c6f636b5f6e756d62657238543a3a426c6f636b4e756d6265721c1d01204e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c69747920676164676574206861732901207374616c6c65642e20546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e672101206f6620746865206e6578742073657373696f6e2c20746f20626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e205468652064656c617915012073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d6520746861742074686520626c6f636b207369676e616c6c696e6720746865290120666f72636564206368616e67652077696c6c206e6f742062652072652d6f726765642028652e672e203130303020626c6f636b73292e20546865204752414e44504120766f7465727329012077696c6c20737461727420746865206e657720617574686f7269747920736574207573696e672074686520676976656e2066696e616c697a656420626c6f636b20617320626173652e5c204f6e6c792063616c6c61626c6520627920726f6f742e010c384e6577417574686f7269746965730434417574686f726974794c69737404d8204e657720617574686f726974792073657420686173206265656e206170706c6965642e205c5b617574686f726974795f7365745c5d1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e001c2c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e10205472656173757279012054726561737572790c3450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789c50726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100a8426f756e6465645665633c50726f706f73616c496e6465782c20543a3a4d6178417070726f76616c733e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e010c3470726f706f73655f7370656e64081476616c756560436f6d706163743c42616c616e63654f663c542c20493e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129b4202d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460ec202d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e7460302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e24fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129d0202d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d4202d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e285d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e50202d20436f6d706c65786974793a204f2831292e90202d20446252656164733a206050726f706f73616c73602c2060417070726f76616c73605c202d20446257726974653a2060417070726f76616c7360302023203c2f7765696768743e011c2050726f706f736564043450726f706f73616c496e6465780484204e65772070726f706f73616c2e205c5b70726f706f73616c5f696e6465785c5d205370656e64696e67041c42616c616e6365043d01205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e205c5b6275646765745f72656d61696e696e675c5d1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964041d0120536f6d652066756e64732068617665206265656e20616c6c6f63617465642e205c5b70726f706f73616c5f696e6465782c2061776172642c2062656e65666963696172795c5d2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504250120412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205c5b70726f706f73616c5f696e6465782c20736c61736865645c5d144275726e74041c42616c616e636504b020536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e205c5b6275726e5c5d20526f6c6c6f766572041c42616c616e6365083101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e54205c5b6275646765745f72656d61696e696e675c5d1c4465706f736974041c42616c616e636504b020536f6d652066756e64732068617665206265656e206465706f73697465642e205c5b6465706f7369745c5d143050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3c42616c616e63654f663c542c20493e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080700000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449642050616c6c657449642070792f7472737279041901205468652074726561737572792773206d6f64756c652069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e0c70496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e6465780494204e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c73048420546f6f206d616e7920617070726f76616c7320696e207468652071756575652e1124436f6e7472616374730124436f6e747261637473183c43757272656e745363686564756c6501002c5363686564756c653c543e450a000000000004000000000200000001000080000000100000000010000000010000200000001f060000d66a0200dd84030026180000bd1c0000430b000003170000ae2800009c000000dd69010063e00200300700000706000065070000b10500006e180000002800006905000072deae08f0070000dc070000710a00006a080000a507000096070000d1070000770900003e09000075090000d809000082090000bc090000120900003c09000072090000dc090000f7080000e108000062090000162000006b1d00002e2000002c1b0000fe080000000900000f090000a7090000f1090000ba090000bb09000065090000d8b82800000000009e9828000000000016902700000000004c705700000000004cc8270000000000e4bc270000000000e8d1270000000000a0685b0000000000484f2700000000009e7627000000000000f45100000000004cab120000000000184a700000000000140100000000000000cd460000000000fc02000000000000d0b570270000000013200000000000007821da3100000000e0200000000000009a120000000000000482b10900000000e03463000000000038d7900000000000de67d00700000000840900000000000006186e000000000016935d1200000000da02000000000000eaced408000000003a240e0200000000e705000000000000fc41d50a00000000d48e9309000000002d0f0000000000003a4225090000000047020000000000002303000000000000ba7c962300000000a5210000000000006d020000000000005403000000000000e50b00000000000026922400000000006110000000000000a4122600000000001d0d000000000000520e2200000000001a0600000000000020222200000000001a0600000000000044b13c000000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001062c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001062c436f6465486173683c543e4c5072656661625761736d4d6f64756c653c543e0004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010530543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e0004000ca82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e3444656c6574696f6e51756575650100505665633c44656c65746564436f6e74726163743e040010c8204576696374656420636f6e7472616374732074686174206177616974206368696c6420747269652064656c6574696f6e2e004901204368696c6420747269652064656c6574696f6e2069732061206865617679206f7065726174696f6e20646570656e64696e67206f6e2074686520616d6f756e74206f662073746f72616765206974656d7359012073746f72656420696e207361696420747269652e205468657265666f72652074686973206f7065726174696f6e20697320706572666f726d6564206c617a696c7920696e20606f6e5f696e697469616c697a65602e01143c7570646174655f7363686564756c6504207363686564756c652c5363686564756c653c543e18b4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e003d0120546865207363686564756c6527732076657273696f6e2063616e6e6f74206265206c657373207468616e207468652076657273696f6e206f66207468652073746f726564207363686564756c652e2d012049662061207363686564756c6520646f6573206e6f74206368616e67652074686520696e737472756374696f6e2077656967687473207468652076657273696f6e20646f6573206e6f743901206e65656420746f20626520696e637265617365642e205468657265666f726520776520616c6c6f772073746f72696e672061207363686564756c65207468617420686173207468652073616d656c2076657273696f6e206173207468652073746f726564206f6e652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e54696e7374616e74696174655f776974685f636f64651424656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e10636f64651c5665633c75383e10646174611c5665633c75383e1073616c741c5665633c75383e54350120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d2074686520737570706c6965642060636f646560206f7074696f6e616c6c79207472616e7366657272696e673820736f6d652062616c616e63652e000501205468697320697320746865206f6e6c792066756e6374696f6e20746861742063616e206465706c6f79206e657720636f646520746f2074686520636861696e2e0034202320506172616d6574657273006101202a2060656e646f776d656e74603a205468652062616c616e636520746f207472616e736665722066726f6d2074686520606f726967696e6020746f20746865206e65776c79206372656174656420636f6e74726163742e1901202a20606761735f6c696d6974603a2054686520676173206c696d697420656e666f72636564207768656e20657865637574696e672074686520636f6e7374727563746f722ed0202a2060636f6465603a2054686520636f6e747261637420636f646520746f206465706c6f7920696e207261772062797465732ef8202a206064617461603a2054686520696e707574206461746120746f207061737320746f2074686520636f6e747261637420636f6e7374727563746f722e3501202a206073616c74603a205573656420666f722074686520616464726573732064657269766174696f6e2e20536565205b6050616c6c65743a3a636f6e74726163745f61646472657373605d2e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a007501202d2054686520737570706c6965642060636f64656020697320696e737472756d656e7465642c206465706c6f7965642c20616e6420612060636f64655f6861736860206973206372656174656420666f72207468617420636f64652e5d01202d204966207468652060636f64655f686173686020616c726561647920657869737473206f6e2074686520636861696e2074686520756e6465726c79696e672060636f6465602077696c6c206265207368617265642e4d01202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e6465722c20636f64655f6861736820616e64207468652073616c742e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732ed4202d205468652060656e646f776d656e7460206973207472616e7366657272656420746f20746865206e6577206163636f756e742e4501202d2054686520606465706c6f79602066756e6374696f6e20697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e2c696e7374616e74696174651424656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e1073616c741c5665633c75383e14010120496e7374616e746961746573206120636f6e74726163742066726f6d20612070726576696f75736c79206465706c6f796564207761736d2062696e6172792e00390120546869732066756e6374696f6e206973206964656e746963616c20746f205b6053656c663a3a696e7374616e74696174655f776974685f636f6465605d2062757420776974686f7574207468654d0120636f6465206465706c6f796d656e7420737465702e20496e73746561642c207468652060636f64655f6861736860206f6620616e206f6e2d636861696e206465706c6f796564207761736d2062696e61727948206d75737420626520737570706c6965642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e244d0120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b39012070726f6475636572206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e004d0120496e2063617365206f662061207375636365737366756c206576696374696f6e206e6f20666565732061726520636861726765642066726f6d207468652073656e6465722e20486f77657665722c20746865490120726577617264206973206361707065642062792074686520746f74616c20616d6f756e74206f662072656e742074686174207761732070617965642062792074686520636f6e7472616374207768696c65382069742077617320616c6976652e00550120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c205b604572726f723a3a436f6e74726163744e6f74457669637461626c65605dec2069732072657475726e656420616e64207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e012030496e7374616e74696174656408244163636f756e744964244163636f756e74496404390120436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e205c5b6465706c6f7965722c20636f6e74726163745c5d1c4576696374656404244163636f756e74496404190120436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e205c5b636f6e74726163745c5d285465726d696e6174656408244163636f756e744964244163636f756e74496430e820436f6e747261637420686173206265656e207465726d696e6174656420776974686f7574206c656176696e67206120746f6d6273746f6e652e68205c5b636f6e74726163742c2062656e65666963696172795c5d0024202320506172616d7300c0202d2060636f6e7472616374603a2054686520636f6e7472616374207468617420776173207465726d696e617465642e3101202d206062656e6566696369617279603a20546865206163636f756e7420746861742072656365697665642074686520636f6e7472616374732072656d61696e696e672062616c616e63652e001c2023204e6f7465002d0120546865206f6e6c792077617920666f72206120636f6e747261637420746f2062652072656d6f76656420776974686f7574206120746f6d6273746f6e6520616e6420656d697474696e67ac2074686973206576656e742069732062792063616c6c696e6720607365616c5f7465726d696e617465602e20526573746f72656410244163636f756e744964244163636f756e74496410486173681c42616c616e636524bc20526573746f726174696f6e206f66206120636f6e747261637420686173206265656e207375636365737366756c2eb8205c5b726573746f7265722c20646573742c20636f64655f686173682c2072656e745f616c6c6f77616e63655c5d0024202320506172616d7300d0202d2060726573746f726572603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e74726163742ebc202d206064657374603a204163636f756e74204944206f662074686520726573746f72656420636f6e74726163742ecc202d2060636f64655f68617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163742ef4202d206072656e745f616c6c6f77616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e74726163742e28436f646553746f72656404104861736804f020436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e205c5b636f64655f686173685c5d3c5363686564756c6555706461746564040c75333218c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e30205c5b76657273696f6e5c5d0024202320506172616d7300d0202d206076657273696f6e603a205468652076657273696f6e206f6620746865206e65776c7920736574207363686564756c652e3c436f6e7472616374456d697474656408244163636f756e7449641c5665633c75383e20a0204120637573746f6d206576656e7420656d69747465642062792074686520636f6e74726163742e4c205c5b636f6e74726163742c20646174615c5d0024202320506172616d7300cc202d2060636f6e7472616374603a2054686520636f6e7472616374207468617420656d697474656420746865206576656e742e3101202d206064617461603a204461746120737570706c6965642062792074686520636f6e74726163742e204d657461646174612067656e65726174656420647572696e6720636f6e7472616374b82020202020202020202020636f6d70696c6174696f6e206973206e656564656420746f206465636f64652069742e2c436f646552656d6f76656404104861736810b0204120636f6465207769746820746865207370656369666965642068617368207761732072656d6f7665642e38205c5b636f64655f686173685c5d00550120546869732068617070656e73207768656e20746865206c61737420636f6e747261637420746861742075736573207468697320636f64652068617368207761732072656d6f766564206f7220657669637465642e304c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000f0e8857a9c0200000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e484465706f736974506572436f6e74726163743042616c616e63654f663c543e4000f0e8857a9c02000000000000000000202101205468652062616c616e636520657665727920636f6e7472616374206e6565647320746f206465706f73697420746f207374617920616c69766520696e646566696e6974656c792e005101205468697320697320646966666572656e742066726f6d20746865205b6053656c663a3a546f6d6273746f6e654465706f736974605d20626563617573652074686973206f6e6c79206e6565647320746f2062654501206465706f7369746564207768696c652074686520636f6e747261637420697320616c6976652e20436f73747320666f72206164646974696f6e616c2073746f726167652061726520616464656420746f402074686973206261736520636f73742e006d01205468697320697320612073696d706c652077617920746f20656e73757265207468617420636f6e747261637473207769746820656d7074792073746f72616765206576656e7475616c6c79206765742064656c657465642062797101206d616b696e67207468656d207061792072656e742e2054686973206372656174657320616e20696e63656e7469766520746f2072656d6f7665207468656d206561726c7920696e206f7264657220746f20736176652072656e742e544465706f73697450657253746f72616765427974653042616c616e63654f663c543e400060defb740500000000000000000000185501205468652062616c616e6365206120636f6e7472616374206e6565647320746f206465706f736974207065722073746f72616765206279746520746f207374617920616c69766520696e646566696e6974656c792e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e544465706f73697450657253746f726167654974656d3042616c616e63654f663c543e4000f0ab75a40d000000000000000000000c5501205468652062616c616e6365206120636f6e7472616374206e6565647320746f206465706f736974207065722073746f72616765206974656d20746f207374617920616c69766520696e646566696e6974656c792e00310120497420776f726b73207468652073616d65206173205b6053656c663a3a4465706f73697450657253746f7261676542797465605d2062757420666f722073746f72616765206974656d732e3052656e744672616374696f6e1c50657262696c6c1085040000140d0120546865206672616374696f6e206f6620746865206465706f73697420746861742073686f756c6420626520757365642061732072656e742070657220626c6f636b2e005101205768656e206120636f6e7472616374206861736e277420656e6f7567682062616c616e6365206465706f736974656420746f207374617920616c69766520696e646566696e6974656c79206974206e65656473450120746f207061792070657220626c6f636b20666f72207468652073746f7261676520697420636f6e73756d65732074686174206973206e6f7420636f766572656420627920746865206465706f7369742e590120546869732064657465726d696e657320686f77206869676820746869732072656e74207061796d656e742069732070657220626c6f636b2061732061206672616374696f6e206f6620746865206465706f7369742e3c5375726368617267655265776172643042616c616e63654f663c543e40005cb2ec22000000000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e204d617844657074680c753332102000000004dc20546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e304d617856616c756553697a650c753332100040000004010120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520616e64206576656e74207061796c6f616420696e2062797465732e4844656c6574696f6e517565756544657074680c75333210f000000004f420546865206d6178696d756d206e756d626572206f6620747269657320746861742063616e2062652071756575656420666f722064656c6574696f6e2e4c44656c6574696f6e5765696768744c696d6974185765696768742000d0ed902e000000044d0120546865206d6178696d756d20616d6f756e74206f662077656967687420746861742063616e20626520636f6e73756d65642070657220626c6f636b20666f72206c617a7920747269652072656d6f76616c2e2c4d6178436f646553697a650c75333210000002000c5d0120546865206d6178696d756d206c656e677468206f66206120636f6e747261637420636f646520696e2062797465732e2054686973206c696d6974206170706c69657320746f2074686520696e737472756d656e74656451012076657273696f6e206f662074686520636f64652e205468657265666f72652060696e7374616e74696174655f776974685f636f6465602063616e206661696c206576656e207768656e20737570706c79696e679c2061207761736d2062696e6172792062656c6f772074686973206d6178696d756d2073697a652e7458496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e204f75744f6647617304bc2054686520657865637574656420636f6e7472616374206578686175737465642069747320676173206c696d69742e504f7574707574427566666572546f6f536d616c6c04050120546865206f75747075742062756666657220737570706c69656420746f206120636f6e7472616374204150492063616c6c2077617320746f6f20736d616c6c2e6442656c6f7753756273697374656e63655468726573686f6c6410210120506572666f726d696e672074686520726571756573746564207472616e7366657220776f756c6420686176652062726f756768742074686520636f6e74726163742062656c6f773d01207468652073756273697374656e6365207468726573686f6c642e204e6f207472616e7366657220697320616c6c6f77656420746f20646f207468697320696e206f7264657220746f20616c6c6f77450120666f72206120746f6d6273746f6e6520746f20626520637265617465642e2055736520607365616c5f7465726d696e6174656020746f2072656d6f7665206120636f6e747261637420776974686f757470206c656176696e67206120746f6d6273746f6e6520626568696e642e504e6577436f6e74726163744e6f7446756e64656408390120546865206e65776c79206372656174656420636f6e74726163742069732062656c6f77207468652073756273697374656e6365207468726573686f6c6420616674657220657865637574696e6721012069747320636f6e74727563746f722e204e6f20636f6e7472616374732061726520616c6c6f77656420746f2065786973742062656c6f772074686174207468726573686f6c642e385472616e736665724661696c65640c250120506572666f726d696e672074686520726571756573746564207472616e73666572206661696c656420666f72206120726561736f6e206f726967696e6174696e6720696e2074686531012063686f73656e2063757272656e637920696d706c656d656e746174696f6e206f66207468652072756e74696d652e204d6f73742070726f6261626c79207468652062616c616e63652069738c20746f6f206c6f77206f72206c6f636b732061726520706c61636564206f6e2069742e4c4d617843616c6c44657074685265616368656408250120506572666f726d696e6720612063616c6c207761732064656e6965642062656361757365207468652063616c6c696e67206465707468207265616368656420746865206c696d697498206f6620776861742069732073706563696669656420696e20746865207363686564756c652e2c4e6f7443616c6c61626c650831012054686520636f6e74726163742074686174207761732063616c6c656420697320656974686572206e6f20636f6e747261637420617420616c6c20286120706c61696e206163636f756e74294c206f72206973206120746f6d6273746f6e652e30436f6465546f6f4c617267650841012054686520636f646520737570706c69656420746f2060696e7374616e74696174655f776974685f636f646560206578636565647320746865206c696d69742073706563696669656420696e20746865482063757272656e74207363686564756c652e30436f64654e6f74466f756e6404c8204e6f20636f646520636f756c6420626520666f756e642061742074686520737570706c69656420636f646520686173682e2c4f75744f66426f756e6473042901204120627566666572206f757473696465206f662073616e64626f78206d656d6f7279207761732070617373656420746f206120636f6e7472616374204150492066756e6374696f6e2e384465636f64696e674661696c6564042d0120496e7075742070617373656420746f206120636f6e7472616374204150492066756e6374696f6e206661696c656420746f206465636f646520617320657870656374656420747970652e3c436f6e747261637454726170706564048c20436f6e7472616374207472617070656420647572696e6720657865637574696f6e2e3456616c7565546f6f4c6172676504d0205468652073697a6520646566696e656420696e2060543a3a4d617856616c756553697a6560207761732065786365656465642e405265656e7472616e636544656e6965640c41012054686520616374696f6e20706572666f726d6564206973206e6f7420616c6c6f776564207768696c652074686520636f6e747261637420706572666f726d696e6720697420697320616c72656164793d01206f6e207468652063616c6c20737461636b2e2054686f736520616374696f6e732061726520636f6e74726163742073656c66206465737472756374696f6e20616e6420726573746f726174696f6e40206f66206120746f6d6273746f6e652e40496e707574416c72656164795265616404210120607365616c5f696e70757460207761732063616c6c65642074776963652066726f6d207468652073616d6520636f6e747261637420657865637574696f6e20636f6e746578742e5052616e646f6d5375626a656374546f6f4c6f6e6704dc20546865207375626a6563742070617373656420746f20607365616c5f72616e646f6d60206578636565647320746865206c696d69742e34546f6f4d616e79546f706963730421012054686520616d6f756e74206f6620746f706963732070617373656420746f20607365616c5f6465706f7369745f6576656e747360206578636565647320746865206c696d69742e3c4475706c6963617465546f706963730431012054686520746f706963732070617373656420746f20607365616c5f6465706f7369745f6576656e74736020636f6e7461696e73206174206c65617374206f6e65206475706c69636174652e404e6f436861696e457874656e73696f6e0c49012054686520636861696e20646f6573206e6f742070726f76696465206120636861696e20657874656e73696f6e2e2043616c6c696e672074686520636861696e20657874656e73696f6e20726573756c7473510120696e2074686973206572726f722e204e6f74652074686174207468697320757375616c6c79202073686f756c646e27742068617070656e206173206465706c6f79696e67207375636820636f6e747261637473342069732072656a65637465642e4444656c6574696f6e517565756546756c6c1405012052656d6f76616c206f66206120636f6e7472616374206661696c65642062656361757365207468652064656c6574696f6e2071756575652069732066756c6c2e00550120546869732063616e2068617070656e207768656e206569746865722063616c6c696e67205b6050616c6c65743a3a636c61696d5f737572636861726765605d206f7220607365616c5f7465726d696e617465602e5101205468652071756575652069732066696c6c65642062792064656c6574696e6720636f6e74726163747320616e6420656d7074696564206279206120666978656420616d6f756e74206561636820626c6f636b2e250120547279696e6720616761696e20647572696e6720616e6f7468657220626c6f636b20697320746865206f6e6c792077617920746f207265736f6c766520746869732069737375652e50436f6e74726163744e6f74457669637461626c65102d01204120636f6e747261637420636f756c64206e6f74206265206576696374656420626563617573652069742068617320656e6f7567682062616c616e636520746f207061792072656e742e00250120546869732063616e2062652072657475726e65642066726f6d205b6050616c6c65743a3a636c61696d5f737572636861726765605d20626563617573652074686520746172676574c420636f6e74726163742068617320656e6f7567682062616c616e636520746f2070617920666f72206974732072656e742e4053746f7261676545786861757374656410350120412073746f72616765206d6f64696669636174696f6e20657868617573746564207468652033326269742074797065207468617420686f6c6473207468652073746f726167652073697a652e00350120546869732063616e206569746865722068617070656e207768656e2074686520616363756d756c617465642073746f7261676520696e20627974657320697320746f6f206c61726765206f72ac207768656e206e756d626572206f662073746f72616765206974656d7320697320746f6f206c617267652e444475706c6963617465436f6e747261637404cc204120636f6e74726163742077697468207468652073616d65204163636f756e74496420616c7265616479206578697374732e12105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e0110107375646f041063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e547375646f5f756e636865636b65645f776569676874081063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e1c5f776569676874185765696768742839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e310120546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b4205375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292ed0202d2054686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c14537564696404384469737061746368526573756c74048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d284b65794368616e67656404244163636f756e74496404010120546865205c5b7375646f65725c5d206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e6504384469737061746368526573756c74048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e741320496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e6465783856616c696461746f7249643c543e0c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e6174757265242c2023203c7765696768743e4101202d20436f6d706c65786974793a20604f284b202b20452960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e290101202020616e642045206973206c656e677468206f6620606865617274626561742e6e6574776f726b5f73746174652e65787465726e616c5f61646472657373608c2020202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60b02020202d20604f284529603a206465636f64696e672f656e636f64696e67206f66206c656e677468206045603d01202d20446252656164733a2070616c6c65745f73657373696f6e206056616c696461746f7273602c2070616c6c65745f73657373696f6e206043757272656e74496e646578602c20604b657973602c5c202020605265636569766564486561727462656174736084202d2044625772697465733a206052656365697665644865617274626561747360302023203c2f7765696768743e010c444865617274626561745265636569766564042c417574686f7269747949640405012041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f72697479496460205c5b617574686f726974795f69645c5d1c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e043d012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265205c5b6f66666c696e655c5d2e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e1448417574686f72697479446973636f7665727900010000000015204f6666656e63657301204f6666656e636573101c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e4044656665727265644f6666656e6365730100645665633c44656665727265644f6666656e63654f663c543e3e0400086501204465666572726564207265706f72747320746861742068617665206265656e2072656a656374656420627920746865206f6666656e63652068616e646c657220616e64206e65656420746f206265207375626d6974746564442061742061206c617465722074696d652e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e63650c104b696e64384f706171756554696d65536c6f7410626f6f6c10550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e644d0120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e206c617374190120656c656d656e7420696e64696361746573206f6620746865206f6666656e636520776173206170706c69656420287472756529206f7220717565756564202866616c73652974205c5b6b696e642c2074696d65736c6f742c206170706c6965645c5d2e00001628486973746f726963616c0000000000176052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e010000000018204964656e7469747901204964656e7469747910284964656e746974794f6600010530543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e0004000c210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f6600010230543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e013c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e00010120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743e2901202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e64656420616e6420636f64652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f4c2d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2858202b205827202b2052296021012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e64656429e42020202d20776865726520605260206a756467656d656e74732d636f756e7420287265676973747261722d636f756e742d626f756e6465642984202d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e2501202d204f6e652073746f72616765206d75746174696f6e2028636f6465632d7265616420604f285827202b205229602c20636f6465632d777269746520604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e54902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e00b4202d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e002c2023203c7765696768743e34202d20604f2850202b20532960e82020202d20776865726520605060206f6c642d737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e732e18202d2044423ae02020202d206050202b2053602073746f72616765206d75746174696f6e732028636f64656320636f6d706c657869747920604f2831296029c02020202d204f6e652073746f7261676520726561642028636f64656320636f6d706c657869747920604f28502960292ec42020202d204f6e652073746f726167652077726974652028636f64656320636f6d706c657869747920604f28532960292ed42020202d204f6e652073746f726167652d6578697374732028604964656e746974794f663a3a636f6e7461696e735f6b657960292e302023203c2f7765696768743e38636c6561725f6964656e7469747900483d0120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e44202d20604f2852202b2053202b20582960d02020202d20776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e25012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e646564292e8c202d204f6e652062616c616e63652d756e72657365727665206f7065726174696f6e2ecc202d206032602073746f7261676520726561647320616e64206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65bc2053656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e30202d204f6e65206576656e74302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e341d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496434c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee4202d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647334ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00fc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e1c6164645f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106461746110446174611cb0204164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656e616d655f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651064617461104461746110d020416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656d6f76655f737562040c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651cc42052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e20717569745f7375620028902052656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b820746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564402073757065722d6964656e746974792e004901204e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d150120636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e01282c4964656e7469747953657404244163636f756e7449640411012041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e205c5b77686f5c5d3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e63650415012041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e205c5b77686f2c206465706f7369745c5d384964656e746974794b696c6c656408244163636f756e7449641c42616c616e6365040d012041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e205c5b77686f2c206465706f7369745c5d484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e6465780405012041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e205c5b77686f2c207265676973747261725f696e6465785c5d504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e64657804f02041206a756467656d656e74207265717565737420776173207265747261637465642e205c5b77686f2c207265676973747261725f696e6465785c5d384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e6465780409012041206a756467656d656e742077617320676976656e2062792061207265676973747261722e205c5b7461726765742c207265676973747261725f696e6465785c5d3852656769737472617241646465640438526567697374726172496e64657804ac204120726567697374726172207761732061646465642e205c5b7265676973747261725f696e6465785c5d405375624964656e7469747941646465640c244163636f756e744964244163636f756e7449641c42616c616e63650455012041207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e7469747952656d6f7665640c244163636f756e744964244163636f756e7449641c42616c616e6365080d012041207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e5c205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e746974795265766f6b65640c244163636f756e744964244163636f756e7449641c42616c616e6365081d012041207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d207468652901206d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e205c5b7375622c206d61696e2c206465706f7369745c5d183042617369634465706f7369743042616c616e63654f663c543e400080c6a47e8d0300000000000000000004d82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e746974792e304669656c644465706f7369743042616c616e63654f663c543e4000a031a95fe300000000000000000000042d012054686520616d6f756e742068656c64206f6e206465706f73697420706572206164646974696f6e616c206669656c6420666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f7369743042616c616e63654f663c543e400080f420e6b5000000000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637471012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c206265290120616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e74730c7533321064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e4c4d61784164646974696f6e616c4669656c64730c7533321064000000086501204d6178696d756d206e756d626572206f66206164646974696f6e616c206669656c64732074686174206d61792062652073746f72656420696e20616e2049442e204e656564656420746f20626f756e642074686520492f4fe020726571756972656420746f2061636365737320616e206964656e746974792c206275742063616e2062652070726574747920686967682e344d6178526567697374726172730c7533321014000000085101204d61786d696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e4048546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473047020546f6f206d616e79206164646974696f6e616c206669656c64732e44546f6f4d616e795265676973747261727304ec204d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d65640474204163636f756e7420494420697320616c7265616479206e616d65642e184e6f7453756204742053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564048c205375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e191c536f6369657479011c536f6369657479401c466f756e646572000030543a3a4163636f756e7449640400044820546865206669727374206d656d6265722e1452756c657300001c543a3a48617368040008510120412068617368206f66207468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e2043616e206f6e6c7920626520736574206f6e636520616e6454206f6e6c792062792074686520666f756e6465722e2843616e6469646174657301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e0400043901205468652063757272656e7420736574206f662063616e646964617465733b206269646465727320746861742061726520617474656d7074696e6720746f206265636f6d65206d656d626572732e4c53757370656e64656443616e6469646174657300010530543a3a4163636f756e744964e42842616c616e63654f663c542c20493e2c204269644b696e643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e2900040004842054686520736574206f662073757370656e6465642063616e646964617465732e0c506f7401003c42616c616e63654f663c542c20493e400000000000000000000000000000000004410120416d6f756e74206f66206f7572206163636f756e742062616c616e63652074686174206973207370656369666963616c6c7920666f7220746865206e65787420726f756e642773206269642873292e1048656164000030543a3a4163636f756e744964040004e820546865206d6f7374207072696d6172792066726f6d20746865206d6f737420726563656e746c7920617070726f766564206d656d626572732e1c4d656d626572730100445665633c543a3a4163636f756e7449643e04000494205468652063757272656e7420736574206f66206d656d626572732c206f7264657265642e4053757370656e6465644d656d6265727301010530543a3a4163636f756e74496410626f6f6c00040004782054686520736574206f662073757370656e646564206d656d626572732e104269647301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e040004e8205468652063757272656e7420626964732c2073746f726564206f726465726564206279207468652076616c7565206f6620746865206269642e20566f756368696e6700010530543a3a4163636f756e74496438566f756368696e6753746174757300040004e4204d656d626572732063757272656e746c7920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e1c5061796f75747301010530543a3a4163636f756e744964985665633c28543a3a426c6f636b4e756d6265722c2042616c616e63654f663c542c20493e293e000400044d012050656e64696e67207061796f7574733b206f72646572656420627920626c6f636b206e756d6265722c20776974682074686520616d6f756e7420746861742073686f756c642062652070616964206f75742e1c537472696b657301010530543a3a4163636f756e7449642c537472696b65436f756e7400100000000004dc20546865206f6e676f696e67206e756d626572206f66206c6f73696e6720766f746573206361737420627920746865206d656d6265722e14566f74657300020530543a3a4163636f756e74496430543a3a4163636f756e74496410566f746505040004d020446f75626c65206d61702066726f6d2043616e646964617465202d3e20566f746572202d3e20284d617962652920566f74652e20446566656e646572000030543a3a4163636f756e744964040004c42054686520646566656e64696e67206d656d6265722063757272656e746c79206265696e67206368616c6c656e6765642e34446566656e646572566f74657300010530543a3a4163636f756e74496410566f7465000400046020566f74657320666f722074686520646566656e6465722e284d61784d656d6265727301000c753332100000000004dc20546865206d6178206e756d626572206f66206d656d6265727320666f722074686520736f6369657479206174206f6e652074696d652e01300c626964041476616c75653c42616c616e63654f663c542c20493e84e020412075736572206f757473696465206f662074686520736f63696574792063616e206d616b6520612062696420666f7220656e7472792e003901205061796d656e743a206043616e6469646174654465706f736974602077696c6c20626520726573657276656420666f72206d616b696e672061206269642e2049742069732072657475726e6564f0207768656e2074686520626964206265636f6d65732061206d656d6265722c206f7220696620746865206269642063616c6c732060756e626964602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a5901202d206076616c7565603a2041206f6e652074696d65207061796d656e74207468652062696420776f756c64206c696b6520746f2072656365697665207768656e206a6f696e696e672074686520736f63696574792e002c2023203c7765696768743e5501204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520726573657276652944202d2053746f726167652052656164733aec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f284329c820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d2948202d2053746f72616765205772697465733a810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3a2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6820092d204f6e65206576656e7420666f72206e6577206269642efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e14756e626964040c706f730c7533324cd82041206269646465722063616e2072656d6f76652074686569722062696420666f7220656e74727920696e746f20736f63696574792e010120427920646f696e6720736f2c20746865792077696c6c20686176652074686569722063616e646964617465206465706f7369742072657475726e6564206f728420746865792077696c6c20756e766f75636820746865697220766f75636865722e00fc205061796d656e743a2054686520626964206465706f73697420697320756e7265736572766564206966207468652075736572206d6164652061206269642e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206269646465722e003020506172616d65746572733a1901202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2077616e747320746f20756e6269642e002c2023203c7765696768743eb0204b65793a204220286c656e206f662062696473292c2058202862616c616e636520756e72657365727665290d01202d204f6e652073746f72616765207265616420616e6420777269746520746f20726574726965766520616e64207570646174652074686520626964732e204f2842294501202d20456974686572206f6e6520756e726573657276652062616c616e636520616374696f6e204f285829206f72206f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2842202b205829302023203c2f7765696768743e14766f7563680c0c77686f30543a3a4163636f756e7449641476616c75653c42616c616e63654f663c542c20493e0c7469703c42616c616e63654f663c542c20493eb045012041732061206d656d6265722c20766f75636820666f7220736f6d656f6e6520746f206a6f696e20736f636965747920627920706c6163696e67206120626964206f6e20746865697220626568616c662e005501205468657265206973206e6f206465706f73697420726571756972656420746f20766f75636820666f722061206e6577206269642c206275742061206d656d6265722063616e206f6e6c7920766f75636820666f725d01206f6e652062696420617420612074696d652e2049662074686520626964206265636f6d657320612073757370656e6465642063616e64696461746520616e6420756c74696d6174656c792072656a65637465642062794101207468652073757370656e73696f6e206a756467656d656e74206f726967696e2c20746865206d656d6265722077696c6c2062652062616e6e65642066726f6d20766f756368696e6720616761696e2e005901204173206120766f756368696e67206d656d6265722c20796f752063616e20636c61696d206120746970206966207468652063616e6469646174652069732061636365707465642e2054686973207469702077696c6c51012062652070616964206173206120706f7274696f6e206f66207468652072657761726420746865206d656d6265722077696c6c207265636569766520666f72206a6f696e696e672074686520736f63696574792e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733acc202d206077686f603a2054686520757365722077686f20796f7520776f756c64206c696b6520746f20766f75636820666f722e5101202d206076616c7565603a2054686520746f74616c2072657761726420746f2062652070616964206265747765656e20796f7520616e64207468652063616e6469646174652069662074686579206265636f6d65642061206d656d62657220696e2074686520736f63696574792e4901202d2060746970603a20596f757220637574206f662074686520746f74616c206076616c756560207061796f7574207768656e207468652063616e64696461746520697320696e64756374656420696e746f15012074686520736f63696574792e2054697073206c6172676572207468616e206076616c7565602077696c6c206265207361747572617465642075706f6e207061796f75742e002c2023203c7765696768743e0101204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d626572732944202d2053746f726167652052656164733ac820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d29090120092d204f6e652073746f72616765207265616420746f20636865636b206d656d626572206973206e6f7420616c726561647920766f756368696e672e204f283129ec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f28432948202d2053746f72616765205772697465733a0d0120092d204f6e652073746f7261676520777269746520746f20696e7365727420766f756368696e672073746174757320746f20746865206d656d6265722e204f283129810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3ac020092d204f286c6f67204d292073656172636820746f20636865636b2073656e6465722069732061206d656d6265722e2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6020092d204f6e65206576656e7420666f7220766f7563682efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e1c756e766f756368040c706f730c753332442d01204173206120766f756368696e67206d656d6265722c20756e766f7563682061206269642e2054686973206f6e6c7920776f726b73207768696c6520766f7563686564207573657220697394206f6e6c792061206269646465722028616e64206e6f7420612063616e646964617465292e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206120766f756368696e67206d656d6265722e003020506172616d65746572733a2d01202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2073686f756c6420626520756e766f75636865642e002c2023203c7765696768743e54204b65793a204220286c656e206f662062696473290901202d204f6e652073746f726167652072656164204f28312920746f20636865636b20746865207369676e6572206973206120766f756368696e67206d656d6265722eec202d204f6e652073746f72616765206d757461746520746f20726574726965766520616e64207570646174652074686520626964732e204f28422994202d204f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f284229302023203c2f7765696768743e10766f7465082463616e6469646174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c617070726f766510626f6f6c4c882041732061206d656d6265722c20766f7465206f6e20612063616e6469646174652e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733a0d01202d206063616e646964617465603a205468652063616e646964617465207468617420746865206d656d62657220776f756c64206c696b6520746f20626964206f6e2ef4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265d82020202020202020202020202020617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743ebc204b65793a204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722e58202d204f6e65206163636f756e74206c6f6f6b75702e2d01202d204f6e652073746f726167652072656164204f28432920616e64204f2843292073656172636820746f20636865636b2074686174207573657220697320612063616e6469646174652ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204329302023203c2f7765696768743e34646566656e6465725f766f7465041c617070726f766510626f6f6c408c2041732061206d656d6265722c20766f7465206f6e2074686520646566656e6465722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733af4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265a420617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743e68202d204b65793a204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e007820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d29302023203c2f7765696768743e187061796f757400504501205472616e7366657220746865206669727374206d617475726564207061796f757420666f72207468652073656e64657220616e642072656d6f76652069742066726f6d20746865207265636f7264732e006901204e4f54453a20546869732065787472696e736963206e6565647320746f2062652063616c6c6564206d756c7469706c652074696d657320746f20636c61696d206d756c7469706c65206d617475726564207061796f7574732e002101205061796d656e743a20546865206d656d6265722077696c6c20726563656976652061207061796d656e7420657175616c20746f207468656972206669727374206d61747572656478207061796f757420746f20746865697220667265652062616c616e63652e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d62657220776974684c207061796f7574732072656d61696e696e672e002c2023203c7765696768743e1d01204b65793a204d20286c656e206f66206d656d62657273292c205020286e756d626572206f66207061796f75747320666f72206120706172746963756c6172206d656d626572292501202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b207369676e65722069732061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28502920746f2067657420616c6c207061796f75747320666f722061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28312920746f20676574207468652063757272656e7420626c6f636b206e756d6265722e8c202d204f6e652063757272656e6379207472616e736665722063616c6c2e204f2858291101202d204f6e652073746f72616765207772697465206f722072656d6f76616c20746f2075706461746520746865206d656d6265722773207061796f7574732e204f285029009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2050202b205829302023203c2f7765696768743e14666f756e640c1c666f756e64657230543a3a4163636f756e7449642c6d61785f6d656d626572730c7533321472756c65731c5665633c75383e4c4c20466f756e642074686520736f63696574792e00f0205468697320697320646f6e65206173206120646973637265746520616374696f6e20696e206f7264657220746f20616c6c6f7720666f72207468651901206d6f64756c6520746f20626520696e636c7564656420696e746f20612072756e6e696e6720636861696e20616e642063616e206f6e6c7920626520646f6e65206f6e63652e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f466f756e6465725365744f726967696e5f2e003020506172616d65746572733a1901202d2060666f756e64657260202d20546865206669727374206d656d62657220616e642068656164206f6620746865206e65776c7920666f756e64656420736f63696574792e1501202d20606d61785f6d656d6265727360202d2054686520696e697469616c206d6178206e756d626572206f66206d656d6265727320666f722074686520736f63696574792ef4202d206072756c657360202d205468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e002c2023203c7765696768743ee0202d2054776f2073746f72616765206d75746174657320746f207365742060486561646020616e642060466f756e646572602e204f283129f4202d204f6e652073746f7261676520777269746520746f2061646420746865206669727374206d656d62657220746f20736f63696574792e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e1c756e666f756e6400348c20416e6e756c2074686520666f756e64696e67206f662074686520736f63696574792e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205369676e65642c20616e6420746865207369676e696e67206163636f756e74206d75737420626520626f74685901207468652060466f756e6465726020616e6420746865206048656164602e205468697320696d706c6965732074686174206974206d6179206f6e6c7920626520646f6e65207768656e207468657265206973206f6e6520206d656d6265722e002c2023203c7765696768743e68202d2054776f2073746f72616765207265616473204f2831292e78202d20466f75722073746f726167652072656d6f76616c73204f2831292e34202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e586a756467655f73757370656e6465645f6d656d626572080c77686f30543a3a4163636f756e7449641c666f726769766510626f6f6c6c2d0120416c6c6f772073757370656e73696f6e206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e646564206d656d6265722e00590120496620612073757370656e646564206d656d62657220697320666f72676976656e2c2077652073696d706c7920616464207468656d206261636b2061732061206d656d6265722c206e6f7420616666656374696e67cc20616e79206f6620746865206578697374696e672073746f72616765206974656d7320666f722074686174206d656d6265722e00490120496620612073757370656e646564206d656d6265722069732072656a65637465642c2072656d6f766520616c6c206173736f6369617465642073746f72616765206974656d732c20696e636c7564696e670101207468656972207061796f7574732c20616e642072656d6f766520616e7920766f7563686564206269647320746865792063757272656e746c7920686176652e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ab4202d206077686f60202d205468652073757370656e646564206d656d62657220746f206265206a75646765642e3501202d2060666f726769766560202d204120626f6f6c65616e20726570726573656e74696e672077686574686572207468652073757370656e73696f6e206a756467656d656e74206f726967696e2501202020202020202020202020202020666f726769766573202860747275656029206f722072656a6563747320286066616c7365602920612073757370656e646564206d656d6265722e002c2023203c7765696768743ea4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d6265727329f8202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e646564206d656d6265722e204f2831297101202d20557020746f206f6e652073746f72616765207772697465204f284d292077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d626572206261636b20746f20736f63696574792ef8202d20557020746f20332073746f726167652072656d6f76616c73204f28312920746f20636c65616e20757020612072656d6f766564206d656d6265722e4501202d20557020746f206f6e652073746f72616765207772697465204f2842292077697468204f2842292073656172636820746f2072656d6f766520766f7563686564206269642066726f6d20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e70202d204f6e652073746f726167652072656d6f76616c2e204f2831297c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204229302023203c2f7765696768743e646a756467655f73757370656e6465645f63616e646964617465080c77686f30543a3a4163636f756e744964246a756467656d656e74244a756467656d656e74a0350120416c6c6f772073757370656e646564206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e6465642063616e6469646174652e005d0120496620746865206a756467656d656e742069732060417070726f7665602c20776520616464207468656d20746f20736f63696574792061732061206d656d62657220776974682074686520617070726f70726961746574207061796d656e7420666f72206a6f696e696e6720736f63696574792e00550120496620746865206a756467656d656e74206973206052656a656374602c2077652065697468657220736c61736820746865206465706f736974206f6620746865206269642c20676976696e67206974206261636b110120746f2074686520736f63696574792074726561737572792c206f722077652062616e2074686520766f75636865722066726f6d20766f756368696e6720616761696e2e005d0120496620746865206a756467656d656e7420697320605265626964602c20776520707574207468652063616e646964617465206261636b20696e207468652062696420706f6f6c20616e64206c6574207468656d20676f94207468726f7567682074686520696e64756374696f6e2070726f6365737320616761696e2e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ac0202d206077686f60202d205468652073757370656e6465642063616e64696461746520746f206265206a75646765642ec4202d20606a756467656d656e7460202d2060417070726f7665602c206052656a656374602c206f7220605265626964602e002c2023203c7765696768743ef4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520616374696f6e29f0202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e6465642063616e6469646174652ec8202d204f6e652073746f726167652072656d6f76616c206f66207468652073757370656e6465642063616e6469646174652e40202d20417070726f7665204c6f676963150120092d204f6e652073746f72616765207265616420746f206765742074686520617661696c61626c6520706f7420746f2070617920757365727320776974682e204f283129dc20092d204f6e652073746f7261676520777269746520746f207570646174652074686520617661696c61626c6520706f742e204f283129e820092d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f283129b420092d204f6e652073746f72616765207265616420746f2067657420616c6c206d656d626572732e204f284d29a020092d20557020746f206f6e6520756e726573657276652063757272656e637920616374696f6e2eb020092d20557020746f2074776f206e65772073746f726167652077726974657320746f207061796f7574732e4d0120092d20557020746f206f6e652073746f726167652077726974652077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d62657220746f20736f63696574792e3c202d2052656a656374204c6f676963dc20092d20557020746f206f6e6520726570617472696174652072657365727665642063757272656e637920616374696f6e2e204f2858292d0120092d20557020746f206f6e652073746f7261676520777269746520746f2062616e2074686520766f756368696e67206d656d6265722066726f6d20766f756368696e6720616761696e2e38202d205265626964204c6f676963410120092d2053746f72616765206d75746174652077697468204f286c6f672042292062696e6172792073656172636820746f20706c616365207468652075736572206261636b20696e746f20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e5c202d204f6e652073746f726167652072656d6f76616c2e7c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2042202b205829302023203c2f7765696768743e3c7365745f6d61785f6d656d62657273040c6d61780c753332381d0120416c6c6f777320726f6f74206f726967696e20746f206368616e676520746865206d6178696d756d206e756d626572206f66206d656d6265727320696e20736f63696574792eb4204d6178206d656d6265727368697020636f756e74206d7573742062652067726561746572207468616e20312e00dc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d205f524f4f545f2e003020506172616d65746572733ae4202d20606d617860202d20546865206d6178696d756d206e756d626572206f66206d656d6265727320666f722074686520736f63696574792e002c2023203c7765696768743eb0202d204f6e652073746f7261676520777269746520746f2075706461746520746865206d61782e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e01401c466f756e64656404244163636f756e74496404e82054686520736f636965747920697320666f756e6465642062792074686520676976656e206964656e746974792e205c5b666f756e6465725c5d0c42696408244163636f756e7449641c42616c616e63650861012041206d656d6265727368697020626964206a7573742068617070656e65642e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e64207468656972206f666665729c20697320746865207365636f6e642e205c5b63616e6469646174655f69642c206f666665725c5d14566f7563680c244163636f756e7449641c42616c616e6365244163636f756e7449640861012041206d656d6265727368697020626964206a7573742068617070656e656420627920766f756368696e672e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e647901207468656972206f6666657220697320746865207365636f6e642e2054686520766f756368696e67207061727479206973207468652074686972642e205c5b63616e6469646174655f69642c206f666665722c20766f756368696e675c5d244175746f556e62696404244163636f756e7449640419012041205c5b63616e6469646174655c5d207761732064726f70706564202864756520746f20616e20657863657373206f66206269647320696e207468652073797374656d292e14556e62696404244163636f756e74496404c02041205c5b63616e6469646174655c5d207761732064726f70706564202862792074686569722072657175657374292e1c556e766f75636804244163636f756e7449640409012041205c5b63616e6469646174655c5d207761732064726f70706564202862792072657175657374206f662077686f20766f756368656420666f72207468656d292e20496e64756374656408244163636f756e744964385665633c4163636f756e7449643e08590120412067726f7570206f662063616e646964617465732068617665206265656e20696e6475637465642e205468652062617463682773207072696d617279206973207468652066697273742076616c75652c20746865d420626174636820696e2066756c6c20697320746865207365636f6e642e205c5b7072696d6172792c2063616e646964617465735c5d6053757370656e6465644d656d6265724a756467656d656e7408244163636f756e74496410626f6f6c04d020412073757370656e646564206d656d62657220686173206265656e206a75646765642e205c5b77686f2c206a75646765645c5d4843616e64696461746553757370656e64656404244163636f756e744964048c2041205c5b63616e6469646174655c5d20686173206265656e2073757370656e6465643c4d656d62657253757370656e64656404244163636f756e74496404802041205c5b6d656d6265725c5d20686173206265656e2073757370656e646564284368616c6c656e67656404244163636f756e74496404842041205c5b6d656d6265725c5d20686173206265656e206368616c6c656e67656410566f74650c244163636f756e744964244163636f756e74496410626f6f6c04c8204120766f746520686173206265656e20706c61636564205c5b63616e6469646174652c20766f7465722c20766f74655c5d30446566656e646572566f746508244163636f756e74496410626f6f6c04f8204120766f746520686173206265656e20706c6163656420666f72206120646566656e64696e67206d656d626572205c5b766f7465722c20766f74655c5d344e65774d61784d656d62657273040c75333204a02041206e6577205c5b6d61785c5d206d656d62657220636f756e7420686173206265656e2073657424556e666f756e64656404244163636f756e744964048820536f636965747920697320756e666f756e6465642e205c5b666f756e6465725c5d1c4465706f736974041c42616c616e636504f820536f6d652066756e64732077657265206465706f736974656420696e746f2074686520736f6369657479206163636f756e742e205c5b76616c75655c5d204043616e6469646174654465706f7369743c42616c616e63654f663c542c20493e400080c6a47e8d0300000000000000000004fc20546865206d696e696d756d20616d6f756e74206f662061206465706f73697420726571756972656420666f7220612062696420746f206265206d6164652e4857726f6e6753696465446564756374696f6e3c42616c616e63654f663c542c20493e400080f420e6b5000000000000000000000855012054686520616d6f756e74206f662074686520756e70616964207265776172642074686174206765747320646564756374656420696e207468652063617365207468617420656974686572206120736b6570746963c020646f65736e277420766f7465206f7220736f6d656f6e6520766f74657320696e207468652077726f6e67207761792e284d6178537472696b65730c753332100a00000008750120546865206e756d626572206f662074696d65732061206d656d626572206d617920766f7465207468652077726f6e672077617920286f72206e6f7420617420616c6c2c207768656e207468657920617265206120736b65707469632978206265666f72652074686579206265636f6d652073757370656e6465642e2c506572696f645370656e643c42616c616e63654f663c542c20493e400000c52ebca2b1000000000000000000042d012054686520616d6f756e74206f6620696e63656e7469766520706169642077697468696e206561636820706572696f642e20446f65736e277420696e636c75646520566f7465725469702e38526f746174696f6e506572696f6438543a3a426c6f636b4e756d626572100077010004110120546865206e756d626572206f6620626c6f636b73206265747765656e2063616e6469646174652f6d656d6265727368697020726f746174696f6e20706572696f64732e3c4368616c6c656e6765506572696f6438543a3a426c6f636b4e756d626572108013030004d020546865206e756d626572206f6620626c6f636b73206265747765656e206d656d62657273686970206368616c6c656e6765732e2050616c6c657449642050616c6c657449642070792f736f63696504682054686520736f636965746965732773206d6f64756c65206964484d617843616e646964617465496e74616b650c753332100a0000000490204d6178696d756d2063616e64696461746520696e74616b652070657220726f756e642e482c426164506f736974696f6e049020416e20696e636f727265637420706f736974696f6e207761732070726f76696465642e244e6f744d656d62657204582055736572206973206e6f742061206d656d6265722e34416c72656164794d656d6265720468205573657220697320616c72656164792061206d656d6265722e2453757370656e646564044c20557365722069732073757370656e6465642e304e6f7453757370656e646564045c2055736572206973206e6f742073757370656e6465642e204e6f5061796f7574044c204e6f7468696e6720746f207061796f75742e38416c7265616479466f756e646564046420536f636965747920616c726561647920666f756e6465642e3c496e73756666696369656e74506f74049c204e6f7420656e6f75676820696e20706f7420746f206163636570742063616e6469646174652e3c416c7265616479566f756368696e6704e8204d656d62657220697320616c726561647920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e2e2c4e6f74566f756368696e670460204d656d626572206973206e6f7420766f756368696e672e104865616404942043616e6e6f742072656d6f7665207468652068656164206f662074686520636861696e2e1c466f756e646572046c2043616e6e6f742072656d6f76652074686520666f756e6465722e28416c7265616479426964047420557365722068617320616c7265616479206d6164652061206269642e40416c726561647943616e6469646174650474205573657220697320616c726561647920612063616e6469646174652e304e6f7443616e64696461746504642055736572206973206e6f7420612063616e6469646174652e284d61784d656d62657273048420546f6f206d616e79206d656d6265727320696e2074686520736f63696574792e284e6f74466f756e646572047c205468652063616c6c6572206973206e6f742074686520666f756e6465722e1c4e6f74486561640470205468652063616c6c6572206973206e6f742074686520686561642e1a205265636f7665727901205265636f766572790c2c5265636f76657261626c6500010530543a3a4163636f756e744964e85265636f76657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e0004000409012054686520736574206f66207265636f76657261626c65206163636f756e747320616e64207468656972207265636f7665727920636f6e66696775726174696f6e2e404163746976655265636f76657269657300020530543a3a4163636f756e74496430543a3a4163636f756e744964e84163746976655265636f766572793c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e050400106820416374697665207265636f7665727920617474656d7074732e001501204669727374206163636f756e7420697320746865206163636f756e7420746f206265207265636f76657265642c20616e6420746865207365636f6e64206163636f756e74ac20697320746865207573657220747279696e6720746f207265636f76657220746865206163636f756e742e1450726f787900010230543a3a4163636f756e74496430543a3a4163636f756e7449640004000c9020546865206c697374206f6620616c6c6f7765642070726f7879206163636f756e74732e00f8204d61702066726f6d2074686520757365722077686f2063616e2061636365737320697420746f20746865207265636f7665726564206163636f756e742e01243061735f7265636f7665726564081c6163636f756e7430543a3a4163636f756e7449641063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e34a42053656e6420612063616c6c207468726f7567682061207265636f7665726564206163636f756e742e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a2501202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f752077616e7420746f206d616b6520612063616c6c206f6e2d626568616c662d6f662e0101202d206063616c6c603a205468652063616c6c20796f752077616e7420746f206d616b65207769746820746865207265636f7665726564206163636f756e742e002c2023203c7765696768743e94202d2054686520776569676874206f6620746865206063616c6c60202b2031302c3030302e0901202d204f6e652073746f72616765206c6f6f6b757020746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e347365745f7265636f766572656408106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e744964341d0120416c6c6f7720524f4f5420746f2062797061737320746865207265636f766572792070726f6365737320616e642073657420616e20612072657363756572206163636f756e747420666f722061206c6f7374206163636f756e74206469726563746c792e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f524f4f545f2e003020506172616d65746572733ab8202d20606c6f7374603a2054686520226c6f7374206163636f756e742220746f206265207265636f76657265642e1d01202d206072657363756572603a20546865202272657363756572206163636f756e74222077686963682063616e2063616c6c20617320746865206c6f7374206163636f756e742e002c2023203c7765696768743e64202d204f6e652073746f72616765207772697465204f28312930202d204f6e65206576656e74302023203c2f7765696768743e3c6372656174655f7265636f766572790c1c667269656e6473445665633c543a3a4163636f756e7449643e247468726573686f6c640c7531363064656c61795f706572696f6438543a3a426c6f636b4e756d6265726c5d01204372656174652061207265636f7665727920636f6e66696775726174696f6e20666f7220796f7572206163636f756e742e2054686973206d616b657320796f7572206163636f756e74207265636f76657261626c652e003101205061796d656e743a2060436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732062616c616e636549012077696c6c20626520726573657276656420666f722073746f72696e6720746865207265636f7665727920636f6e66696775726174696f6e2e2054686973206465706f7369742069732072657475726e6564bc20696e2066756c6c207768656e2074686520757365722063616c6c73206072656d6f76655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2501202d2060667269656e6473603a2041206c697374206f6620667269656e647320796f7520747275737420746f20766f75636820666f72207265636f7665727920617474656d7074732ed420202053686f756c64206265206f72646572656420616e6420636f6e7461696e206e6f206475706c69636174652076616c7565732e3101202d20607468726573686f6c64603a20546865206e756d626572206f6620667269656e64732074686174206d75737420766f75636820666f722061207265636f7665727920617474656d70741d012020206265666f726520746865206163636f756e742063616e206265207265636f76657265642e2053686f756c64206265206c657373207468616e206f7220657175616c20746f94202020746865206c656e677468206f6620746865206c697374206f6620667269656e64732e3d01202d206064656c61795f706572696f64603a20546865206e756d626572206f6620626c6f636b732061667465722061207265636f7665727920617474656d707420697320696e697469616c697a6564e820202074686174206e6565647320746f2070617373206265666f726520746865206163636f756e742063616e206265207265636f76657265642e002c2023203c7765696768743e68202d204b65793a204620286c656e206f6620667269656e6473292d01202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973206e6f7420616c7265616479207265636f76657261626c652e204f2831292eec202d204120636865636b20746861742074686520667269656e6473206c69737420697320736f7274656420616e6420756e697175652e204f2846299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f2858299c202d204f6e652073746f726167652077726974652e204f2831292e20436f646563204f2846292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e44696e6974696174655f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496458ec20496e697469617465207468652070726f6365737320666f72207265636f766572696e672061207265636f76657261626c65206163636f756e742e001d01205061796d656e743a20605265636f766572794465706f736974602062616c616e63652077696c6c20626520726573657276656420666f7220696e6974696174696e67207468652501207265636f766572792070726f636573732e2054686973206465706f7369742077696c6c20616c7761797320626520726570617472696174656420746f20746865206163636f756e74b820747279696e6720746f206265207265636f76657265642e205365652060636c6f73655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e2054686973206163636f756e7401012020206e6565647320746f206265207265636f76657261626c652028692e652e20686176652061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743ef8202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973207265636f76657261626c652e204f2846295101202d204f6e652073746f72616765207265616420746f20636865636b20746861742074686973207265636f766572792070726f63657373206861736e277420616c726561647920737461727465642e204f2831299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f285829e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831296c202d204f6e652073746f726167652077726974652e204f2831292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e38766f7563685f7265636f7665727908106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e74496464290120416c6c6f7720612022667269656e6422206f662061207265636f76657261626c65206163636f756e7420746f20766f75636820666f7220616e20616374697665207265636f76657279682070726f6365737320666f722074686174206163636f756e742e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d75737420626520612022667269656e64227420666f7220746865207265636f76657261626c65206163636f756e742e003020506172616d65746572733ad4202d20606c6f7374603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f2072657363756520746865206c6f7374206163636f756e74207468617420796f755420202077616e7420746f20766f75636820666f722e0025012054686520636f6d62696e6174696f6e206f662074686573652074776f20706172616d6574657273206d75737420706f696e7420746f20616e20616374697665207265636f76657279242070726f636573732e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629ec202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c6572206973206120667269656e642e204f286c6f6746291d01202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c657220686173206e6f7420616c726561647920766f75636865642e204f286c6f6756299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e00a420546f74616c20436f6d706c65786974793a204f2846202b206c6f6746202b2056202b206c6f675629302023203c2f7765696768743e38636c61696d5f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496450f420416c6c6f772061207375636365737366756c207265736375657220746f20636c61696d207468656972207265636f7665726564206163636f756e742e002d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061202272657363756572221d012077686f20686173207375636365737366756c6c7920636f6d706c6574656420746865206163636f756e74207265636f766572792070726f636573733a20636f6c6c6563746564310120607468726573686f6c6460206f72206d6f726520766f75636865732c20776169746564206064656c61795f706572696f646020626c6f636b732073696e636520696e6974696174696f6e2e003020506172616d65746572733a2d01202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f20636c61696d20686173206265656e207375636365737366756c6c79502020207265636f766572656420627920796f752e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205629302023203c2f7765696768743e38636c6f73655f7265636f76657279041c7265736375657230543a3a4163636f756e7449645015012041732074686520636f6e74726f6c6c6572206f662061207265636f76657261626c65206163636f756e742c20636c6f736520616e20616374697665207265636f76657279682070726f6365737320666f7220796f7572206163636f756e742e002101205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e2c20746865207265636f76657261626c65206163636f756e742077696c6c2072656365697665f820746865207265636f76657279206465706f73697420605265636f766572794465706f7369746020706c616365642062792074686520726573637565722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061f0207265636f76657261626c65206163636f756e74207769746820616e20616374697665207265636f766572792070726f6365737320666f722069742e003020506172616d65746572733a1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f207265736375652074686973207265636f76657261626c65206163636f756e742e002c2023203c7765696768743e84204b65793a205620286c656e206f6620766f756368696e6720667269656e6473293d01202d204f6e652073746f7261676520726561642f72656d6f766520746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629c0202d204f6e652062616c616e63652063616c6c20746f20726570617472696174652072657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2856202b205829302023203c2f7765696768743e3c72656d6f76655f7265636f7665727900545d012052656d6f766520746865207265636f766572792070726f6365737320666f7220796f7572206163636f756e742e205265636f7665726564206163636f756e747320617265207374696c6c2061636365737369626c652e001501204e4f54453a205468652075736572206d757374206d616b65207375726520746f2063616c6c2060636c6f73655f7265636f7665727960206f6e20616c6c206163746976650901207265636f7665727920617474656d707473206265666f72652063616c6c696e6720746869732066756e6374696f6e20656c73652069742077696c6c206661696c2e002501205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e20746865207265636f76657261626c65206163636f756e742077696c6c20756e7265736572766598207468656972207265636f7665727920636f6e66696775726174696f6e206465706f7369742ef4202860436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732900050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061e4207265636f76657261626c65206163636f756e742028692e652e206861732061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743e60204b65793a204620286c656e206f6620667269656e6473292901202d204f6e652073746f72616765207265616420746f206765742074686520707265666978206974657261746f7220666f7220616374697665207265636f7665726965732e204f2831293901202d204f6e652073746f7261676520726561642f72656d6f766520746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846299c202d204f6e652062616c616e63652063616c6c20746f20756e72657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e4063616e63656c5f7265636f7665726564041c6163636f756e7430543a3a4163636f756e7449642ce02043616e63656c20746865206162696c69747920746f20757365206061735f7265636f76657265646020666f7220606163636f756e74602e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a1901202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f75206172652061626c6520746f2063616c6c206f6e2d626568616c662d6f662e002c2023203c7765696768743e1101202d204f6e652073746f72616765206d75746174696f6e20746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e01183c5265636f766572794372656174656404244163636f756e74496404dc2041207265636f766572792070726f6365737320686173206265656e2073657420757020666f7220616e205c5b6163636f756e745c5d2e445265636f76657279496e6974696174656408244163636f756e744964244163636f756e744964082d012041207265636f766572792070726f6365737320686173206265656e20696e6974696174656420666f72206c6f7374206163636f756e742062792072657363756572206163636f756e742e48205c5b6c6f73742c20726573637565725c5d3c5265636f76657279566f75636865640c244163636f756e744964244163636f756e744964244163636f756e744964085d012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20766f756368656420666f722062792073656e6465722e68205c5b6c6f73742c20726573637565722c2073656e6465725c5d385265636f76657279436c6f73656408244163636f756e744964244163636f756e7449640821012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20636c6f7365642e48205c5b6c6f73742c20726573637565725c5d404163636f756e745265636f766572656408244163636f756e744964244163636f756e744964080501204c6f7374206163636f756e7420686173206265656e207375636365737366756c6c79207265636f76657265642062792072657363756572206163636f756e742e48205c5b6c6f73742c20726573637565725c5d3c5265636f7665727952656d6f76656404244163636f756e74496404e02041207265636f766572792070726f6365737320686173206265656e2072656d6f76656420666f7220616e205c5b6163636f756e745c5d2e1044436f6e6669674465706f736974426173653042616c616e63654f663c543e4000406352bfc60100000000000000000004550120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e4c467269656e644465706f736974466163746f723042616c616e63654f663c543e4000203d88792d000000000000000000000469012054686520616d6f756e74206f662063757272656e6379206e656564656420706572206164646974696f6e616c2075736572207768656e206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e284d6178467269656e64730c753136080900040d0120546865206d6178696d756d20616d6f756e74206f6620667269656e647320616c6c6f77656420696e2061207265636f7665727920636f6e66696775726174696f6e2e3c5265636f766572794465706f7369743042616c616e63654f663c543e4000406352bfc601000000000000000000041d0120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72207374617274696e672061207265636f766572792e44284e6f74416c6c6f77656404f42055736572206973206e6f7420616c6c6f77656420746f206d616b6520612063616c6c206f6e20626568616c66206f662074686973206163636f756e74345a65726f5468726573686f6c640490205468726573686f6c64206d7573742062652067726561746572207468616e207a65726f404e6f74456e6f756768467269656e647304d420467269656e6473206c697374206d7573742062652067726561746572207468616e207a65726f20616e64207468726573686f6c64284d6178467269656e647304ac20467269656e6473206c697374206d757374206265206c657373207468616e206d617820667269656e6473244e6f74536f7274656404cc20467269656e6473206c697374206d75737420626520736f7274656420616e642066726565206f66206475706c696361746573384e6f745265636f76657261626c6504a02054686973206163636f756e74206973206e6f742073657420757020666f72207265636f7665727948416c72656164795265636f76657261626c6504b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f7665727938416c72656164795374617274656404e02041207265636f766572792070726f636573732068617320616c7265616479207374617274656420666f722074686973206163636f756e74284e6f745374617274656404d02041207265636f766572792070726f6365737320686173206e6f74207374617274656420666f7220746869732072657363756572244e6f74467269656e6404ac2054686973206163636f756e74206973206e6f74206120667269656e642077686f2063616e20766f7563682c44656c6179506572696f64041d012054686520667269656e64206d757374207761697420756e74696c207468652064656c617920706572696f6420746f20766f75636820666f722074686973207265636f7665727938416c7265616479566f756368656404c0205468697320757365722068617320616c726561647920766f756368656420666f722074686973207265636f76657279245468726573686f6c6404ec20546865207468726573686f6c6420666f72207265636f766572696e672074686973206163636f756e7420686173206e6f74206265656e206d65742c5374696c6c41637469766504010120546865726520617265207374696c6c20616374697665207265636f7665727920617474656d7074732074686174206e65656420746f20626520636c6f736564204f766572666c6f77049c2054686572652077617320616e206f766572666c6f7720696e20612063616c63756c6174696f6e30416c726561647950726f787904b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f76657279204261645374617465047c20536f6d6520696e7465726e616c2073746174652069732062726f6b656e2e1b1c56657374696e67011c56657374696e67041c56657374696e6700010230543a3a4163636f756e744964a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e011010766573740034bc20556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c68206c6f636b656420756e64657220746869732070616c6c65742e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20322052656164732c203220577269746573fc20202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d010120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d302023203c2f7765696768743e28766573745f6f7468657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653cbc20556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501202d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c68206c6f636b656420756e64657220746869732070616c6c65742e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c203320577269746573f420202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f820202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74302023203c2f7765696768743e3c7665737465645f7472616e7366657208187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e406820437265617465206120766573746564207472616e736665722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e001501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c2033205772697465733d0120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d410120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d302023203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e446420466f726365206120766573746564207472616e736665722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00ec202d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e1501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20342052656164732c203420577269746573350120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74390120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74302023203c2f7765696768743e01083856657374696e675570646174656408244163636f756e7449641c42616c616e63650c59012054686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e646963617465206d6f72652066756e64732061726520617661696c61626c652e2054686519012062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e58205c5b6163636f756e742c20756e7665737465645c5d4056657374696e67436f6d706c6574656404244163636f756e744964041d0120416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e204e6f20667572746865722076657374696e672063616e2068617070656e2e04444d696e5665737465645472616e736665723042616c616e63654f663c543e400000c16ff2862300000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e0c284e6f7456657374696e67048820546865206163636f756e7420676976656e206973206e6f742076657374696e672e5c4578697374696e6756657374696e675363686564756c65045d0120416e206578697374696e672076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e7420746861742063616e6e6f7420626520636c6f6262657265642e24416d6f756e744c6f7704090120416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e1c245363686564756c657201245363686564756c65720c184167656e646101010538543a3a426c6f636b4e756d62657271015665633c4f7074696f6e3c5363686564756c65643c3c5420617320436f6e6669673e3a3a43616c6c2c20543a3a426c6f636b4e756d6265722c20543a3a0a50616c6c6574734f726967696e2c20543a3a4163636f756e7449643e3e3e000400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001051c5665633c75383e6c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e0118207363686564756c6510107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e287420416e6f6e796d6f75736c79207363686564756c652061207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7390202d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64615020202020202d2057726974653a204167656e64613d01202d2057696c6c20757365206261736520776569676874206f662032352077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e1863616e63656c08107768656e38543a3a426c6f636b4e756d62657214696e6465780c75333228982043616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64617020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f6e616d6564140869641c5665633c75383e107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e285c205363686564756c652061206e616d6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c738c202d2042617365205765696768743a2032392e36202b202e313539202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704d01202d2057696c6c20757365206261736520776569676874206f662033352077686963682073686f756c6420626520676f6f6420666f72206d6f7265207468616e203330207363686564756c65642063616c6c73302023203c2f7765696768743e3063616e63656c5f6e616d6564040869641c5665633c75383e287c2043616e63656c2061206e616d6564207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f61667465721014616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e14ac20416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002c2023203c7765696768743e582053616d65206173205b607363686564756c65605d2e302023203c2f7765696768743e507363686564756c655f6e616d65645f6166746572140869641c5665633c75383e14616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e1494205363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002c2023203c7765696768743e702053616d65206173205b607363686564756c655f6e616d6564605d2e302023203c2f7765696768743e010c245363686564756c6564082c426c6f636b4e756d6265720c7533320494205363686564756c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d2043616e63656c6564082c426c6f636b4e756d6265720c75333204902043616e63656c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d28446973706174636865640c605461736b416464726573733c426c6f636b4e756d6265723e3c4f7074696f6e3c5665633c75383e3e384469737061746368526573756c7404ac204469737061746368656420736f6d65207461736b2e205c5b7461736b2c2069642c20726573756c745c5d0010404661696c6564546f5363686564756c650468204661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e6404802043616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e5061737404a820476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e676504f42052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e1d1450726f7879011450726f7879081c50726f7869657301010530543a3a4163636f756e7449644501285665633c50726f7879446566696e6974696f6e3c543a3a4163636f756e7449642c20543a3a50726f7879547970652c20543a3a426c6f636b4e756d6265723e3e2c0a2042616c616e63654f663c543e29004400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e747301010530543a3a4163636f756e7449643d01285665633c416e6e6f756e63656d656e743c543a3a4163636f756e7449642c2043616c6c486173684f663c543e2c20543a3a426c6f636b4e756d6265723e3e2c0a2042616c616e63654f663c543e290044000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01281470726f78790c107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e3c51012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e246164645f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d62657234490120526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792e0101202d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e5101202d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c7920626518207a65726f2e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3072656d6f76655f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d6265722cac20556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2901202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e4501202d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3872656d6f76655f70726f786965730028b820556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901205741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e747320637265617465642062792060616e6f6e796d6f7573602c20686f776576657220696620646f6e652c207468656e5d012074686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e24616e6f6e796d6f75730c2870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d62657214696e6465780c7531365c3d0120537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64010120696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e0070205265717569726573206120605369676e656460206f726967696e2e005501202d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468655101206e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f7c20616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e5501202d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d656101207472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a757374442077616e7420746f20757365206030602e5101202d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c7920626518207a65726f2e005501204661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659c2073616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e8204661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e9020544f444f3a204d69676874206265206f76657220636f756e74696e6720312072656164386b696c6c5f616e6f6e796d6f7573141c737061776e657230543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f78795479706514696e6465780c753136186865696768745c436f6d706163743c543a3a426c6f636b4e756d6265723e246578745f696e64657830436f6d706163743c7533323e50b82052656d6f76657320612070726576696f75736c7920737061776e656420616e6f6e796d6f75732070726f78792e004d01205741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c2062653820696e61636365737369626c652e005d01205265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746fac2060616e6f6e796d6f757360207769746820636f72726573706f6e64696e6720706172616d65746572732e005101202d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060616e6f6e796d6f75736020746f206372656174652074686973206163636f756e742e5101202d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e2050726f6261626c79206030602e0501202d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e4101202d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e4d01202d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e004d01204661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c79206372656174656420616e6f6e796d6f7573f4206163636f756e742077686f73652060616e6f6e796d6f7573602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e20616e6e6f756e636508107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e540901205075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e0061012054686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d707465642901206966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e001501204e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000d0120546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c2061731d012060416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656d6f76655f616e6e6f756e63656d656e7408107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40742052656d6f7665206120676976656e20616e6e6f756e63656d656e742e005d01204d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e3420746865206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656a6563745f616e6e6f756e63656d656e74082064656c656761746530543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40b42052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e006501204d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c656761746573290120286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733af8202d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ec0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e3c70726f78795f616e6e6f756e636564102064656c656761746530543a3a4163636f756e744964107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e4451012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e010c3450726f7879457865637574656404384469737061746368526573756c7404ec20412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e205c5b726573756c745c5d2e40416e6f6e796d6f75734372656174656410244163636f756e744964244163636f756e7449642450726f7879547970650c75313608ec20416e6f6e796d6f7573206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e690120646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e205c5b616e6f6e796d6f75732c2077686f2c2070726f78795f747970652c20646973616d626967756174696f6e5f696e6465785c5d24416e6e6f756e6365640c244163636f756e744964244163636f756e744964104861736804510120416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e205c5b7265616c2c2070726f78792c2063616c6c5f686173685c5d184050726f78794465706f736974426173653042616c616e63654f663c543e4000f09e544c390000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f723042616c616e63654f663c543e400060aa7714b40000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00690120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f2061207072652d6578697374696e6761012073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b6520696e746f206163636f756e74c020603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965730c75313608200004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e670c753332102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f736974426173653042616c616e63654f663c543e4000f09e544c39000000000000000000000c310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00690120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c79203136206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f723042616c616e63654f663c543e4000c054ef28680100000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e201c546f6f4d616e790425012054686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e6404782050726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f787904d02053656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c6504250120412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650470204163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e0419012043616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e63656404d420416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f787904682043616e6e6f74206164642073656c662061732070726f78792e1e204d756c746973696701204d756c746973696708244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e1443616c6c73000106205b75383b2033325da0284f706171756543616c6c2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e290004000001105061735f6d756c74695f7468726573686f6c645f3108446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e40550120496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e004101202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f66207468650501206d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00bc20526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e002c2023203c7765696768743e1d01204f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d48202d204442205765696768743a204e6f6e654c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e2061735f6d756c746918247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c284f706171756543616c6c2873746f72655f63616c6c10626f6f6c286d61785f77656967687418576569676874b8590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a250120202020202d2052656164733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c6029290120202020202d205772697465733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c60294c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e40617070726f76655f61735f6d756c746914247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d286d61785f7765696768741857656967687490590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743abc20202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745dc020202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d6859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a190120202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c731d0120202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c73302023203c2f7765696768743e01102c4e65774d756c74697369670c244163636f756e744964244163636f756e7449642043616c6c48617368041d012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e205c5b617070726f76696e672c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967417070726f76616c10244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c4861736808cc2041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652eb8205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967457865637574656414244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c48617368384469737061746368526573756c740459012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d444d756c746973696743616e63656c6c656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c486173680461012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e205c5b63616e63656c6c696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d0c2c4465706f736974426173653042616c616e63654f663c543e4000f01c0adbed0100000000000000000008710120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f2073746f72656c20612064697370617463682063616c6c20666f72206c617465722e344465706f736974466163746f723042616c616e63654f663c543e400000cc7b9fae000000000000000000000455012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e384d61785369676e61746f726965730c75313608640004010120546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420666f72206120676976656e206d756c74697369672e38404d696e696d756d5468726573686f6c640480205468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f7704d420546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f72656404a420546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e1f20426f756e7469657301205472656173757279102c426f756e7479436f756e7401002c426f756e7479496e646578100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e746965730001052c426f756e7479496e646578c8426f756e74793c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e000400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e730001052c426f756e7479496e6465781c5665633c75383e000400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c730100405665633c426f756e7479496e6465783e040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e01243870726f706f73655f626f756e7479081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c6465736372697074696f6e1c5665633c75383e30582050726f706f73652061206e657720626f756e74792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c20617355012060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e2049742077696c6c20626520756e72657365727665642075706f6e20617070726f76616c2c68206f7220736c6173686564207768656e2072656a65637465642e00fc202d206063757261746f72603a205468652063757261746f72206163636f756e742077686f6d2077696c6c206d616e616765207468697320626f756e74792e68202d2060666565603a205468652063757261746f72206665652e2901202d206076616c7565603a2054686520746f74616c207061796d656e7420616d6f756e74206f66207468697320626f756e74792c2063757261746f722066656520696e636c756465642ec4202d20606465736372697074696f6e603a20546865206465736372697074696f6e206f66207468697320626f756e74792e38617070726f76655f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e20610120417070726f7665206120626f756e74792070726f706f73616c2e2041742061206c617465722074696d652c2074686520626f756e74792077696c6c2062652066756e64656420616e64206265636f6d6520616374697665ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e3c70726f706f73655f63757261746f720c24626f756e74795f696450436f6d706163743c426f756e7479496e6465783e1c63757261746f728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650c66656554436f6d706163743c42616c616e63654f663c543e3e1c942041737369676e20612063757261746f7220746f20612066756e64656420626f756e74792e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e40756e61737369676e5f63757261746f720424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e488020556e61737369676e2063757261746f722066726f6d206120626f756e74792e00210120546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656420627920746865206052656a6563744f726967696e602061207369676e6564206f726967696e2e00690120496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e602c20776520617373756d652074686174207468652063757261746f72206973206d616c6963696f75730d01206f7220696e6163746976652e204173206120726573756c742c2077652077696c6c20736c617368207468652063757261746f72207768656e20706f737369626c652e00650120496620746865206f726967696e206973207468652063757261746f722c2077652074616b6520746869732061732061207369676e20746865792061726520756e61626c6520746f20646f207468656972206a6f6220616e64610120746865792077696c6c696e676c7920676976652075702e20576520636f756c6420736c617368207468656d2c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f207265636f7665722074686569723901206465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966206974206973206162757365642e290061012046696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e6520696620616e64206f6e6c79206966207468652063757261746f722069732022696e616374697665222e205468697320616c6c6f7773650120616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f7574207468617420612063757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e643d012077652073686f756c64207069636b2061206e65772063757261746f722e20496e20746869732063617365207468652063757261746f722073686f756c6420616c736f20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e386163636570745f63757261746f720424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e209820416363657074207468652063757261746f7220726f6c6520666f72206120626f756e74792e2d012041206465706f7369742077696c6c2062652072657365727665642066726f6d2063757261746f7220616e6420726566756e642075706f6e207375636365737366756c207061796f75742e0094204d6179206f6e6c792062652063616c6c65642066726f6d207468652063757261746f722e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e3061776172645f626f756e74790824626f756e74795f696450436f6d706163743c426f756e7479496e6465783e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528990120417761726420626f756e747920746f20612062656e6566696369617279206163636f756e742e205468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647320616674657220612064656c61792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f2061776172642e1d01202d206062656e6566696369617279603a205468652062656e6566696369617279206163636f756e742077686f6d2077696c6c207265636569766520746865207061796f75742e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e30636c61696d5f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e24f020436c61696d20746865207061796f75742066726f6d20616e206177617264656420626f756e7479206166746572207061796f75742064656c61792e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652062656e6566696369617279206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f20636c61696d2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e30636c6f73655f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e283d012043616e63656c20612070726f706f736564206f722061637469766520626f756e74792e20416c6c207468652066756e64732077696c6c2062652073656e7420746f20747265617375727920616e64d0207468652063757261746f72206465706f7369742077696c6c20626520756e726573657276656420696620706f737369626c652e00cc204f6e6c792060543a3a52656a6563744f726967696e602069732061626c6520746f2063616e63656c206120626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f2063616e63656c2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e50657874656e645f626f756e74795f6578706972790824626f756e74795f696450436f6d706163743c426f756e7479496e6465783e1c5f72656d61726b1c5665633c75383e28b020457874656e6420746865206578706972792074696d65206f6620616e2061637469766520626f756e74792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f20657874656e642e90202d206072656d61726b603a206164646974696f6e616c20696e666f726d6174696f6e2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e011c38426f756e747950726f706f736564042c426f756e7479496e646578047c204e657720626f756e74792070726f706f73616c2e205c5b696e6465785c5d38426f756e747952656a6563746564082c426f756e7479496e6465781c42616c616e6365041101204120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205c5b696e6465782c20626f6e645c5d48426f756e7479426563616d65416374697665042c426f756e7479496e64657804e4204120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e205c5b696e6465785c5d34426f756e747941776172646564082c426f756e7479496e646578244163636f756e74496404f4204120626f756e7479206973206177617264656420746f20612062656e65666963696172792e205c5b696e6465782c2062656e65666963696172795c5d34426f756e7479436c61696d65640c2c426f756e7479496e6465781c42616c616e6365244163636f756e744964040d01204120626f756e747920697320636c61696d65642062792062656e65666963696172792e205c5b696e6465782c207061796f75742c2062656e65666963696172795c5d38426f756e747943616e63656c6564042c426f756e7479496e6465780484204120626f756e74792069732063616e63656c6c65642e205c5b696e6465785c5d38426f756e7479457874656e646564042c426f756e7479496e646578049c204120626f756e74792065787069727920697320657874656e6465642e205c5b696e6465785c5d1c48446174614465706f736974506572427974653042616c616e63654f663c543e400010a5d4e8000000000000000000000004fc2054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e20626f756e7479206465736372697074696f6e2e44426f756e74794465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c617938543a3a426c6f636b4e756d6265721080700000045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e48426f756e7479557064617465506572696f6438543a3a426c6f636b4e756d6265721000270600046c20426f756e7479206475726174696f6e20696e20626c6f636b732e50426f756e747943757261746f724465706f7369741c5065726d696c6c1020a10700046d012050657263656e74616765206f66207468652063757261746f722066656520746861742077696c6c20626520726573657276656420757066726f6e74206173206465706f73697420666f7220626f756e74792063757261746f722e48426f756e747956616c75654d696e696d756d3042616c616e63654f663c543e4000406352bfc6010000000000000000000470204d696e696d756d2076616c756520666f72206120626f756e74792e4c4d6178696d756d526561736f6e4c656e6774680c75333210004000000488204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e2470496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e6465780494204e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e40556e657870656374656453746174757304842054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720460205265717569726520626f756e74792063757261746f722e30496e76616c696456616c7565045820496e76616c696420626f756e74792076616c75652e28496e76616c6964466565045020496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740870204120626f756e7479207061796f75742069732070656e64696e672efc20546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e245072656d61747572650449012054686520626f756e746965732063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e201054697073012054726561737572790810546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e0118387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173c02060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743ecc202d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e942020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e2774202d20446252656164733a2060526561736f6e73602c2060546970736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960dc2020202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e90202d20446252656164733a206054697073602c20606f726967696e206163636f756e7460c0202d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e7460302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c756554436f6d706163743c42616c616e63654f663c543e3e58f4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e5501202d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732ec02020202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e6774682060546009012020202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e0d0120202020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ee42020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e6774682060526080202d20446252656164733a206054697070657273602c2060526561736f6e736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c756554436f6d706163743c42616c616e63654f663c543e3e64b4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e15012020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e00610120202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d4202020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e74202d20446252656164733a206054697070657273602c206054697073604c202d2044625772697465733a20605469707360302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368446020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e9c2020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602eac202d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260dc202d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e64657260302023203c2f7765696768743e24736c6173685f7469700410686173681c543a3a4861736830982052656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f8204173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e008820456d6974732060546970536c617368656460206966207375636365737366756c2e002c2023203c7765696768743e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e302023203c2f7765696768743e0114184e657754697004104861736804cc2041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e205c5b7469705f686173685c5d28546970436c6f73696e670410486173680411012041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e205c5b7469705f686173685c5d24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504f02041207469702073756767657374696f6e20686173206265656e20636c6f7365642e205c5b7469705f686173682c2077686f2c207061796f75745c5d3054697052657472616374656404104861736804c82041207469702073756767657374696f6e20686173206265656e207265747261637465642e205c5b7469705f686173685c5d28546970536c61736865640c1048617368244163636f756e7449641c42616c616e63650405012041207469702073756767657374696f6e20686173206265656e20736c61736865642e205c5b7469705f686173682c2066696e6465722c206465706f7369745c5d1430546970436f756e74646f776e38543a3a426c6f636b4e756d62657210807000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e48446174614465706f736974506572427974653042616c616e63654f663c543e400010a5d4e800000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e4c4d6178696d756d526561736f6e4c656e6774680c75333210004000000488204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e1830526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e211841737365747301184173736574731014417373657400010228543a3a41737365744964f8417373657444657461696c733c543a3a42616c616e63652c20543a3a4163636f756e7449642c204465706f73697442616c616e63654f663c542c20493e3e00040004542044657461696c73206f6620616e2061737365742e1c4163636f756e7401020228543a3a4173736574496430543a3a4163636f756e74496488417373657442616c616e63653c543a3a42616c616e63652c20543a3a45787472613e02280000000000000000000004e420546865206e756d626572206f6620756e697473206f66206173736574732068656c6420627920616e7920676976656e206163636f756e742e24417070726f76616c7300020228543a3a4173736574496464417070726f76616c4b65793c543a3a4163636f756e7449643eb0417070726f76616c3c543a3a42616c616e63652c204465706f73697442616c616e63654f663c542c20493e3e02040008590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e204d6574616461746101010228543a3a417373657449649441737365744d657461646174613c4465706f73697442616c616e63654f663c542c20493e3e005000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e015c186372656174650c0869644c436f6d706163743c543a3a417373657449643e1461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c6d696e5f62616c616e636528543a3a42616c616e63654cec2049737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e0029012054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e00290120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d75737420686176652073756666696369656e742066756e647320667265652e00c02046756e6473206f662073656e64657220617265207265736572766564206279206041737365744465706f736974602e003020506172616d65746572733a5d01202d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966794c20616e206578697374696e672061737365742e5d01202d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f662065616368a0206d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e009c20456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f2831296030666f7263655f637265617465100869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653469735f73756666696369656e7410626f6f6c2c6d696e5f62616c616e63654c436f6d706163743c543a3a42616c616e63653e54fc2049737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b82054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a820546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e00a020556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e005d01202d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966794c20616e206578697374696e672061737365742e5d01202d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e737d01206f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e6720607472616e736665725f6f776e657273686970604020616e6420607365745f7465616d602e5901202d20606d61785f7a6f6d62696573603a2054686520746f74616c206e756d626572206f66206163636f756e7473207768696368206d617920686f6c642061737365747320696e207468697320636c61737320796574742068617665206e6f206578697374656e7469616c206465706f7369742e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e00b020456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f283129601c64657374726f79080869644c436f6d706163743c543a3a417373657449643e1c7769746e6573733844657374726f795769746e65737338902044657374726f79206120636c617373206f662066756e6769626c65206173736574732e00590120546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686564206f776e6572206f662074686520617373657420606964602e005101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e671c2061737365742e00a420456d697473206044657374726f79656460206576656e74207768656e207375636365737366756c2e0078205765696768743a20604f2863202b2070202b206129602077686572653ac4202d206063203d20287769746e6573732e6163636f756e7473202d207769746e6573732e73756666696369656e7473296070202d206073203d207769746e6573732e73756666696369656e74736068202d206061203d207769746e6573732e617070726f76616c7360106d696e740c0869644c436f6d706163743c543a3a417373657449643e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e308c204d696e7420617373657473206f66206120706172746963756c617220636c6173732e003d0120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f662074686520617373657420606964602e000101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206d696e7465642e1101202d206062656e6566696369617279603a20546865206163636f756e7420746f206265206372656469746564207769746820746865206d696e746564206173736574732ec8202d2060616d6f756e74603a2054686520616d6f756e74206f662074686520617373657420746f206265206d696e7465642e00a420456d697473206044657374726f79656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f283129605901204d6f6465733a205072652d6578697374696e672062616c616e6365206f66206062656e6566696369617279603b204163636f756e74207072652d6578697374656e6365206f66206062656e6566696369617279602e106275726e0c0869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e3c490120526564756365207468652062616c616e6365206f66206077686f60206279206173206d75636820617320706f737369626c6520757020746f2060616d6f756e746020617373657473206f6620606964602e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204d616e61676572206f662074686520617373657420606964602e00dc204261696c732077697468206042616c616e63655a65726f6020696620746865206077686f6020697320616c726561647920646561642e000101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206275726e65642ea4202d206077686f603a20546865206163636f756e7420746f20626520646562697465642066726f6d2e2d01202d2060616d6f756e74603a20546865206d6178696d756d20616d6f756e74206279207768696368206077686f6027732062616c616e63652073686f756c6420626520726564756365642e00550120456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e20496620746869732074616b6573207468652062616c616e636520746f2062656c6f77207468653d01206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74206275726e656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e003c205765696768743a20604f283129600d01204d6f6465733a20506f73742d6578697374656e6365206f66206077686f603b20507265202620706f7374205a6f6d6269652d737461747573206f66206077686f602e207472616e736665720c0869644c436f6d706163743c543a3a417373657449643e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e48d4204d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e005c204f726967696e206d757374206265205369676e65642e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642ea0202d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e5501202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64650120607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e6101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77c020746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605d01204d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b205072696f72202620706f7374207a6f6d6269652d737461747573b8206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662060746172676574602e4c7472616e736665725f6b6565705f616c6976650c0869644c436f6d706163743c543a3a417373657449643e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e485d01204d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722c206b656570696e67207468652073656e646572206163636f756e7420616c6976652e005c204f726967696e206d757374206265205369676e65642e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642ea0202d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e5501202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64650120607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e6101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77c020746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605d01204d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b205072696f72202620706f7374207a6f6d6269652d737461747573b8206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f662060746172676574602e38666f7263655f7472616e73666572100869644c436f6d706163743c543a3a417373657449643e18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e4cb8204d6f766520736f6d65206173736574732066726f6d206f6e65206163636f756e7420746f20616e6f746865722e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c202d2060736f75726365603a20546865206163636f756e7420746f20626520646562697465642e98202d206064657374603a20546865206163636f756e7420746f2062652063726564697465642e5d01202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652060736f757263656027732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e645d012060646573746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652060736f75726365602062616c616e63652061626f7665207a65726f20627574d82062656c6f7720746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605d01204d6f6465733a205072652d6578697374656e6365206f66206064657374603b20506f73742d6578697374656e6365206f662060736f75726365603b205072696f72202620706f7374207a6f6d6269652d737461747573b8206f662060736f75726365603b204163636f756e74207072652d6578697374656e6365206f66206064657374602e18667265657a65080869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528e420446973616c6c6f77206675727468657220756e70726976696c65676564207472616e73666572732066726f6d20616e206163636f756e742e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e8c202d206077686f603a20546865206163636f756e7420746f2062652066726f7a656e2e004020456d697473206046726f7a656e602e003c205765696768743a20604f283129601074686177080869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528d020416c6c6f7720756e70726976696c65676564207472616e73666572732066726f6d20616e206163636f756e7420616761696e2e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e94202d206077686f603a20546865206163636f756e7420746f20626520756e66726f7a656e2e004020456d6974732060546861776564602e003c205765696768743a20604f2831296030667265657a655f6173736574040869644c436f6d706163743c543a3a417373657449643e24f420446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f722074686520617373657420636c6173732e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e004020456d697473206046726f7a656e602e003c205765696768743a20604f2831296028746861775f6173736574040869644c436f6d706163743c543a3a417373657449643e24c820416c6c6f7720756e70726976696c65676564207472616e736665727320666f722074686520617373657420616761696e2e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e004020456d6974732060546861776564602e003c205765696768743a20604f28312960487472616e736665725f6f776e657273686970080869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652878204368616e676520746865204f776e6572206f6620616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742ea0202d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742e005820456d69747320604f776e65724368616e676564602e003c205765696768743a20604f28312960207365745f7465616d100869644c436f6d706163743c543a3a417373657449643e186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636530c8204368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2ea8202d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742ea0202d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eb0202d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e005420456d69747320605465616d4368616e676564602e003c205765696768743a20604f28312960307365745f6d65746164617461100869644c436f6d706163743c543a3a417373657449643e106e616d651c5665633c75383e1873796d626f6c1c5665633c75383e20646563696d616c73087538407c2053657420746865206d6574616461746120666f7220616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00dc2046756e6473206f662073656e64657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a550120604d657461646174614465706f73697442617365202b204d657461646174614465706f73697450657242797465202a20286e616d652e6c656e202b2073796d626f6c2e6c656e29602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e00bc202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e5101202d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e5101202d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3101202d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e005420456d69747320604d65746164617461536574602e003c205765696768743a20604f2831296038636c6561725f6d65746164617461040869644c436f6d706163743c543a3a417373657449643e2c8420436c65617220746865206d6574616461746120666f7220616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00a820416e79206465706f73697420697320667265656420666f7220746865206173736574206f776e65722e00b8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e006420456d69747320604d65746164617461436c6561726564602e003c205765696768743a20604f2831296048666f7263655f7365745f6d65746164617461140869644c436f6d706163743c543a3a417373657449643e106e616d651c5665633c75383e1873796d626f6c1c5665633c75383e20646563696d616c730875382469735f66726f7a656e10626f6f6c38bc20466f72636520746865206d6574616461746120666f7220616e20617373657420746f20736f6d652076616c75652e0070204f726967696e206d75737420626520466f7263654f726967696e2e006c20416e79206465706f736974206973206c65667420616c6f6e652e00bc202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e5101202d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e5101202d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3101202d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e005420456d69747320604d65746164617461536574602e005501205765696768743a20604f284e202b20532960207768657265204e20616e6420532061726520746865206c656e677468206f6620746865206e616d6520616e642073796d626f6c20726573706563746976656c792e50666f7263655f636c6561725f6d65746164617461040869644c436f6d706163743c543a3a417373657449643e2c8420436c65617220746865206d6574616461746120666f7220616e2061737365742e0070204f726967696e206d75737420626520466f7263654f726967696e2e006420416e79206465706f7369742069732072657475726e65642e00b8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e006420456d69747320604d65746164617461436c6561726564602e003c205765696768743a20604f2831296048666f7263655f61737365745f737461747573200869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c6d696e5f62616c616e63654c436f6d706163743c543a3a42616c616e63653e3469735f73756666696369656e7410626f6f6c2469735f66726f7a656e10626f6f6c589c20416c746572207468652061747472696275746573206f66206120676976656e2061737365742e0078204f726967696e206d7573742062652060466f7263654f726967696e602e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742ea0202d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea8202d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742ea0202d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eb0202d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e5501202d206069735f73756666696369656e74603a20576865746865722061206e6f6e2d7a65726f2062616c616e6365206f662074686973206173736574206973206465706f736974206f662073756666696369656e7451012076616c756520746f206163636f756e7420666f722074686520737461746520626c6f6174206173736f6369617465642077697468206974732062616c616e63652073746f726167652e2049662073657420746f5901206074727565602c207468656e206e6f6e2d7a65726f2062616c616e636573206d61792062652073746f72656420776974686f757420612060636f6e73756d657260207265666572656e63652028616e642074687573510120616e20454420696e207468652042616c616e6365732070616c6c6574206f7220776861746576657220656c7365206973207573656420746f20636f6e74726f6c20757365722d6163636f756e74207374617465242067726f777468292e4101202d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e3820696e737472756374696f6e732e00ec20456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e003c205765696768743a20604f2831296040617070726f76655f7472616e736665720c0869644c436f6d706163743c543a3a417373657449643e2064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e50310120417070726f766520616e20616d6f756e74206f6620617373657420666f72207472616e7366657220627920612064656c6567617465642074686972642d7061727479206163636f756e742e005c204f726967696e206d757374206265205369676e65642e00510120456e737572657320746861742060417070726f76616c4465706f7369746020776f727468206f66206043757272656e6379602069732072657365727665642066726f6d207369676e696e67206163636f756e74590120666f722074686520707572706f7365206f6620686f6c64696e672074686520617070726f76616c2e20496620736f6d65206e6f6e2d7a65726f20616d6f756e74206f662061737365747320697320616c72656164794d0120617070726f7665642066726f6d207369676e696e67206163636f756e7420746f206064656c6567617465602c207468656e20697420697320746f70706564207570206f7220756e726573657276656420746f58206d656574207468652072696768742076616c75652e004901204e4f54453a20546865207369676e696e67206163636f756e7420646f6573206e6f74206e65656420746f206f776e2060616d6f756e7460206f66206173736574732061742074686520706f696e74206f6648206d616b696e6720746869732063616c6c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e1101202d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e736665722061737365742e4d01202d2060616d6f756e74603a2054686520616d6f756e74206f662061737365742074686174206d6179206265207472616e73666572726564206279206064656c6567617465602e204966207468657265206973e420616c726561647920616e20617070726f76616c20696e20706c6163652c207468656e207468697320616374732061646469746976656c792e009420456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e003c205765696768743a20604f283129603c63616e63656c5f617070726f76616c080869644c436f6d706163743c543a3a417373657449643e2064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365344d012043616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e004101204f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c616365206265747765656e207369676e657220616e6430206064656c6567617465602e004d0120556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e0901202d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e009820456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e003c205765696768743a20604f2831296054666f7263655f63616e63656c5f617070726f76616c0c0869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365344d012043616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e004d01204f726967696e206d7573742062652065697468657220466f7263654f726967696e206f72205369676e6564206f726967696e207769746820746865207369676e6572206265696e67207468652041646d696e6c206163636f756e74206f662074686520617373657420606964602e004d0120556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e0901202d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e009820456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e003c205765696768743a20604f28312960447472616e736665725f617070726f766564100869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c64657374696e6174696f6e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e485101205472616e7366657220736f6d652061737365742062616c616e63652066726f6d20612070726576696f75736c792064656c656761746564206163636f756e7420746f20736f6d652074686972642d706172747924206163636f756e742e004d01204f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c6163652062792074686520606f776e65726020746f2074686520207369676e65722e005d012049662074686520656e7469726520616d6f756e7420617070726f76656420666f72207472616e73666572206973207472616e736665727265642c207468656e20616e79206465706f7369742070726576696f75736c79b82072657365727665642062792060617070726f76655f7472616e736665726020697320756e72657365727665642e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e6501202d20606f776e6572603a20546865206163636f756e742077686963682070726576696f75736c7920617070726f76656420666f722061207472616e73666572206f66206174206c656173742060616d6f756e746020616e64c02066726f6d207768696368207468652061737365742062616c616e63652077696c6c2062652077697468647261776e2e6501202d206064657374696e6174696f6e603a20546865206163636f756e7420746f207768696368207468652061737365742062616c616e6365206f662060616d6f756e74602077696c6c206265207472616e736665727265642eb8202d2060616d6f756e74603a2054686520616d6f756e74206f662061737365747320746f207472616e736665722e00a020456d69747320605472616e73666572726564417070726f76656460206f6e20737563636573732e003c205765696768743a20604f2831296001481c437265617465640c1c41737365744964244163636f756e744964244163636f756e74496404ec20536f6d6520617373657420636c6173732077617320637265617465642e205c5b61737365745f69642c2063726561746f722c206f776e65725c5d184973737565640c1c41737365744964244163636f756e7449641c42616c616e636504ec20536f6d65206173736574732077657265206973737565642e205c5b61737365745f69642c206f776e65722c20746f74616c5f737570706c795c5d2c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636504f420536f6d65206173736574732077657265207472616e736665727265642e205c5b61737365745f69642c2066726f6d2c20746f2c20616d6f756e745c5d184275726e65640c1c41737365744964244163636f756e7449641c42616c616e636504e420536f6d652061737365747320776572652064657374726f7965642e205c5b61737365745f69642c206f776e65722c2062616c616e63655c5d2c5465616d4368616e676564101c41737365744964244163636f756e744964244163636f756e744964244163636f756e74496404050120546865206d616e6167656d656e74207465616d206368616e676564205c5b61737365745f69642c206973737565722c2061646d696e2c20667265657a65725c5d304f776e65724368616e676564081c41737365744964244163636f756e744964049820546865206f776e6572206368616e676564205c5b61737365745f69642c206f776e65725c5d1846726f7a656e081c41737365744964244163636f756e74496404c420536f6d65206163636f756e74206077686f60207761732066726f7a656e2e205c5b61737365745f69642c2077686f5c5d18546861776564081c41737365744964244163636f756e74496404c420536f6d65206163636f756e74206077686f6020776173207468617765642e205c5b61737365745f69642c2077686f5c5d2c417373657446726f7a656e041c4173736574496404bc20536f6d65206173736574206061737365745f696460207761732066726f7a656e2e205c5b61737365745f69645c5d2c4173736574546861776564041c4173736574496404bc20536f6d65206173736574206061737365745f69646020776173207468617765642e205c5b61737365745f69645c5d2444657374726f796564041c41737365744964047820416e20617373657420636c617373207761732064657374726f7965642e30466f72636543726561746564081c41737365744964244163636f756e74496404e020536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e205c5b61737365745f69642c206f776e65725c5d2c4d65746164617461536574141c417373657449641c5665633c75383e1c5665633c75383e08753810626f6f6c046101204e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e205c5b61737365745f69642c206e616d652c2073796d626f6c2c20646563696d616c732c2069735f66726f7a656e5c5d3c4d65746164617461436c6561726564041c4173736574496404d4204d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e205c5b61737365745f69645c5d40417070726f7665645472616e73666572101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636508350120284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e9c205c5b61737365745f69642c20736f757263652c2064656c65676174652c20616d6f756e745c5d44417070726f76616c43616e63656c6c65640c1c41737365744964244163636f756e744964244163636f756e74496408f420416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e60205c5b69642c206f776e65722c2064656c65676174655c5d4c5472616e73666572726564417070726f766564141c41737365744964244163636f756e744964244163636f756e744964244163636f756e7449641c42616c616e63650c350120416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e60206279642074686520617070726f766564206064656c6567617465602e94205c5b69642c206f776e65722c2064656c65676174652c2064657374696e6174696f6e5c5d4841737365745374617475734368616e676564041c4173736574496408fc20416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e1c205c5b69645c5d00342842616c616e63654c6f77041901204163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e2c42616c616e63655a65726f04702042616c616e63652073686f756c64206265206e6f6e2d7a65726f2e304e6f5065726d697373696f6e04ec20546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e047c2054686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e047820546865206f726967696e206163636f756e742069732066726f7a656e2e14496e557365047c2054686520617373657420494420697320616c72656164792074616b656e2e284261645769746e657373047020496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0490204d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e204f766572666c6f7704982041206d696e74206f7065726174696f6e206c65616420746f20616e206f766572666c6f772e284e6f50726f7669646572046501204e6f2070726f7669646572207265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742e2c4261644d65746164617461046020496e76616c6964206d6574616461746120676976656e2e28556e617070726f76656404c8204e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c644469650439012054686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e220c4d6d72014c4d65726b6c654d6f756e7461696e52616e67650c20526f6f74486173680100583c5420617320436f6e6669673c493e3e3a3a486173688000000000000000000000000000000000000000000000000000000000000000000458204c6174657374204d4d5220526f6f7420686173682e384e756d6265724f664c656176657301000c75363420000000000000000004b02043757272656e742073697a65206f6620746865204d4d5220286e756d626572206f66206c6561766573292e144e6f6465730001060c753634583c5420617320436f6e6669673c493e3e3a3a48617368000400108020486173686573206f6620746865206e6f64657320696e20746865204d4d522e002d01204e6f7465207468697320636f6c6c656374696f6e206f6e6c7920636f6e7461696e73204d4d52207065616b732c2074686520696e6e6572206e6f6465732028616e64206c656176657329bc20617265207072756e656420616e64206f6e6c792073746f72656420696e20746865204f6666636861696e2044422e00000000231c4c6f7474657279011c4c6f747465727918304c6f7474657279496e64657801000c7533321000000000001c4c6f74746572790000ac4c6f7474657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e3e040004ac2054686520636f6e66696775726174696f6e20666f72207468652063757272656e74206c6f74746572792e305061727469636970616e747301010530543a3a4163636f756e74496454287533322c205665633c43616c6c496e6465783e29001400000000000419012055736572732077686f2068617665207075726368617365642061207469636b65742e20284c6f747465727920496e6465782c205469636b6574732050757263686173656429305469636b657473436f756e7401000c7533321000000000047820546f74616c206e756d626572206f66207469636b65747320736f6c642e1c5469636b6574730001050c75333230543a3a4163636f756e74496400040010542045616368207469636b65742773206f776e65722e006101204d6179206861766520726573696475616c2073746f726167652066726f6d2070726576696f7573206c6f747465726965732e2055736520605469636b657473436f756e746020746f20736565207768696368206f6e657390206172652061637475616c6c792076616c6964207469636b6574206d617070696e67732e2c43616c6c496e64696365730100385665633c43616c6c496e6465783e0400083901205468652063616c6c732073746f72656420696e20746869732070616c6c657420746f206265207573656420696e20616e20616374697665206c6f747465727920696620636f6e666967757265646c2062792060436f6e6669673a3a56616c696461746543616c6c602e0110286275795f7469636b6574041063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2c8c204275792061207469636b657420746f20656e74657220746865206c6f74746572792e00050120546869732065787472696e7369632061637473206173206120706173737468726f7567682066756e6374696f6e20666f72206063616c6c602e20496e20616c6c0d0120736974756174696f6e73207768657265206063616c6c6020616c6f6e6520776f756c6420737563636565642c20746869732065787472696e7369632073686f756c642420737563636565642e001101204966206063616c6c60206973207375636365737366756c2c207468656e2077652077696c6c20617474656d707420746f2070757263686173652061207469636b65742c1501207768696368206d6179206661696c2073696c656e746c792e20546f206465746563742073756363657373206f662061207469636b65742070757263686173652c20796f75b02073686f756c64206c697374656e20666f722074686520605469636b6574426f7567687460206576656e742e00c820546869732065787472696e736963206d7573742062652063616c6c65642062792061207369676e6564206f726967696e2e247365745f63616c6c73041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e181501205365742063616c6c7320696e2073746f726167652077686963682063616e206265207573656420746f2070757263686173652061206c6f7474657279207469636b65742e00210120546869732066756e6374696f6e206f6e6c79206d61747465727320696620796f752075736520746865206056616c696461746543616c6c6020696d706c656d656e746174696f6e29012070726f766964656420627920746869732070616c6c65742c20776869636820757365732073746f7261676520746f2064657465726d696e65207468652076616c69642063616c6c732e00d420546869732065787472696e736963206d7573742062652063616c6c656420627920746865204d616e61676572206f726967696e2e3473746172745f6c6f7474657279101470726963653042616c616e63654f663c543e186c656e67746838543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d6265721872657065617410626f6f6c28c82053746172742061206c6f7474657279207573696e67207468652070726f766964656420636f6e66696775726174696f6e2e00d820546869732065787472696e736963206d7573742062652063616c6c65642062792074686520604d616e616765724f726967696e602e003020506172616d65746572733a00a0202a20607072696365603a2054686520636f7374206f6620612073696e676c65207469636b65742e3d01202a20606c656e677468603a20486f77206c6f6e6720746865206c6f74746572792073686f756c642072756e20666f72207374617274696e67206174207468652063757272656e7420626c6f636b2e4901202a206064656c6179603a20486f77206c6f6e6720616674657220746865206c6f747465727920656e642077652073686f756c642077616974206265666f7265207069636b696e6720612077696e6e65722ee4202a2060726570656174603a20496620746865206c6f74746572792073686f756c6420726570656174207768656e20636f6d706c657465642e2c73746f705f726570656174001001012049662061206c6f747465727920697320726570656174696e672c20796f752063616e20757365207468697320746f2073746f7020746865207265706561742ec020546865206c6f74746572792077696c6c20636f6e74696e756520746f2072756e20746f20636f6d706c6574696f6e2e00d820546869732065787472696e736963206d7573742062652063616c6c65642062792074686520604d616e616765724f726967696e602e0110384c6f7474657279537461727465640004702041206c6f747465727920686173206265656e2073746172746564213043616c6c73557064617465640004882041206e657720736574206f662063616c6c732068617665206265656e20736574211857696e6e657208244163636f756e7449641c42616c616e6365046820412077696e6e657220686173206265656e2063686f73656e21305469636b6574426f7567687408244163636f756e7449642443616c6c496e64657804682041207469636b657420686173206265656e20626f7567687421082050616c6c657449642050616c6c657449642070792f6c6f74746f00204d617843616c6c730c753332100a0000000020204f766572666c6f77046820416e206f766572666c6f7720686173206f636375727265642e344e6f74436f6e66696775726564048c2041206c6f747465727920686173206e6f74206265656e20636f6e666967757265642e28496e50726f677265737304882041206c6f747465727920697320616c726561647920696e2070726f67726573732e30416c7265616479456e64656404742041206c6f74746572792068617320616c726561647920656e6465642e2c496e76616c696443616c6c04ac205468652063616c6c206973206e6f742076616c696420666f7220616e206f70656e206c6f74746572792e50416c726561647950617274696369706174696e6704f420596f752061726520616c72656164792070617274696369706174696e6720696e20746865206c6f7474657279207769746820746869732063616c6c2e30546f6f4d616e7943616c6c73049420546f6f206d616e792063616c6c7320666f7220612073696e676c65206c6f74746572792e38456e636f64696e674661696c6564045c204661696c656420746f20656e636f64652063616c6c73241047696c74011047696c74102c5175657565546f74616c730100605665633c287533322c2042616c616e63654f663c543e293e04001461012054686520746f74616c73206f66206974656d7320616e642062616c616e6365732077697468696e20656163682071756575652e2053617665732061206c6f74206f662073746f7261676520726561647320696e20746865802063617365206f66207370617273656c79207061636b6564207175657565732e006d012054686520766563746f7220697320696e6465786564206279206475726174696f6e20696e2060506572696f6460732c206f6666736574206279206f6e652c20736f20696e666f726d6174696f6e206f6e20746865207175657565d42077686f7365206475726174696f6e206973206f6e652060506572696f646020776f756c642062652073746f72616765206030602e185175657565730101020c753332a05665633c47696c744269643c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e0004000439012054686520717565756573206f66206269647320726561647920746f206265636f6d652067696c74732e20496e6465786564206279206475726174696f6e2028696e2060506572696f646073292e2c416374697665546f74616c01007841637469766547696c7473546f74616c3c42616c616e63654f663c543e3e9000000000000000000000000000000000000000000000000000000000000000000000000004d020496e666f726d6174696f6e2072656c6174696e6720746f207468652067696c74732063757272656e746c79206163746976652e184163746976650001022c416374697665496e646578a50141637469766547696c743c42616c616e63654f663c543e2c3c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e7449642c3c0a54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d6265723e000400042101205468652063757272656e746c79206163746976652067696c74732c20696e6465786564206163636f7264696e6720746f20746865206f72646572206f66206372656174696f6e2e011024706c6163655f6269640818616d6f756e7454436f6d706163743c42616c616e63654f663c543e3e206475726174696f6e0c753332349420506c61636520612062696420666f7220612067696c7420746f206265206973737565642e004101204f726967696e206d757374206265205369676e65642c20616e64206163636f756e74206d7573742068617665206174206c656173742060616d6f756e746020696e20667265652062616c616e63652e003d01202d2060616d6f756e74603a2054686520616d6f756e74206f6620746865206269643b2074686573652066756e64732077696c6c2062652072657365727665642e20496620746865206269642069734101207375636365737366756c6c7920656c65766174656420696e746f20616e206973737565642067696c742c207468656e2074686573652066756e64732077696c6c20636f6e74696e756520746f206265fc20726573657276656420756e74696c207468652067696c7420657870697265732e204d757374206265206174206c6561737420604d696e467265657a65602e5901202d20606475726174696f6e603a20546865206e756d626572206f6620706572696f647320666f72207768696368207468652066756e64732077696c6c206265206c6f636b6564206966207468652067696c742069735d01206973737565642e2049742077696c6c20657870697265206f6e6c79206166746572207468697320706572696f642068617320656c61707365642061667465722074686520706f696e74206f662069737375616e63652ed8204d7573742062652067726561746572207468616e203120616e64206e6f206d6f7265207468616e20605175657565436f756e74602e003820436f6d706c657869746965733ab0202d20605175657565735b6475726174696f6e5d2e6c656e28296020286a7573742074616b65206d6178292e2c726574726163745f6269640818616d6f756e7454436f6d706163743c42616c616e63654f663c543e3e206475726174696f6e0c7533321c84205265747261637420612070726576696f75736c7920706c61636564206269642e006101204f726967696e206d757374206265205369676e65642c20616e6420746865206163636f756e742073686f756c6420686176652070726576696f75736c79206973737565642061207374696c6c2d6163746976652062696470206f662060616d6f756e746020666f7220606475726174696f6e602e00b0202d2060616d6f756e74603a2054686520616d6f756e74206f66207468652070726576696f7573206269642ec0202d20606475726174696f6e603a20546865206475726174696f6e206f66207468652070726576696f7573206269642e287365745f746172676574041874617267657450436f6d706163743c5065727175696e74696c6c3e189420536574207461726765742070726f706f7274696f6e206f662067696c742d66756e64732e0078204f726967696e206d757374206265206041646d696e4f726967696e602e005d01202d2060746172676574603a20546865207461726765742070726f706f7274696f6e206f6620656666656374697665206973737565642066756e647320746861742073686f756c6420626520756e6465722067696c74734420617420616e79206f6e652074696d652e10746861770414696e64657850436f6d706163743c416374697665496e6465783e1c59012052656d6f766520616e206163746976652062757420657870697265642067696c742e2052657365727665642066756e647320756e6465722067696c742061726520667265656420616e642062616c616e63652069735d012061646a757374656420746f20656e737572652074686174207468652066756e64732067726f77206f7220736872696e6b20746f206d61696e7461696e20746865206571756976616c656e742070726f706f7274696f6e84206f662065666665637469766520746f74616c206973737565642066756e64732e006101204f726967696e206d757374206265205369676e656420616e6420746865206163636f756e74206d75737420626520746865206f776e6572206f66207468652067696c74206f662074686520676976656e20696e6465782e00bc202d2060696e646578603a2054686520696e646578206f66207468652067696c7420746f206265207468617765642e011024426964506c616365640c244163636f756e7449643042616c616e63654f663c543e0c753332087c20412062696420776173207375636365737366756c6c7920706c616365642e70205c5b2077686f2c20616d6f756e742c206475726174696f6e205c5d304269645265747261637465640c244163636f756e7449643042616c616e63654f663c543e0c75333208090120412062696420776173207375636365737366756c6c792072656d6f76656420286265666f7265206265696e6720616363657074656420617320612067696c74292e70205c5b2077686f2c20616d6f756e742c206475726174696f6e205c5d2847696c74497373756564102c416374697665496e64657838543a3a426c6f636b4e756d626572244163636f756e7449643042616c616e63654f663c543e0831012041206269642077617320616363657074656420617320612067696c742e205468652062616c616e6365206d6179206e6f742062652072656c656173656420756e74696c206578706972792e84205c5b20696e6465782c206578706972792c2077686f2c20616d6f756e74205c5d2847696c74546861776564102c416374697665496e646578244163636f756e7449643042616c616e63654f663c543e3042616c616e63654f663c543e088420416e20657870697265642067696c7420686173206265656e207468617765642ed4205c5b20696e6465782c2077686f2c206f726967696e616c5f616d6f756e742c206164646974696f6e616c5f616d6f756e74205c5d1c285175657565436f756e740c753332102c010000085d01204e756d626572206f66206475726174696f6e2071756575657320696e20746f74616c2e2054686973207365747320746865206d6178696d756d206475726174696f6e20737570706f727465642c2077686963682069738c20746869732076616c7565206d756c7469706c6965642062792060506572696f64602e2c4d617851756575654c656e0c75333210e803000004f0204d6178696d756d206e756d626572206f66206974656d732074686174206d617920626520696e2065616368206475726174696f6e2071756575652e304669666f51756575654c656e0c75333210f40100000c090120506f7274696f6e206f662074686520717565756520776869636820697320667265652066726f6d206f72646572696e6720616e64206a7573742061204649464f2e009c204d757374206265206e6f2067726561746572207468616e20604d617851756575654c656e602e18506572696f6438543a3a426c6f636b4e756d62657210002f0d0008410120546865206261736520706572696f6420666f7220746865206475726174696f6e207175657565732e20546869732069732074686520636f6d6d6f6e206d756c7469706c65206163726f737320616c6ccc20737570706f7274656420667265657a696e67206475726174696f6e7320746861742063616e206265206269642075706f6e2e244d696e467265657a653042616c616e63654f663c543e400000c16ff2862300000000000000000018550120546865206d696e696d756d20616d6f756e74206f662066756e64732074686174206d6179206265206f66666572656420746f20667265657a6520666f7220612067696c742e204e6f746520746861742074686973510120646f6573206e6f742061637475616c6c79206c696d69742074686520616d6f756e74207768696368206d61792062652066726f7a656e20696e20612067696c742073696e63652067696c7473206d617920626519012073706c697420757020696e206f7264657220746f207361746973667920746865206465736972656420616d6f756e74206f662066756e647320756e6465722067696c74732e0065012049742073686f756c64206265206174206c656173742062696720656e6f75676820746f20656e737572652074686174207468657265206973206e6f20706f737369626c652073746f72616765207370616d2061747461636b64206f722071756575652d66696c6c696e672061747461636b2e30496e74616b65506572696f6438543a3a426c6f636b4e756d626572100a00000014590120546865206e756d626572206f6620626c6f636b73206265747765656e20636f6e736563757469766520617474656d70747320746f206973737565206d6f72652067696c747320696e20616e206566666f727420746f9c2067657420746f207468652074617267657420616d6f756e7420746f2062652066726f7a656e2e005d012041206c61726765722076616c756520726573756c747320696e2066657765722073746f726167652068697473206561636820626c6f636b2c20627574206120736c6f77657220706572696f6420746f2067657420746f3020746865207461726765742e344d6178496e74616b65426964730c753332100a0000000c550120546865206d6178696d756d20616d6f756e74206f66206269647320746861742063616e206265207475726e656420696e746f206973737565642067696c7473206561636820626c6f636b2e2041206c617267657261012076616c75652068657265206d65616e73206c657373206f662074686520626c6f636b20617661696c61626c6520666f72207472616e73616374696f6e732073686f756c64207468657265206265206120676c7574206f66b4206269647320746f206d616b6520696e746f2067696c747320746f20726561636820746865207461726765742e20404475726174696f6e546f6f536d616c6c04a820546865206475726174696f6e206f662074686520626964206973206c657373207468616e206f6e652e384475726174696f6e546f6f42696704f820546865206475726174696f6e20697320746865206269642069732067726561746572207468616e20746865206e756d626572206f66207175657565732e38416d6f756e74546f6f536d616c6c04e02054686520616d6f756e74206f662074686520626964206973206c657373207468616e20746865206d696e696d756d20616c6c6f7765642e24426964546f6f4c6f770865012054686520717565756520666f7220746865206269642773206475726174696f6e2069732066756c6c20616e642074686520616d6f756e742062696420697320746f6f206c6f7720746f2067657420696e207468726f7567686c207265706c6163696e6720616e206578697374696e67206269642e1c556e6b6e6f776e045c2047696c7420696e64657820697320756e6b6e6f776e2e204e6f744f776e6572046c204e6f7420746865206f776e6572206f66207468652067696c742e284e6f744578706972656404742047696c74206e6f74207965742061742065787069727920646174652e204e6f74466f756e6404ac2054686520676976656e2062696420666f722072657472616374696f6e206973206e6f7420666f756e642e25041c40436865636b5370656356657273696f6e38436865636b547856657273696f6e30436865636b47656e6573697338436865636b4d6f7274616c69747928436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e74
+ tests/meta/v12.json view
@@ -0,0 +1,14399 @@+{+ "magicNumber": 1635018093,+ "metadata": {+ "v12": {+ "modules": [+ {+ "name": "System",+ "storage": {+ "prefix": "System",+ "items": [+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountInfo",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The full account information for a particular account ID."+ ]+ },+ {+ "name": "ExtrinsicCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total extrinsics count for the current block."+ ]+ },+ {+ "name": "BlockWeight",+ "modifier": "Default",+ "type": {+ "plain": "ConsumedWeight"+ },+ "fallback": "0x000000000000000000000000000000000000000000000000",+ "docs": [+ " The current weight for the block."+ ]+ },+ {+ "name": "AllExtrinsicsLen",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total length (in bytes) for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "BlockHash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Map of block numbers to block hashes."+ ]+ },+ {+ "name": "ExtrinsicData",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Extrinsics data for the current block (maps an extrinsic's index to its data)."+ ]+ },+ {+ "name": "Number",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current block number being processed. Set by `execute_block`."+ ]+ },+ {+ "name": "ParentHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Hash of the previous block."+ ]+ },+ {+ "name": "Digest",+ "modifier": "Default",+ "type": {+ "plain": "DigestOf"+ },+ "fallback": "0x00",+ "docs": [+ " Digest of the current block, also part of the block header."+ ]+ },+ {+ "name": "Events",+ "modifier": "Default",+ "type": {+ "plain": "Vec<EventRecord>"+ },+ "fallback": "0x00",+ "docs": [+ " Events deposited for the current block."+ ]+ },+ {+ "name": "EventCount",+ "modifier": "Default",+ "type": {+ "plain": "EventIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of events in the `Events<T>` list."+ ]+ },+ {+ "name": "EventTopics",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "Hash",+ "value": "Vec<(BlockNumber,EventIndex)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Mapping between a topic (represented by T::Hash) and a vector of indexes",+ " of events in the `<Events<T>>` list.",+ "",+ " All topic vectors have deterministic storage locations depending on the topic. This",+ " allows light-clients to leverage the changes trie storage tracking mechanism and",+ " in case of changes fetch the list of events of interest.",+ "",+ " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",+ " the `EventIndex` then in case if the topic has the same contents on the next block",+ " no notification will be triggered thus the event might be lost."+ ]+ },+ {+ "name": "LastRuntimeUpgrade",+ "modifier": "Optional",+ "type": {+ "plain": "LastRuntimeUpgradeInfo"+ },+ "fallback": "0x00",+ "docs": [+ " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."+ ]+ },+ {+ "name": "UpgradedToU32RefCount",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."+ ]+ },+ {+ "name": "UpgradedToTripleRefCount",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False",+ " (default) if not."+ ]+ },+ {+ "name": "ExecutionPhase",+ "modifier": "Optional",+ "type": {+ "plain": "Phase"+ },+ "fallback": "0x00",+ "docs": [+ " The execution phase of the block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "fill_block",+ "args": [+ {+ "name": "_ratio",+ "type": "Perbill"+ }+ ],+ "docs": [+ " A dispatch that will fill the block weight up to the given ratio."+ ]+ },+ {+ "name": "remark",+ "args": [+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark.",+ "",+ " # <weight>",+ " - `O(1)`",+ " # </weight>"+ ]+ },+ {+ "name": "set_heap_pages",+ "args": [+ {+ "name": "pages",+ "type": "u64"+ }+ ],+ "docs": [+ " Set the number of pages in the WebAssembly environment's heap.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write.",+ " - Base Weight: 1.405 µs",+ " - 1 write to HEAP_PAGES",+ " # </weight>"+ ]+ },+ {+ "name": "set_code",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code.",+ "",+ " # <weight>",+ " - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime, but generally this is very expensive.",+ " We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_code_without_checks",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code without doing any checks of the given `code`.",+ "",+ " # <weight>",+ " - `O(C)` where `C` length of `code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime. We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_changes_trie_config",+ "args": [+ {+ "name": "changes_trie_config",+ "type": "Option<ChangesTrieConfiguration>"+ }+ ],+ "docs": [+ " Set the new changes trie configuration.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write or delete (codec `O(1)`).",+ " - 1 call to `deposit_log`: Uses `append` API, so O(1)",+ " - Base Weight: 7.218 µs",+ " - DB Weight:",+ " - Writes: Changes Trie, System Digest",+ " # </weight>"+ ]+ },+ {+ "name": "set_storage",+ "args": [+ {+ "name": "items",+ "type": "Vec<KeyValue>"+ }+ ],+ "docs": [+ " Set some items of storage.",+ "",+ " # <weight>",+ " - `O(I)` where `I` length of `items`",+ " - `I` storage writes (`O(1)`).",+ " - Base Weight: 0.568 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_storage",+ "args": [+ {+ "name": "keys",+ "type": "Vec<Key>"+ }+ ],+ "docs": [+ " Kill some items from storage.",+ "",+ " # <weight>",+ " - `O(IK)` where `I` length of `keys` and `K` length of one key",+ " - `I` storage deletions.",+ " - Base Weight: .378 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_prefix",+ "args": [+ {+ "name": "prefix",+ "type": "Key"+ },+ {+ "name": "_subkeys",+ "type": "u32"+ }+ ],+ "docs": [+ " Kill all storage items with a key that starts with the given prefix.",+ "",+ " **NOTE:** We rely on the Root origin to provide us the number of subkeys under",+ " the prefix we are removing to accurately calculate the weight of this function.",+ "",+ " # <weight>",+ " - `O(P)` where `P` amount of keys with prefix `prefix`",+ " - `P` storage deletions.",+ " - Base Weight: 0.834 * P µs",+ " - Writes: Number of subkeys + 1",+ " # </weight>"+ ]+ },+ {+ "name": "remark_with_event",+ "args": [+ {+ "name": "remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark and emit event.",+ "",+ " # <weight>",+ " - `O(b)` where b is the length of the remark.",+ " - 1 event.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ExtrinsicSuccess",+ "args": [+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic completed successfully. \\[info\\]"+ ]+ },+ {+ "name": "ExtrinsicFailed",+ "args": [+ "DispatchError",+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic failed. \\[error, info\\]"+ ]+ },+ {+ "name": "CodeUpdated",+ "args": [],+ "docs": [+ " `:code` was updated."+ ]+ },+ {+ "name": "NewAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A new \\[account\\] was created."+ ]+ },+ {+ "name": "KilledAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] was reaped."+ ]+ },+ {+ "name": "Remarked",+ "args": [+ "AccountId",+ "Hash"+ ],+ "docs": [+ " On on-chain remark happened. \\[origin, remark_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "BlockWeights",+ "type": "BlockWeights",+ "value": "0x00f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a740000004059730700000000000000",+ "docs": [+ " Block & extrinsics weights: base values and limits."+ ]+ },+ {+ "name": "BlockLength",+ "type": "BlockLength",+ "value": "0x00003c000000500000005000",+ "docs": [+ " The maximum length of a block (in bytes)."+ ]+ },+ {+ "name": "BlockHashCount",+ "type": "BlockNumber",+ "value": "0x60090000",+ "docs": [+ " Maximum number of block number to block hash mappings to keep (oldest pruned first)."+ ]+ },+ {+ "name": "DbWeight",+ "type": "RuntimeDbWeight",+ "value": "0x40787d010000000000e1f50500000000",+ "docs": [+ " The weight of runtime database operations the runtime can invoke."+ ]+ },+ {+ "name": "Version",+ "type": "RuntimeVersion",+ "value": "0x106e6f6465387375627374726174652d6e6f64650a000000090100000100000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a04000000d2bc9897eed08f1502000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b0100000002000000",+ "docs": [+ " Get the chain's current version."+ ]+ },+ {+ "name": "SS58Prefix",+ "type": "u8",+ "value": "0x2a",+ "docs": [+ " The designated SS85 prefix of this chain.",+ "",+ " This replaces the \"ss58Format\" property declared in the chain spec. Reason is",+ " that the runtime should know about the prefix in order to make use of it as",+ " an identifier of the chain."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidSpecName",+ "docs": [+ " The name of specification does not match between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "SpecVersionNeedsToIncrease",+ "docs": [+ " The specification version is not allowed to decrease between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "FailedToExtractRuntimeVersion",+ "docs": [+ " Failed to extract the runtime version from the new runtime.",+ "",+ " Either calling `Core_version` or decoding `RuntimeVersion` failed."+ ]+ },+ {+ "name": "NonDefaultComposite",+ "docs": [+ " Suicide called when the account has non-default composite data."+ ]+ },+ {+ "name": "NonZeroRefCount",+ "docs": [+ " There is a non-zero reference count preventing the account from being purged."+ ]+ }+ ],+ "index": 0+ },+ {+ "name": "Utility",+ "storage": null,+ "calls": [+ {+ "name": "batch",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " If origin is root then call are dispatch without checking origin filter. (This includes",+ " bypassing `frame_system::Config::BaseCallFilter`).",+ "",+ " # <weight>",+ " - Complexity: O(C) where C is the number of calls to be batched.",+ " # </weight>",+ "",+ " This will return `Ok` in all circumstances. To determine the success of the batch, an",+ " event is deposited. If a call failed and the batch was interrupted, then the",+ " `BatchInterrupted` event is deposited, along with the number of successful calls made",+ " and the error of the failed call. If all were successful, then the `BatchCompleted`",+ " event is deposited."+ ]+ },+ {+ "name": "as_derivative",+ "args": [+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through an indexed pseudonym of the sender.",+ "",+ " Filter from origin are passed along. The call will be dispatched with an origin which",+ " use the same filter as the origin of this call.",+ "",+ " NOTE: If you need to ensure that any account-based filtering is not honored (i.e.",+ " because you expect `proxy` to have been used prior in the call stack and you do not want",+ " the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`",+ " in the Multisig pallet instead.",+ "",+ " NOTE: Prior to version *12, this was called `as_limited_sub`.",+ "",+ " The dispatch origin for this call must be _Signed_."+ ]+ },+ {+ "name": "batch_all",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls and atomically execute them.",+ " The whole transaction will rollback and fail if any of the calls failed.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " If origin is root then call are dispatch without checking origin filter. (This includes",+ " bypassing `frame_system::Config::BaseCallFilter`).",+ "",+ " # <weight>",+ " - Complexity: O(C) where C is the number of calls to be batched.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "BatchInterrupted",+ "args": [+ "u32",+ "DispatchError"+ ],+ "docs": [+ " Batch of dispatches did not complete fully. Index of first failing dispatch given, as",+ " well as the error. \\[index, error\\]"+ ]+ },+ {+ "name": "BatchCompleted",+ "args": [],+ "docs": [+ " Batch of dispatches completed fully with no error."+ ]+ }+ ],+ "constants": [],+ "errors": [],+ "index": 1+ },+ {+ "name": "Babe",+ "storage": {+ "prefix": "Babe",+ "items": [+ {+ "name": "EpochIndex",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current epoch index."+ ]+ },+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Current epoch authorities."+ ]+ },+ {+ "name": "GenesisSlot",+ "modifier": "Default",+ "type": {+ "plain": "Slot"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The slot at which the first epoch actually started. This is 0",+ " until the first block of the chain."+ ]+ },+ {+ "name": "CurrentSlot",+ "modifier": "Default",+ "type": {+ "plain": "Slot"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current slot number."+ ]+ },+ {+ "name": "Randomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The epoch randomness for the *current* epoch.",+ "",+ " # Security",+ "",+ " This MUST NOT be used for gambling, as it can be influenced by a",+ " malicious validator in the short term. It MAY be used in many",+ " cryptographic protocols, however, so long as one remembers that this",+ " (like everything else on-chain) it is public. For example, it can be",+ " used where a number is needed that cannot have been chosen by an",+ " adversary, for purposes such as public-coin zero-knowledge proofs."+ ]+ },+ {+ "name": "PendingEpochConfigChange",+ "modifier": "Optional",+ "type": {+ "plain": "NextConfigDescriptor"+ },+ "fallback": "0x00",+ "docs": [+ " Pending epoch configuration change that will be applied when the next epoch is enacted."+ ]+ },+ {+ "name": "NextRandomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Next epoch randomness."+ ]+ },+ {+ "name": "NextAuthorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Next epoch authorities."+ ]+ },+ {+ "name": "SegmentIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Randomness under construction.",+ "",+ " We make a tradeoff between storage accesses and list length.",+ " We store the under-construction randomness in segments of up to",+ " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",+ "",+ " Once a segment reaches this length, we begin the next one.",+ " We reset all segments and return to `0` at the beginning of every",+ " epoch."+ ]+ },+ {+ "name": "UnderConstruction",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Vec<Randomness>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."+ ]+ },+ {+ "name": "Initialized",+ "modifier": "Optional",+ "type": {+ "plain": "MaybeRandomness"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) which is `Some`",+ " if per-block initialization has already been called for current block."+ ]+ },+ {+ "name": "AuthorVrfRandomness",+ "modifier": "Default",+ "type": {+ "plain": "MaybeRandomness"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) that includes the VRF output generated",+ " at this block. This field should always be populated during block processing unless",+ " secondary plain slots are enabled (which don't contain a VRF output)."+ ]+ },+ {+ "name": "EpochStart",+ "modifier": "Default",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The block numbers when the last and current epoch have started, respectively `N-1` and",+ " `N`.",+ " NOTE: We track this is in order to annotate the block number when a given pool of",+ " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in",+ " slots, which may be skipped, the block numbers may not line up with the slot numbers."+ ]+ },+ {+ "name": "Lateness",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " How late the current block is compared to its parent.",+ "",+ " This entry is populated as part of block execution and is cleaned up",+ " on block finalization. Querying this storage entry outside of block",+ " execution context should always yield zero."+ ]+ },+ {+ "name": "EpochConfig",+ "modifier": "Optional",+ "type": {+ "plain": "BabeEpochConfiguration"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the current epoch. Should never be `None` as it is initialized in genesis."+ ]+ },+ {+ "name": "NextEpochConfig",+ "modifier": "Optional",+ "type": {+ "plain": "BabeEpochConfiguration"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the next epoch, `None` if the config will not change",+ " (you can fallback to `EpochConfig` instead in that case)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported.",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ },+ {+ "name": "plan_config_change",+ "args": [+ {+ "name": "config",+ "type": "NextConfigDescriptor"+ }+ ],+ "docs": [+ " Plan an epoch config change. The epoch config change is recorded and will be enacted on",+ " the next call to `enact_epoch_change`. The config will be activated one epoch after.",+ " Multiple calls to this method will replace any existing planned config change that had",+ " not been enacted yet."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "EpochDuration",+ "type": "u64",+ "value": "0xc800000000000000",+ "docs": [+ " The amount of time, in slots, that each epoch should last.",+ " NOTE: Currently it is not possible to change the epoch duration after",+ " the chain has started. Attempting to do so will brick block production."+ ]+ },+ {+ "name": "ExpectedBlockTime",+ "type": "Moment",+ "value": "0xb80b000000000000",+ "docs": [+ " The expected average block time at which BABE should be creating",+ " blocks. Since BABE is probabilistic it is not trivial to figure out",+ " what the expected average block time should be based on the slot",+ " duration and the security parameter `c` (where `1 - c` represents",+ " the probability of a slot being empty)."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidEquivocationProof",+ "docs": [+ " An equivocation proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "InvalidKeyOwnershipProof",+ "docs": [+ " A key ownership proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "DuplicateOffenceReport",+ "docs": [+ " A given equivocation report is valid but already previously reported."+ ]+ }+ ],+ "index": 2+ },+ {+ "name": "Timestamp",+ "storage": {+ "prefix": "Timestamp",+ "items": [+ {+ "name": "Now",+ "modifier": "Default",+ "type": {+ "plain": "Moment"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current time for the current block."+ ]+ },+ {+ "name": "DidUpdate",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Did the timestamp get updated in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set",+ "args": [+ {+ "name": "now",+ "type": "Compact<Moment>"+ }+ ],+ "docs": [+ " Set the current time.",+ "",+ " This call should be invoked exactly once per block. It will panic at the finalization",+ " phase, if this call hasn't been invoked by that time.",+ "",+ " The timestamp should be greater than the previous one by the amount specified by",+ " `MinimumPeriod`.",+ "",+ " The dispatch origin for this call must be `Inherent`.",+ "",+ " # <weight>",+ " - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",+ " - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",+ " - 1 event handler `on_timestamp_set`. Must be `O(1)`.",+ " # </weight>"+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "MinimumPeriod",+ "type": "Moment",+ "value": "0xdc05000000000000",+ "docs": [+ " The minimum period between blocks. Beware that this is different to the *expected* period",+ " that the block production apparatus provides. Your chosen consensus system will generally",+ " work with this to determine a sensible block time. e.g. For Aura, it will be double this",+ " period on default settings."+ ]+ }+ ],+ "errors": [],+ "index": 3+ },+ {+ "name": "Authorship",+ "storage": {+ "prefix": "Authorship",+ "items": [+ {+ "name": "Uncles",+ "modifier": "Default",+ "type": {+ "plain": "Vec<UncleEntryItem>"+ },+ "fallback": "0x00",+ "docs": [+ " Uncles"+ ]+ },+ {+ "name": "Author",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " Author of current block."+ ]+ },+ {+ "name": "DidSetUncles",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Whether uncles were already set in this block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_uncles",+ "args": [+ {+ "name": "new_uncles",+ "type": "Vec<Header>"+ }+ ],+ "docs": [+ " Provide a set of uncles."+ ]+ }+ ],+ "events": null,+ "constants": [],+ "errors": [+ {+ "name": "InvalidUncleParent",+ "docs": [+ " The uncle parent not in the chain."+ ]+ },+ {+ "name": "UnclesAlreadySet",+ "docs": [+ " Uncles already set in the block."+ ]+ },+ {+ "name": "TooManyUncles",+ "docs": [+ " Too many uncles."+ ]+ },+ {+ "name": "GenesisUncle",+ "docs": [+ " The uncle is genesis."+ ]+ },+ {+ "name": "TooHighUncle",+ "docs": [+ " The uncle is too high in chain."+ ]+ },+ {+ "name": "UncleAlreadyIncluded",+ "docs": [+ " The uncle is already included."+ ]+ },+ {+ "name": "OldUncle",+ "docs": [+ " The uncle isn't recent enough to be included."+ ]+ }+ ],+ "index": 4+ },+ {+ "name": "Indices",+ "storage": {+ "prefix": "Indices",+ "items": [+ {+ "name": "Accounts",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountIndex",+ "value": "(AccountId,BalanceOf,bool)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The lookup from index to account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "claim",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an previously unassigned index.",+ "",+ " Payment: `Deposit` is reserved from the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be claimed. This must not be in use.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an index already owned by the sender to another account. The balance reservation",+ " is effectively transferred to the new account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be re-assigned. This must be owned by the sender.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One transfer operation.",+ " - One event.",+ " -------------------",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (recipient)",+ " - Writes: Indices Accounts, System Account (recipient)",+ " # </weight>"+ ]+ },+ {+ "name": "free",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Free up an index owned by the sender.",+ "",+ " Payment: Any previous deposit placed for the index is unreserved in the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must own the index.",+ "",+ " - `index`: the index to be freed. This must be owned by the sender.",+ "",+ " Emits `IndexFreed` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ },+ {+ "name": "freeze",+ "type": "bool"+ }+ ],+ "docs": [+ " Force an index to an account. This doesn't require a deposit. If the index is already",+ " held, then any deposit is reimbursed to its current owner.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `index`: the index to be (re-)assigned.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ " - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (original owner)",+ " - Writes: Indices Accounts, System Account (original owner)",+ " # </weight>"+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Freeze an index so it will always point to the sender account. This consumes the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must have a",+ " non-frozen account `index`.",+ "",+ " - `index`: the index to be frozen in place.",+ "",+ " Emits `IndexFrozen` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one slash operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "IndexAssigned",+ "args": [+ "AccountId",+ "AccountIndex"+ ],+ "docs": [+ " A account index was assigned. \\[index, who\\]"+ ]+ },+ {+ "name": "IndexFreed",+ "args": [+ "AccountIndex"+ ],+ "docs": [+ " A account index has been freed up (unassigned). \\[index\\]"+ ]+ },+ {+ "name": "IndexFrozen",+ "args": [+ "AccountIndex",+ "AccountId"+ ],+ "docs": [+ " A account index has been frozen to its current account ID. \\[index, who\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "Deposit",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The deposit needed for reserving an index."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotAssigned",+ "docs": [+ " The index was not already assigned."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " The index is assigned to another account."+ ]+ },+ {+ "name": "InUse",+ "docs": [+ " The index was not available."+ ]+ },+ {+ "name": "NotTransfer",+ "docs": [+ " The source and destination accounts are identical."+ ]+ },+ {+ "name": "Permanent",+ "docs": [+ " The index is permanent and may not be freed/changed."+ ]+ }+ ],+ "index": 5+ },+ {+ "name": "Balances",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "TotalIssuance",+ "modifier": "Default",+ "type": {+ "plain": "Balance"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total units issued in the system."+ ]+ },+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountData",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The balance of an account.",+ "",+ " NOTE: This is only used in the case that this pallet is used to store balances."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "Vec<BalanceLock>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Any liquidity locks on some account balances.",+ " NOTE: Should only be accessed when setting, changing and freeing a lock."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " This is set to v2.0.0 for new networks."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "transfer",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Transfer some liquid free balance to another account.",+ "",+ " `transfer` will set the `FreeBalance` of the sender and receiver.",+ " It will decrease the total issuance of the system by the `TransferFee`.",+ " If the sender's account is below the existential deposit as a result",+ " of the transfer, the account will be reaped.",+ "",+ " The dispatch origin for this call must be `Signed` by the transactor.",+ "",+ " # <weight>",+ " - Dependent on arguments but not critical, given proper implementations for",+ " input config types. See related functions below.",+ " - It contains a limited number of reads and writes internally and no complex computation.",+ "",+ " Related functions:",+ "",+ " - `ensure_can_withdraw` is always called internally but has a bounded complexity.",+ " - Transferring balances to accounts that did not exist before will cause",+ " `T::OnNewAccount::on_new_account` to be called.",+ " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.",+ " - `transfer_keep_alive` works the same way as `transfer`, but has an additional",+ " check that the transfer will not kill the origin account.",+ " ---------------------------------",+ " - Base Weight: 73.64 µs, worst case scenario (account created, account removed)",+ " - DB Weight: 1 Read and 1 Write to destination account",+ " - Origin account is already in memory, so no DB operations for them.",+ " # </weight>"+ ]+ },+ {+ "name": "set_balance",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "new_free",+ "type": "Compact<Balance>"+ },+ {+ "name": "new_reserved",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Set the balances of a given account.",+ "",+ " This will alter `FreeBalance` and `ReservedBalance` in storage. it will",+ " also decrease the total issuance of the system (`TotalIssuance`).",+ " If the new free or reserved balance is below the existential deposit,",+ " it will reset the account nonce (`frame_system::AccountNonce`).",+ "",+ " The dispatch origin for this call is `root`.",+ "",+ " # <weight>",+ " - Independent of the arguments.",+ " - Contains a limited number of reads and writes.",+ " ---------------------",+ " - Base Weight:",+ " - Creating: 27.56 µs",+ " - Killing: 35.11 µs",+ " - DB Weight: 1 Read, 1 Write to `who`",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Exactly as `transfer`, except the origin must be root and the source account may be",+ " specified.",+ " # <weight>",+ " - Same as transfer, but additional read and write because the source account is",+ " not assumed to be in the overlay.",+ " # </weight>"+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Same as the [`transfer`] call, but with a check that the transfer will not kill the",+ " origin account.",+ "",+ " 99% of the time you want [`transfer`] instead.",+ "",+ " [`transfer`]: struct.Pallet.html#method.transfer",+ " # <weight>",+ " - Cheaper than transfer because account cannot be killed.",+ " - Base Weight: 51.4 µs",+ " - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)",+ " #</weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Endowed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was created with some free balance. \\[account, free_balance\\]"+ ]+ },+ {+ "name": "DustLost",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was removed whose balance was non-zero but below ExistentialDeposit,",+ " resulting in an outright loss. \\[account, balance\\]"+ ]+ },+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Transfer succeeded. \\[from, to, value\\]"+ ]+ },+ {+ "name": "BalanceSet",+ "args": [+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " A balance was set by root. \\[who, free, reserved\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some amount was deposited (e.g. for transaction fees). \\[who, deposit\\]"+ ]+ },+ {+ "name": "Reserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was reserved (moved from free to reserved). \\[who, value\\]"+ ]+ },+ {+ "name": "Unreserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was unreserved (moved from reserved to free). \\[who, value\\]"+ ]+ },+ {+ "name": "ReserveRepatriated",+ "args": [+ "AccountId",+ "AccountId",+ "Balance",+ "BalanceStatus"+ ],+ "docs": [+ " Some balance was moved from the reserve of the first account to the second account.",+ " Final argument indicates the destination balance type.",+ " \\[from, to, balance, destination_status\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ExistentialDeposit",+ "type": "Balance",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to keep an account open."+ ]+ }+ ],+ "errors": [+ {+ "name": "VestingBalance",+ "docs": [+ " Vesting balance too high to send value"+ ]+ },+ {+ "name": "LiquidityRestrictions",+ "docs": [+ " Account liquidity restrictions prevent withdrawal"+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " Got an overflow after adding"+ ]+ },+ {+ "name": "InsufficientBalance",+ "docs": [+ " Balance too low to send value"+ ]+ },+ {+ "name": "ExistentialDeposit",+ "docs": [+ " Value too low to create account due to existential deposit"+ ]+ },+ {+ "name": "KeepAlive",+ "docs": [+ " Transfer/payment would kill account"+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " A vesting schedule already exists for this account"+ ]+ },+ {+ "name": "DeadAccount",+ "docs": [+ " Beneficiary account must pre-exist"+ ]+ }+ ],+ "index": 6+ },+ {+ "name": "TransactionPayment",+ "storage": {+ "prefix": "TransactionPayment",+ "items": [+ {+ "name": "NextFeeMultiplier",+ "modifier": "Default",+ "type": {+ "plain": "Multiplier"+ },+ "fallback": "0x000064a7b3b6e00d0000000000000000",+ "docs": []+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ },+ {+ "name": "WeightToFee",+ "type": "Vec<WeightToFeeCoefficient>",+ "value": "0x0401000000000000000000000000000000000000000001",+ "docs": [+ " The polynomial that is applied in order to derive fee from weight."+ ]+ }+ ],+ "errors": [],+ "index": 7+ },+ {+ "name": "ElectionProviderMultiPhase",+ "storage": {+ "prefix": "ElectionProviderMultiPhase",+ "items": [+ {+ "name": "Round",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x01000000",+ "docs": [+ " Internal counter for the number of rounds.",+ "",+ " This is useful for de-duplication of transactions submitted to the pool, and general",+ " diagnostics of the pallet.",+ "",+ " This is merely incremented once per every time that an upstream `elect` is called."+ ]+ },+ {+ "name": "CurrentPhase",+ "modifier": "Default",+ "type": {+ "plain": "ElectionPhase"+ },+ "fallback": "0x00",+ "docs": [+ " Current phase."+ ]+ },+ {+ "name": "QueuedSolution",+ "modifier": "Optional",+ "type": {+ "plain": "ReadySolution"+ },+ "fallback": "0x00",+ "docs": [+ " Current best solution, signed or unsigned, queued to be returned upon `elect`."+ ]+ },+ {+ "name": "Snapshot",+ "modifier": "Optional",+ "type": {+ "plain": "RoundSnapshot"+ },+ "fallback": "0x00",+ "docs": [+ " Snapshot data of the round.",+ "",+ " This is created at the beginning of the signed phase and cleared upon calling `elect`."+ ]+ },+ {+ "name": "DesiredTargets",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Desired number of targets to elect for this round.",+ "",+ " Only exists when [`Snapshot`] is present."+ ]+ },+ {+ "name": "SnapshotMetadata",+ "modifier": "Optional",+ "type": {+ "plain": "SolutionOrSnapshotSize"+ },+ "fallback": "0x00",+ "docs": [+ " The metadata of the [`RoundSnapshot`]",+ "",+ " Only exists when [`Snapshot`] is present."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "submit_unsigned",+ "args": [+ {+ "name": "solution",+ "type": "RawSolution"+ },+ {+ "name": "witness",+ "type": "SolutionOrSnapshotSize"+ }+ ],+ "docs": [+ " Submit a solution for the unsigned phase.",+ "",+ " The dispatch origin fo this call must be __none__.",+ "",+ " This submission is checked on the fly. Moreover, this unsigned solution is only",+ " validated when submitted to the pool from the **local** node. Effectively, this means",+ " that only active validators can submit this transaction when authoring a block (similar",+ " to an inherent).",+ "",+ " To prevent any incorrect solution (and thus wasted time/weight), this transaction will",+ " panic if the solution submitted by the validator is invalid in any way, effectively",+ " putting their authoring reward at risk.",+ "",+ " No deposit or reward is associated with this submission."+ ]+ }+ ],+ "events": [+ {+ "name": "SolutionStored",+ "args": [+ "ElectionCompute"+ ],+ "docs": [+ " A solution was stored with the given compute.",+ "",+ " If the solution is signed, this means that it hasn't yet been processed. If the",+ " solution is unsigned, this means that it has also been processed."+ ]+ },+ {+ "name": "ElectionFinalized",+ "args": [+ "Option<ElectionCompute>"+ ],+ "docs": [+ " The election has been finalized, with `Some` of the given computation, or else if the",+ " election failed, `None`."+ ]+ },+ {+ "name": "Rewarded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account has been rewarded for their signed submission being finalized."+ ]+ },+ {+ "name": "Slashed",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account has been slashed for submitting an invalid signed submission."+ ]+ },+ {+ "name": "SignedPhaseStarted",+ "args": [+ "u32"+ ],+ "docs": [+ " The signed phase of the given round has started."+ ]+ },+ {+ "name": "UnsignedPhaseStarted",+ "args": [+ "u32"+ ],+ "docs": [+ " The unsigned phase of the given round has started."+ ]+ }+ ],+ "constants": [+ {+ "name": "UnsignedPhase",+ "type": "BlockNumber",+ "value": "0x32000000",+ "docs": [+ " Duration of the unsigned phase."+ ]+ },+ {+ "name": "SignedPhase",+ "type": "BlockNumber",+ "value": "0x32000000",+ "docs": [+ " Duration of the signed phase."+ ]+ },+ {+ "name": "SolutionImprovementThreshold",+ "type": "Perbill",+ "value": "0xa0860100",+ "docs": [+ " The minimum amount of improvement to the solution score that defines a solution as",+ " \"better\" (in any phase)."+ ]+ }+ ],+ "errors": [+ {+ "name": "PreDispatchEarlySubmission",+ "docs": [+ " Submission was too early."+ ]+ },+ {+ "name": "PreDispatchWrongWinnerCount",+ "docs": [+ " Wrong number of winners presented."+ ]+ },+ {+ "name": "PreDispatchWeakSubmission",+ "docs": [+ " Submission was too weak, score-wise."+ ]+ }+ ],+ "index": 8+ },+ {+ "name": "Staking",+ "storage": {+ "prefix": "Staking",+ "items": [+ {+ "name": "HistoryDepth",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x54000000",+ "docs": [+ " Number of eras to keep in history.",+ "",+ " Information is kept for eras in `[current_era - history_depth; current_era]`.",+ "",+ " Must be more than the number of eras delayed by session otherwise. I.e. active era must",+ " always be in history. I.e. `active_era > current_era - history_depth` must be",+ " guaranteed."+ ]+ },+ {+ "name": "ValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The ideal number of staking participants."+ ]+ },+ {+ "name": "MinimumValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Minimum number of staking participants before emergency conditions are imposed."+ ]+ },+ {+ "name": "Invulnerables",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",+ " easy to initialize and the performance hit is minimal (we expect no more than four",+ " invulnerables) and restricted to testnets."+ ]+ },+ {+ "name": "Bonded",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all locked \"stash\" accounts to the controller account."+ ]+ },+ {+ "name": "Ledger",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "StakingLedger",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."+ ]+ },+ {+ "name": "Payee",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RewardDestination",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Where the reward payment should be made. Keyed by stash."+ ]+ },+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ValidatorPrefs",+ "linked": false+ }+ },+ "fallback": "0x0000",+ "docs": [+ " The map from (wannabe) validator stash key to the preferences of that validator."+ ]+ },+ {+ "name": "Nominators",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Nominations",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from nominator stash key to the set of stash keys of all validators to nominate."+ ]+ },+ {+ "name": "CurrentEra",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The current era index.",+ "",+ " This is the latest planned era, depending on how the Session pallet queues the validator",+ " set, it might be active or not."+ ]+ },+ {+ "name": "ActiveEra",+ "modifier": "Optional",+ "type": {+ "plain": "ActiveEraInfo"+ },+ "fallback": "0x00",+ "docs": [+ " The active era information, it holds index and start.",+ "",+ " The active era is the era being currently rewarded. Validator set of this era must be",+ " equal to [`SessionInterface::validators`]."+ ]+ },+ {+ "name": "ErasStartSessionIndex",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The session index at which the era start for the last `HISTORY_DEPTH` eras.",+ "",+ " Note: This tracks the starting session (i.e. session index when era start being active)",+ " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."+ ]+ },+ {+ "name": "ErasStakers",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Exposure of validator at era.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasStakersClipped",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Clipped Exposure of validator at era.",+ "",+ " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the",+ " `T::MaxNominatorRewardedPerValidator` biggest stakers.",+ " (Note: the field `total` and `own` of the exposure remains unchanged).",+ " This is used to limit the i/o cost for the nominator payout.",+ "",+ " This is keyed fist by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasValidatorPrefs",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "ValidatorPrefs",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x0000",+ "docs": [+ " Similar to `ErasStakers`, this holds the preferences of validators.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras."+ ]+ },+ {+ "name": "ErasValidatorReward",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The total validator era payout for the last `HISTORY_DEPTH` eras.",+ "",+ " Eras that haven't finished yet or has been removed doesn't have reward."+ ]+ },+ {+ "name": "ErasRewardPoints",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "EraRewardPoints",+ "linked": false+ }+ },+ "fallback": "0x0000000000",+ "docs": [+ " Rewards for the last `HISTORY_DEPTH` eras.",+ " If reward hasn't been set or has been removed then 0 reward is returned."+ ]+ },+ {+ "name": "ErasTotalStake",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total amount staked for the last `HISTORY_DEPTH` eras.",+ " If total hasn't been set or has been removed then 0 stake is returned."+ ]+ },+ {+ "name": "ForceEra",+ "modifier": "Default",+ "type": {+ "plain": "Forcing"+ },+ "fallback": "0x00",+ "docs": [+ " Mode of era forcing."+ ]+ },+ {+ "name": "SlashRewardFraction",+ "modifier": "Default",+ "type": {+ "plain": "Perbill"+ },+ "fallback": "0x00000000",+ "docs": [+ " The percentage of the slash that is distributed to reporters.",+ "",+ " The rest of the slashed value is handled by the `Slash`."+ ]+ },+ {+ "name": "CanceledSlashPayout",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of currency given to reporters of a slash event which was",+ " canceled by extraordinary circumstances (e.g. governance)."+ ]+ },+ {+ "name": "UnappliedSlashes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "Vec<UnappliedSlash>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " All unapplied slashes that are queued for later."+ ]+ },+ {+ "name": "BondedEras",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(EraIndex,SessionIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from still-bonded eras to the first session index of that era.",+ "",+ " Must contains information for eras for the range:",+ " `[active_era - bounding_duration; active_era]`"+ ]+ },+ {+ "name": "ValidatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "(Perbill,BalanceOf)",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on validators, mapped by era to the highest slash proportion",+ " and slash value of the era."+ ]+ },+ {+ "name": "NominatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "BalanceOf",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on nominators, mapped by era to the highest slash value of the era."+ ]+ },+ {+ "name": "SlashingSpans",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SlashingSpans",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Slashing spans for stash accounts."+ ]+ },+ {+ "name": "SpanSlash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(AccountId,SpanIndex)",+ "value": "SpanRecord",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Records information about the maximum slash of a stash within a slashing span,",+ " as well as how much reward has been paid out."+ ]+ },+ {+ "name": "EarliestUnappliedSlash",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The earliest era for which we have a pending, unapplied slash."+ ]+ },+ {+ "name": "CurrentPlannedSession",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The last planned session scheduled by the session pallet.",+ "",+ " This is basically in sync with the call to [`SessionManager::new_session`]."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x05",+ "docs": [+ " True if network has been upgraded to this version.",+ " Storage version of the pallet.",+ "",+ " This is set to v6.0.0 for new networks."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bond",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " Take the origin account as a stash and lock up `value` of its balance. `controller` will",+ " be the account that controls it.",+ "",+ " `value` must be more than the `minimum_balance` specified by `T::Currency`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash account.",+ "",+ " Emits `Bonded`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Moderate complexity.",+ " - O(1).",+ " - Three extra DB entries.",+ "",+ " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned",+ " unless the `origin` falls below _existential deposit_ and gets removed as dust.",+ " ------------------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: Bonded, Ledger, [Origin Account], Current Era, History Depth, Locks",+ " - Write: Bonded, Payee, [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "bond_extra",+ "args": [+ {+ "name": "max_additional",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Add some extra amount that have appeared in the stash `free_balance` into the balance up",+ " for staking.",+ "",+ " Use this if there are additional funds in your stash account that you wish to bond.",+ " Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount",+ " that can be added.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller and",+ " it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Bonded`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - O(1).",+ " - One DB entry.",+ " ------------",+ " DB Weight:",+ " - Read: Era Election Status, Bonded, Ledger, [Origin Account], Locks",+ " - Write: [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "unbond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Schedule a portion of the stash to be unlocked ready for transfer out after the bond",+ " period ends. If this leaves an amount actively bonded less than",+ " T::Currency::minimum_balance(), then it is increased to the full amount.",+ "",+ " Once the unlock period is done, you can call `withdraw_unbonded` to actually move",+ " the funds out of management ready for transfer.",+ "",+ " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)",+ " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need",+ " to be called first to remove some of the chunks (if possible).",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Unbonded`.",+ "",+ " See also [`Call::withdraw_unbonded`].",+ "",+ " # <weight>",+ " - Independent of the arguments. Limited but potentially exploitable complexity.",+ " - Contains a limited number of reads.",+ " - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",+ " will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",+ " The only way to clean the aforementioned storage item is also user-controlled via",+ " `withdraw_unbonded`.",+ " - One DB entry.",+ " ----------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: EraElectionStatus, Ledger, CurrentEra, Locks, BalanceOf Stash,",+ " - Write: Locks, Ledger, BalanceOf Stash,",+ " </weight>"+ ]+ },+ {+ "name": "withdraw_unbonded",+ "args": [+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove any unlocked chunks from the `unlocking` queue from our management.",+ "",+ " This essentially frees up that balance to be used by the stash account to do",+ " whatever it wants.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " Emits `Withdrawn`.",+ "",+ " See also [`Call::unbond`].",+ "",+ " # <weight>",+ " - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",+ " It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",+ " indirectly user-controlled. See [`unbond`] for more detail.",+ " - Contains a limited number of reads, yet the size of which could be large based on `ledger`.",+ " - Writes are limited to the `origin` account key.",+ " ---------------",+ " Complexity O(S) where S is the number of slashing spans to remove",+ " Update:",+ " - Reads: EraElectionStatus, Ledger, Current Era, Locks, [Origin Account]",+ " - Writes: [Origin Account], Locks, Ledger",+ " Kill:",+ " - Reads: EraElectionStatus, Ledger, Current Era, Bonded, Slashing Spans, [Origin",+ " Account], Locks, BalanceOf stash",+ " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators,",+ " [Origin Account], Locks, BalanceOf stash.",+ " - Writes Each: SpanSlash * S",+ " NOTE: Weight annotation is the kill scenario, we refund otherwise.",+ " # </weight>"+ ]+ },+ {+ "name": "validate",+ "args": [+ {+ "name": "prefs",+ "type": "ValidatorPrefs"+ }+ ],+ "docs": [+ " Declare the desire to validate for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " -----------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: Era Election Status, Ledger",+ " - Write: Nominators, Validators",+ " # </weight>"+ ]+ },+ {+ "name": "nominate",+ "args": [+ {+ "name": "targets",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Declare the desire to nominate `targets` for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era. This can only be called when",+ " [`EraElectionStatus`] is `Closed`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - The transaction's complexity is proportional to the size of `targets` (N)",+ " which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).",+ " - Both the reads and writes follow a similar pattern.",+ " ---------",+ " Weight: O(N)",+ " where N is the number of targets",+ " DB Weight:",+ " - Reads: Era Election Status, Ledger, Current Era",+ " - Writes: Validators, Nominators",+ " # </weight>"+ ]+ },+ {+ "name": "chill",+ "args": [],+ "docs": [+ " Declare no desire to either validate or nominate.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains one read.",+ " - Writes are limited to the `origin` account key.",+ " --------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: EraElectionStatus, Ledger",+ " - Write: Validators, Nominators",+ " # </weight>"+ ]+ },+ {+ "name": "set_payee",+ "args": [+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " (Re-)set the payment target for a controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ---------",+ " - Weight: O(1)",+ " - DB Weight:",+ " - Read: Ledger",+ " - Write: Payee",+ " # </weight>"+ ]+ },+ {+ "name": "set_controller",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " (Re-)set the controller of a stash.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ----------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: Bonded, Ledger New Controller, Ledger Old Controller",+ " - Write: Bonded, Ledger New Controller, Ledger Old Controller",+ " # </weight>"+ ]+ },+ {+ "name": "set_validator_count",+ "args": [+ {+ "name": "new",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Sets the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Weight: O(1)",+ " Write: Validator Count",+ " # </weight>"+ ]+ },+ {+ "name": "increase_validator_count",+ "args": [+ {+ "name": "additional",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Increments the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Same as [`set_validator_count`].",+ " # </weight>"+ ]+ },+ {+ "name": "scale_validator_count",+ "args": [+ {+ "name": "factor",+ "type": "Percent"+ }+ ],+ "docs": [+ " Scale up the ideal number of validators by a factor.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Same as [`set_validator_count`].",+ " # </weight>"+ ]+ },+ {+ "name": "force_no_eras",+ "args": [],+ "docs": [+ " Force there to be no new eras indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Weight: O(1)",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of the next session. After this, it will be",+ " reset to normal (non-forced) behaviour.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Weight: O(1)",+ " - Write ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "set_invulnerables",+ "args": [+ {+ "name": "invulnerables",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the validators who cannot be slashed (if any).",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - O(V)",+ " - Write: Invulnerables",+ " # </weight>"+ ]+ },+ {+ "name": "force_unstake",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Force a current staker to become completely unstaked, immediately.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " O(S) where S is the number of slashing spans to be removed",+ " Reads: Bonded, Slashing Spans, Account, Locks",+ " Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks",+ " Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era_always",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of sessions indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - Weight: O(1)",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_deferred_slash",+ "args": [+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "slash_indices",+ "type": "Vec<u32>"+ }+ ],+ "docs": [+ " Cancel enactment of a deferred slash.",+ "",+ " Can be called by the `T::SlashCancelOrigin`.",+ "",+ " Parameters: era and indices of the slashes for that era to kill.",+ "",+ " # <weight>",+ " Complexity: O(U + S)",+ " with U unapplied slashes weighted with U=1000",+ " and S is the number of slash indices to be canceled.",+ " - Read: Unapplied Slashes",+ " - Write: Unapplied Slashes",+ " # </weight>"+ ]+ },+ {+ "name": "payout_stakers",+ "args": [+ {+ "name": "validator_stash",+ "type": "AccountId"+ },+ {+ "name": "era",+ "type": "EraIndex"+ }+ ],+ "docs": [+ " Pay out all the stakers behind a single validator for a single era.",+ "",+ " - `validator_stash` is the stash account of the validator. Their nominators, up to",+ " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.",+ " - `era` may be any era between `[current_era - history_depth; current_era]`.",+ "",+ " The origin of this call must be _Signed_. Any account can call this function, even if",+ " it is not one of the stakers.",+ "",+ " This can only be called when [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Time complexity: at most O(MaxNominatorRewardedPerValidator).",+ " - Contains a limited number of reads and writes.",+ " -----------",+ " N is the Number of payouts for the validator (including the validator)",+ " Weight:",+ " - Reward Destination Staked: O(N)",+ " - Reward Destination Controller (Creating): O(N)",+ " DB Weight:",+ " - Read: EraElectionStatus, CurrentEra, HistoryDepth, ErasValidatorReward,",+ " ErasStakersClipped, ErasRewardPoints, ErasValidatorPrefs (8 items)",+ " - Read Each: Bonded, Ledger, Payee, Locks, System Account (5 items)",+ " - Write Each: System Account, Locks, Ledger (3 items)",+ "",+ " NOTE: weights are assuming that payouts are made to alive stash account (Staked).",+ " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.",+ " # </weight>"+ ]+ },+ {+ "name": "rebond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Rebond a portion of the stash scheduled to be unlocked.",+ "",+ " The dispatch origin must be signed by the controller, and it can be only called when",+ " [`EraElectionStatus`] is `Closed`.",+ "",+ " # <weight>",+ " - Time complexity: O(L), where L is unlocking chunks",+ " - Bounded by `MAX_UNLOCKING_CHUNKS`.",+ " - Storage changes: Can't increase storage, only decrease it.",+ " ---------------",+ " - DB Weight:",+ " - Reads: EraElectionStatus, Ledger, Locks, [Origin Account]",+ " - Writes: [Origin Account], Locks, Ledger",+ " # </weight>"+ ]+ },+ {+ "name": "set_history_depth",+ "args": [+ {+ "name": "new_history_depth",+ "type": "Compact<EraIndex>"+ },+ {+ "name": "_era_items_deleted",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Set `HistoryDepth` value. This function will delete any history information",+ " when `HistoryDepth` is reduced.",+ "",+ " Parameters:",+ " - `new_history_depth`: The new history depth you would like to set.",+ " - `era_items_deleted`: The number of items that will be deleted by this dispatch.",+ " This should report all the storage items that will be deleted by clearing old",+ " era history. Needed to report an accurate weight for the dispatch. Trusted by",+ " `Root` to report an accurate number.",+ "",+ " Origin must be root.",+ "",+ " # <weight>",+ " - E: Number of history depths removed, i.e. 10 -> 7 = 3",+ " - Weight: O(E)",+ " - DB Weight:",+ " - Reads: Current Era, History Depth",+ " - Writes: History Depth",+ " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs",+ " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex",+ " # </weight>"+ ]+ },+ {+ "name": "reap_stash",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove all data structure concerning a staker/stash once its balance is at the minimum.",+ " This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone",+ " and the target `stash` must have no funds left beyond the ED.",+ "",+ " This can be called from any origin.",+ "",+ " - `stash`: The stash account to reap. Its balance must be zero.",+ "",+ " # <weight>",+ " Complexity: O(S) where S is the number of slashing spans on the account.",+ " DB Weight:",+ " - Reads: Stash Account, Bonded, Slashing Spans, Locks",+ " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks",+ " - Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "kick",+ "args": [+ {+ "name": "who",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Remove the given nominations from the calling validator.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ " And, it can be only called when [`EraElectionStatus`] is `Closed`. The controller",+ " account should represent a validator.",+ "",+ " - `who`: A list of nominator stash accounts who are nominating this validator which",+ " should no longer be nominating this validator.",+ "",+ " Note: Making this call only makes sense if you first set the validator preferences to",+ " block any further nominations."+ ]+ }+ ],+ "events": [+ {+ "name": "EraPayout",+ "args": [+ "EraIndex",+ "Balance",+ "Balance"+ ],+ "docs": [+ " The era payout has been set; the first balance is the validator-payout; the second is",+ " the remainder from the maximum amount of reward.",+ " \\[era_index, validator_payout, remainder\\]"+ ]+ },+ {+ "name": "Reward",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The staker has been rewarded by this amount. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Slash",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " One validator (and its nominators) has been slashed by the given amount.",+ " \\[validator, amount\\]"+ ]+ },+ {+ "name": "OldSlashingReportDiscarded",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " An old slashing report from a prior era was discarded because it could",+ " not be processed. \\[session_index\\]"+ ]+ },+ {+ "name": "StakingElection",+ "args": [],+ "docs": [+ " A new set of stakers was elected."+ ]+ },+ {+ "name": "Bonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has bonded this amount. \\[stash, amount\\]",+ "",+ " NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,",+ " it will not be emitted for staking rewards when they are added to stake."+ ]+ },+ {+ "name": "Unbonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has unbonded this amount. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Withdrawn",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`",+ " from the unlocking queue. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Kicked",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A nominator has been kicked from a validator. \\[nominator, stash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "SessionsPerEra",+ "type": "SessionIndex",+ "value": "0x06000000",+ "docs": [+ " Number of sessions per era."+ ]+ },+ {+ "name": "BondingDuration",+ "type": "EraIndex",+ "value": "0xa0020000",+ "docs": [+ " Number of eras that staked funds must remain bonded for."+ ]+ },+ {+ "name": "SlashDeferDuration",+ "type": "EraIndex",+ "value": "0xa8000000",+ "docs": [+ " Number of eras that slashes are deferred by, after computation.",+ "",+ " This should be less than the bonding duration.",+ " Set to 0 if slashes should be applied immediately, without opportunity for",+ " intervention."+ ]+ },+ {+ "name": "MaxNominatorRewardedPerValidator",+ "type": "u32",+ "value": "0x00010000",+ "docs": [+ " The maximum number of nominators rewarded for each validator.",+ "",+ " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim",+ " their reward. This used to limit the i/o cost for the nominator payout."+ ]+ },+ {+ "name": "MaxNominations",+ "type": "u32",+ "value": "0x10000000",+ "docs": [+ " Maximum number of nominations per nominator."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotController",+ "docs": [+ " Not a controller account."+ ]+ },+ {+ "name": "NotStash",+ "docs": [+ " Not a stash account."+ ]+ },+ {+ "name": "AlreadyBonded",+ "docs": [+ " Stash is already bonded."+ ]+ },+ {+ "name": "AlreadyPaired",+ "docs": [+ " Controller is already paired."+ ]+ },+ {+ "name": "EmptyTargets",+ "docs": [+ " Targets cannot be empty."+ ]+ },+ {+ "name": "DuplicateIndex",+ "docs": [+ " Duplicate index."+ ]+ },+ {+ "name": "InvalidSlashIndex",+ "docs": [+ " Slash record index out of bounds."+ ]+ },+ {+ "name": "InsufficientValue",+ "docs": [+ " Can not bond with value less than minimum balance."+ ]+ },+ {+ "name": "NoMoreChunks",+ "docs": [+ " Can not schedule more unlock chunks."+ ]+ },+ {+ "name": "NoUnlockChunk",+ "docs": [+ " Can not rebond without unlocking chunks."+ ]+ },+ {+ "name": "FundedTarget",+ "docs": [+ " Attempting to target a stash that still has funds."+ ]+ },+ {+ "name": "InvalidEraToReward",+ "docs": [+ " Invalid era to reward."+ ]+ },+ {+ "name": "InvalidNumberOfNominations",+ "docs": [+ " Invalid number of nominations."+ ]+ },+ {+ "name": "NotSortedAndUnique",+ "docs": [+ " Items are not sorted and unique."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Rewards for this era have already been claimed for this validator."+ ]+ },+ {+ "name": "IncorrectHistoryDepth",+ "docs": [+ " Incorrect previous history depth input provided."+ ]+ },+ {+ "name": "IncorrectSlashingSpans",+ "docs": [+ " Incorrect number of slashing spans provided."+ ]+ },+ {+ "name": "BadState",+ "docs": [+ " Internal state has become somehow corrupted and the operation cannot continue."+ ]+ },+ {+ "name": "TooManyTargets",+ "docs": [+ " Too many nomination targets supplied."+ ]+ },+ {+ "name": "BadTarget",+ "docs": [+ " A nomination target was supplied that was blocked or otherwise not a validator."+ ]+ }+ ],+ "index": 9+ },+ {+ "name": "Session",+ "storage": {+ "prefix": "Session",+ "items": [+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ValidatorId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of validators."+ ]+ },+ {+ "name": "CurrentIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Current index of the session."+ ]+ },+ {+ "name": "QueuedChanged",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the underlying economic identities or weighting behind the validators",+ " has changed in the queued validator set."+ ]+ },+ {+ "name": "QueuedKeys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(ValidatorId,Keys)>"+ },+ "fallback": "0x00",+ "docs": [+ " The queued keys for the next session. When the next session begins, these keys",+ " will be used to determine the validator's session keys."+ ]+ },+ {+ "name": "DisabledValidators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<u32>"+ },+ "fallback": "0x00",+ "docs": [+ " Indices of disabled validators.",+ "",+ " The set is cleared when `on_session_ending` returns a new set of identities."+ ]+ },+ {+ "name": "NextKeys",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ValidatorId",+ "value": "Keys",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The next session keys for a validator."+ ]+ },+ {+ "name": "KeyOwner",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(KeyTypeId,Bytes)",+ "value": "ValidatorId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The owner of a key. The key is the `KeyTypeId` + the encoded key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_keys",+ "args": [+ {+ "name": "keys",+ "type": "Keys"+ },+ {+ "name": "proof",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Sets the session key(s) of the function caller to `keys`.",+ " Allows an account to set its session key prior to becoming a validator.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`",+ " - DbWrites: `origin account`, `NextKeys`",+ " - DbReads per key id: `KeyOwner`",+ " - DbWrites per key id: `KeyOwner`",+ " # </weight>"+ ]+ },+ {+ "name": "purge_keys",+ "args": [],+ "docs": [+ " Removes any session key(s) of the function caller.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)` in number of key types.",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`",+ " - DbWrites: `NextKeys`, `origin account`",+ " - DbWrites per key id: `KeyOwnder`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewSession",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " New session has happened. Note that the argument is the \\[session_index\\], not the block",+ " number as the type might suggest."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidProof",+ "docs": [+ " Invalid ownership proof."+ ]+ },+ {+ "name": "NoAssociatedValidatorId",+ "docs": [+ " No associated validator ID for account."+ ]+ },+ {+ "name": "DuplicatedKey",+ "docs": [+ " Registered duplicate key."+ ]+ },+ {+ "name": "NoKeys",+ "docs": [+ " No keys are associated with this account."+ ]+ },+ {+ "name": "NoAccount",+ "docs": [+ " Key setting account is not live, so it's impossible to associate keys."+ ]+ }+ ],+ "index": 10+ },+ {+ "name": "Democracy",+ "storage": {+ "prefix": "Democracy",+ "items": [+ {+ "name": "PublicPropCount",+ "modifier": "Default",+ "type": {+ "plain": "PropIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of (public) proposals that have been made so far."+ ]+ },+ {+ "name": "PublicProps",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(PropIndex,Hash,AccountId)>"+ },+ "fallback": "0x00",+ "docs": [+ " The public proposals. Unsorted. The second item is the proposal's hash."+ ]+ },+ {+ "name": "DepositOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "PropIndex",+ "value": "(Vec<AccountId>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Those who have locked a deposit.",+ "",+ " TWOX-NOTE: Safe, as increasing integer keys are safe."+ ]+ },+ {+ "name": "Preimages",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "PreimageStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map of hashes to the proposal preimage, along with who registered it and their deposit.",+ " The block number is the block at which it was deposited."+ ]+ },+ {+ "name": "ReferendumCount",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free referendum index, aka the number of referenda started so far."+ ]+ },+ {+ "name": "LowestUnbaked",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The lowest referendum index representing an unbaked referendum. Equal to",+ " `ReferendumCount` if there isn't a unbaked referendum."+ ]+ },+ {+ "name": "ReferendumInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReferendumIndex",+ "value": "ReferendumInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information concerning any given referendum.",+ "",+ " TWOX-NOTE: SAFE as indexes are not under an attacker’s control."+ ]+ },+ {+ "name": "VotingOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Voting",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " All votes for a particular voter. We store the balance for the number of votes that we",+ " have recorded. The second item is the total amount of delegations, that will be added.",+ "",+ " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "BlockNumber",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Accounts for which there are locks in action which may be removed at some point in the",+ " future. The value is the block number at which the lock expires and may be removed.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "LastTabledWasExternal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the last referendum tabled was submitted externally. False if it was a public",+ " proposal."+ ]+ },+ {+ "name": "NextExternal",+ "modifier": "Optional",+ "type": {+ "plain": "(Hash,VoteThreshold)"+ },+ "fallback": "0x00",+ "docs": [+ " The referendum to be tabled whenever it would be valid to table an external proposal.",+ " This happens when a referendum needs to be tabled and one of two conditions are met:",+ " - `LastTabledWasExternal` is `false`; or",+ " - `PublicProps` is empty."+ ]+ },+ {+ "name": "Blacklist",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "(BlockNumber,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A record of who vetoed what. Maps proposal hash to a possible existent block number",+ " (until when it may not be resubmitted) and who vetoed it."+ ]+ },+ {+ "name": "Cancellations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Record of all proposals that have been subject to emergency cancellation."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Optional",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender must",+ " have funds to cover the deposit.",+ "",+ " - `proposal_hash`: The hash of the proposal preimage.",+ " - `value`: The amount of deposit (must be at least `MinimumDeposit`).",+ "",+ " Emits `Proposed`.",+ "",+ " Weight: `O(p)`"+ ]+ },+ {+ "name": "second",+ "args": [+ {+ "name": "proposal",+ "type": "Compact<PropIndex>"+ },+ {+ "name": "seconds_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Signals agreement with a particular proposal.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender",+ " must have funds to cover the deposit, equal to the original deposit.",+ "",+ " - `proposal`: The index of the proposal to second.",+ " - `seconds_upper_bound`: an upper bound on the current number of seconds on this",+ " proposal. Extrinsic is weighted according to this value with no refund.",+ "",+ " Weight: `O(S)` where S is the number of seconds a proposal already has."+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "AccountVote"+ }+ ],+ "docs": [+ " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;",+ " otherwise it is a vote to keep the status quo.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `ref_index`: The index of the referendum to vote for.",+ " - `vote`: The vote configuration.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter has voted on."+ ]+ },+ {+ "name": "emergency_cancel",+ "args": [+ {+ "name": "ref_index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same",+ " referendum.",+ "",+ " The dispatch origin of this call must be `CancellationOrigin`.",+ "",+ " -`ref_index`: The index of the referendum to cancel.",+ "",+ " Weight: `O(1)`."+ ]+ },+ {+ "name": "external_propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a referendum to be tabled once it is legal to schedule an external",+ " referendum.",+ "",+ " The dispatch origin of this call must be `ExternalOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Weight: `O(V)` with V number of vetoers in the blacklist of proposal.",+ " Decoding vec of length V. Charged as maximum"+ ]+ },+ {+ "name": "external_propose_majority",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a majority-carries referendum to be tabled next once it is legal to schedule",+ " an external referendum.",+ "",+ " The dispatch of this call must be `ExternalMajorityOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "external_propose_default",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to",+ " schedule an external referendum.",+ "",+ " The dispatch of this call must be `ExternalDefaultOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "fast_track",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "voting_period",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Schedule the currently externally-proposed majority-carries referendum to be tabled",+ " immediately. If there is no externally-proposed referendum currently, or if there is one",+ " but it is not a majority-carries referendum then it fails.",+ "",+ " The dispatch of this call must be `FastTrackOrigin`.",+ "",+ " - `proposal_hash`: The hash of the current external proposal.",+ " - `voting_period`: The period that is allowed for voting on this proposal. Increased to",+ " `FastTrackVotingPeriod` if too low.",+ " - `delay`: The number of block after voting has ended in approval and this should be",+ " enacted. This doesn't have a minimum amount.",+ "",+ " Emits `Started`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "veto_external",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Veto and blacklist the external proposal hash.",+ "",+ " The dispatch origin of this call must be `VetoOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal to veto and blacklist.",+ "",+ " Emits `Vetoed`.",+ "",+ " Weight: `O(V + log(V))` where V is number of `existing vetoers`"+ ]+ },+ {+ "name": "cancel_referendum",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Remove a referendum.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `ref_index`: The index of the referendum to cancel.",+ "",+ " # Weight: `O(1)`."+ ]+ },+ {+ "name": "cancel_queued",+ "args": [+ {+ "name": "which",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Cancel a proposal queued for enactment.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `which`: The index of the referendum to cancel.",+ "",+ " Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`."+ ]+ },+ {+ "name": "delegate",+ "args": [+ {+ "name": "to",+ "type": "AccountId"+ },+ {+ "name": "conviction",+ "type": "Conviction"+ },+ {+ "name": "balance",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Delegate the voting power (with some given conviction) of the sending account.",+ "",+ " The balance delegated is locked for as long as it's delegated, and thereafter for the",+ " time appropriate for the conviction's lock period.",+ "",+ " The dispatch origin of this call must be _Signed_, and the signing account must either:",+ " - be delegating already; or",+ " - have no voting activity (if there is, then it will need to be removed/consolidated",+ " through `reap_vote` or `unvote`).",+ "",+ " - `to`: The account whose voting the `target` account's voting power will follow.",+ " - `conviction`: The conviction that will be attached to the delegated votes. When the",+ " account is undelegated, the funds will be locked for the corresponding period.",+ " - `balance`: The amount of the account's balance to be used in delegating. This must",+ " not be more than the account's current balance.",+ "",+ " Emits `Delegated`.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes."+ ]+ },+ {+ "name": "undelegate",+ "args": [],+ "docs": [+ " Undelegate the voting power of the sending account.",+ "",+ " Tokens may be unlocked following once an amount of time consistent with the lock period",+ " of the conviction with which the delegation was issued.",+ "",+ " The dispatch origin of this call must be _Signed_ and the signing account must be",+ " currently delegating.",+ "",+ " Emits `Undelegated`.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes."+ ]+ },+ {+ "name": "clear_public_proposals",+ "args": [],+ "docs": [+ " Clears all public proposals.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " Weight: `O(1)`."+ ]+ },+ {+ "name": "note_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This doesn't require the proposal to be",+ " in the dispatch queue but does require a deposit, returned once enacted.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)."+ ]+ },+ {+ "name": "note_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "note_imminent_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This requires the proposal to be",+ " in the dispatch queue. No deposit is needed. When this call is successful, i.e.",+ " the preimage has not been uploaded before and matches some imminent proposal,",+ " no fee is paid.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)."+ ]+ },+ {+ "name": "note_imminent_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "reap_preimage",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "proposal_len_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Remove an expired proposal preimage and collect the deposit.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `proposal_hash`: The preimage hash of a proposal.",+ " - `proposal_length_upper_bound`: an upper bound on length of the proposal.",+ " Extrinsic is weighted according to this value with no refund.",+ "",+ " This will only work after `VotingPeriod` blocks from the time that the preimage was",+ " noted, if it's the same account doing it. If it's a different account, then it'll only",+ " work an additional `EnactmentPeriod` later.",+ "",+ " Emits `PreimageReaped`.",+ "",+ " Weight: `O(D)` where D is length of proposal."+ ]+ },+ {+ "name": "unlock",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Unlock tokens that have an expired lock.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account to remove the lock on.",+ "",+ " Weight: `O(R)` with R number of vote of target."+ ]+ },+ {+ "name": "remove_vote",+ "args": [+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If:",+ " - the referendum was cancelled, or",+ " - the referendum is ongoing, or",+ " - the referendum has ended such that",+ " - the vote of the account was in opposition to the result; or",+ " - there was no conviction to the account's vote; or",+ " - the account made a split vote",+ " ...then the vote is removed cleanly and a following call to `unlock` may result in more",+ " funds being available.",+ "",+ " If, however, the referendum has ended and:",+ " - it finished corresponding to the vote of the account, and",+ " - the account made a standard vote with conviction, and",+ " - the lock period of the conviction is not over",+ " ...then the lock will be aggregated into the overall account's lock, which may involve",+ " *overlocking* (where the two locks are combined into a single lock that is the maximum",+ " of both the amount locked and the time is it locked for).",+ "",+ " The dispatch origin of this call must be _Signed_, and the signer must have a vote",+ " registered for referendum `index`.",+ "",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote."+ ]+ },+ {+ "name": "remove_other_vote",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If the `target` is equal to the signer, then this function is exactly equivalent to",+ " `remove_vote`. If not equal to the signer, then the vote must have expired,",+ " either because the referendum was cancelled, because the voter lost the referendum or",+ " because the conviction period is over.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account of the vote to be removed; this account must have voted for",+ " referendum `index`.",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote."+ ]+ },+ {+ "name": "enact_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Enact a proposal from a referendum. For now we just make the weight be the maximum."+ ]+ },+ {+ "name": "blacklist",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "maybe_ref_index",+ "type": "Option<ReferendumIndex>"+ }+ ],+ "docs": [+ " Permanently place a proposal into the blacklist. This prevents it from ever being",+ " proposed again.",+ "",+ " If called on a queued public or external proposal, then this will result in it being",+ " removed. If the `ref_index` supplied is an active referendum with the proposal hash,",+ " then it will be cancelled.",+ "",+ " The dispatch origin of this call must be `BlacklistOrigin`.",+ "",+ " - `proposal_hash`: The proposal hash to blacklist permanently.",+ " - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be",+ " cancelled.",+ "",+ " Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a",+ " reasonable value)."+ ]+ },+ {+ "name": "cancel_proposal",+ "args": [+ {+ "name": "prop_index",+ "type": "Compact<PropIndex>"+ }+ ],+ "docs": [+ " Remove a proposal.",+ "",+ " The dispatch origin of this call must be `CancelProposalOrigin`.",+ "",+ " - `prop_index`: The index of the proposal to cancel.",+ "",+ " Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "PropIndex",+ "Balance"+ ],+ "docs": [+ " A motion has been proposed by a public account. \\[proposal_index, deposit\\]"+ ]+ },+ {+ "name": "Tabled",+ "args": [+ "PropIndex",+ "Balance",+ "Vec<AccountId>"+ ],+ "docs": [+ " A public proposal has been tabled for referendum vote. \\[proposal_index, deposit, depositors\\]"+ ]+ },+ {+ "name": "ExternalTabled",+ "args": [],+ "docs": [+ " An external proposal has been tabled."+ ]+ },+ {+ "name": "Started",+ "args": [+ "ReferendumIndex",+ "VoteThreshold"+ ],+ "docs": [+ " A referendum has begun. \\[ref_index, threshold\\]"+ ]+ },+ {+ "name": "Passed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been approved by referendum. \\[ref_index\\]"+ ]+ },+ {+ "name": "NotPassed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been rejected by referendum. \\[ref_index\\]"+ ]+ },+ {+ "name": "Cancelled",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A referendum has been cancelled. \\[ref_index\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "ReferendumIndex",+ "bool"+ ],+ "docs": [+ " A proposal has been enacted. \\[ref_index, is_ok\\]"+ ]+ },+ {+ "name": "Delegated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An account has delegated their vote to another account. \\[who, target\\]"+ ]+ },+ {+ "name": "Undelegated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has cancelled a previous delegation operation."+ ]+ },+ {+ "name": "Vetoed",+ "args": [+ "AccountId",+ "Hash",+ "BlockNumber"+ ],+ "docs": [+ " An external proposal has been vetoed. \\[who, proposal_hash, until\\]"+ ]+ },+ {+ "name": "PreimageNoted",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal's preimage was noted, and the deposit taken. \\[proposal_hash, who, deposit\\]"+ ]+ },+ {+ "name": "PreimageUsed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal preimage was removed and used (the deposit was returned).",+ " \\[proposal_hash, provider, deposit\\]"+ ]+ },+ {+ "name": "PreimageInvalid",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was invalid.",+ " \\[proposal_hash, ref_index\\]"+ ]+ },+ {+ "name": "PreimageMissing",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was missing.",+ " \\[proposal_hash, ref_index\\]"+ ]+ },+ {+ "name": "PreimageReaped",+ "args": [+ "Hash",+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A registered preimage was removed and the deposit collected by the reaper.",+ " \\[proposal_hash, provider, deposit, reaper\\]"+ ]+ },+ {+ "name": "Unlocked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has been unlocked successfully."+ ]+ },+ {+ "name": "Blacklisted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A proposal \\[hash\\] has been blacklisted permanently."+ ]+ }+ ],+ "constants": [+ {+ "name": "EnactmentPeriod",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The minimum period of locking and the period between a proposal being approved and enacted.",+ "",+ " It should generally be a little more than the unstake period to ensure that",+ " voting stakers have an opportunity to remove themselves from the system in the case where",+ " they are on the losing side of a vote."+ ]+ },+ {+ "name": "LaunchPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) new public referenda are launched."+ ]+ },+ {+ "name": "VotingPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) to check for new votes."+ ]+ },+ {+ "name": "MinimumDeposit",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be used as a deposit for a public referendum proposal."+ ]+ },+ {+ "name": "FastTrackVotingPeriod",+ "type": "BlockNumber",+ "value": "0x80510100",+ "docs": [+ " Minimum voting period allowed for an emergency referendum."+ ]+ },+ {+ "name": "CooloffPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " Period in blocks where an external proposal may not be re-submitted after being vetoed."+ ]+ },+ {+ "name": "PreimageByteDeposit",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of balance that must be deposited per byte of preimage stored."+ ]+ },+ {+ "name": "MaxVotes",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of votes for an account."+ ]+ }+ ],+ "errors": [+ {+ "name": "ValueLow",+ "docs": [+ " Value too low"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal does not exist"+ ]+ },+ {+ "name": "BadIndex",+ "docs": [+ " Unknown index"+ ]+ },+ {+ "name": "AlreadyCanceled",+ "docs": [+ " Cannot cancel the same proposal twice"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Proposal already made"+ ]+ },+ {+ "name": "ProposalBlacklisted",+ "docs": [+ " Proposal still blacklisted"+ ]+ },+ {+ "name": "NotSimpleMajority",+ "docs": [+ " Next external proposal not simple majority"+ ]+ },+ {+ "name": "InvalidHash",+ "docs": [+ " Invalid hash"+ ]+ },+ {+ "name": "NoProposal",+ "docs": [+ " No external proposal"+ ]+ },+ {+ "name": "AlreadyVetoed",+ "docs": [+ " Identity may not veto a proposal twice"+ ]+ },+ {+ "name": "NotDelegated",+ "docs": [+ " Not delegated"+ ]+ },+ {+ "name": "DuplicatePreimage",+ "docs": [+ " Preimage already noted"+ ]+ },+ {+ "name": "NotImminent",+ "docs": [+ " Not imminent"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " Too early"+ ]+ },+ {+ "name": "Imminent",+ "docs": [+ " Imminent"+ ]+ },+ {+ "name": "PreimageMissing",+ "docs": [+ " Preimage not found"+ ]+ },+ {+ "name": "ReferendumInvalid",+ "docs": [+ " Vote given for invalid referendum"+ ]+ },+ {+ "name": "PreimageInvalid",+ "docs": [+ " Invalid preimage"+ ]+ },+ {+ "name": "NoneWaiting",+ "docs": [+ " No proposals waiting"+ ]+ },+ {+ "name": "NotLocked",+ "docs": [+ " The target account does not have a lock."+ ]+ },+ {+ "name": "NotExpired",+ "docs": [+ " The lock on the account to be unlocked has not yet expired."+ ]+ },+ {+ "name": "NotVoter",+ "docs": [+ " The given account did not vote on the referendum."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " The actor has no permission to conduct the action."+ ]+ },+ {+ "name": "AlreadyDelegating",+ "docs": [+ " The account is already delegating."+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " An unexpected integer overflow occurred."+ ]+ },+ {+ "name": "Underflow",+ "docs": [+ " An unexpected integer underflow occurred."+ ]+ },+ {+ "name": "InsufficientFunds",+ "docs": [+ " Too high a balance was provided that the account cannot afford."+ ]+ },+ {+ "name": "NotDelegating",+ "docs": [+ " The account is not currently delegating."+ ]+ },+ {+ "name": "VotesExist",+ "docs": [+ " The account currently has votes attached to it and the operation cannot succeed until",+ " these are removed, either through `unvote` or `reap_vote`."+ ]+ },+ {+ "name": "InstantNotAllowed",+ "docs": [+ " The instant referendum origin is currently disallowed."+ ]+ },+ {+ "name": "Nonsense",+ "docs": [+ " Delegation to oneself makes no sense."+ ]+ },+ {+ "name": "WrongUpperBound",+ "docs": [+ " Invalid upper bound."+ ]+ },+ {+ "name": "MaxVotesReached",+ "docs": [+ " Maximum number of votes reached."+ ]+ },+ {+ "name": "InvalidWitness",+ "docs": [+ " The provided witness data is wrong."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " Maximum number of proposals reached."+ ]+ }+ ],+ "index": 11+ },+ {+ "name": "Council",+ "storage": {+ "prefix": "Instance1Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The prime member that helps determine the default vote behavior in case of absentations."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " Transaction fees will be waived if the member is voting on any particular proposal",+ " for the first time and the call is successful. Subsequent vote changes will charge a fee.",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " If the close operation completes successfully with disapproval, the transaction fee will",+ " be waived. Otherwise execution of the approved operation will be charged to the caller.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " \\[account, proposal_index, proposal_hash, threshold\\]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " \\[account, proposal_hash, voted, yes, no\\]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " \\[proposal_hash, yes, no\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ],+ "index": 12+ },+ {+ "name": "TechnicalCommittee",+ "storage": {+ "prefix": "Instance2Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The prime member that helps determine the default vote behavior in case of absentations."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " Transaction fees will be waived if the member is voting on any particular proposal",+ " for the first time and the call is successful. Subsequent vote changes will charge a fee.",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " If the close operation completes successfully with disapproval, the transaction fee will",+ " be waived. Otherwise execution of the approved operation will be charged to the caller.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " \\[account, proposal_index, proposal_hash, threshold\\]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " \\[account, proposal_hash, voted, yes, no\\]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " \\[proposal_hash, yes, no\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ],+ "index": 13+ },+ {+ "name": "Elections",+ "storage": {+ "prefix": "Elections",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<SeatHolder>"+ },+ "fallback": "0x00",+ "docs": [+ " The current elected members.",+ "",+ " Invariant: Always sorted based on account id."+ ]+ },+ {+ "name": "RunnersUp",+ "modifier": "Default",+ "type": {+ "plain": "Vec<SeatHolder>"+ },+ "fallback": "0x00",+ "docs": [+ " The current reserved runners-up.",+ "",+ " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the",+ " last (i.e. _best_) runner-up will be replaced."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The present candidate list. A current member or runner-up can never enter this vector",+ " and is always implicitly assumed to be a candidate.",+ "",+ " Second element is the deposit.",+ "",+ " Invariant: Always sorted based on account id."+ ]+ },+ {+ "name": "ElectionRounds",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The total number of vote rounds that have happened, excluding the upcoming one."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Voter",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Votes and locked stake of a particular voter.",+ "",+ " TWOX-NOTE: SAFE as `AccountId` is a crypto hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vote",+ "args": [+ {+ "name": "votes",+ "type": "Vec<AccountId>"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Vote for a set of candidates for the upcoming round of election. This can be called to",+ " set the initial votes, or update already existing votes.",+ "",+ " Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is",+ " reserved. The deposit is based on the number of votes and can be updated over time.",+ "",+ " The `votes` should:",+ " - not be empty.",+ " - be less than the number of possible candidates. Note that all current members and",+ " runners-up are also automatically candidates for the next round.",+ "",+ " If `value` is more than `who`'s total balance, then the maximum of the two is used.",+ "",+ " The dispatch origin of this call must be signed.",+ "",+ " ### Warning",+ "",+ " It is the responsibility of the caller to **NOT** place all of their balance into the",+ " lock and keep some for further operations.",+ "",+ " # <weight>",+ " We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_voter",+ "args": [],+ "docs": [+ " Remove `origin` as a voter.",+ "",+ " This removes the lock and returns the deposit.",+ "",+ " The dispatch origin of this call must be signed and be a voter."+ ]+ },+ {+ "name": "submit_candidacy",+ "args": [+ {+ "name": "candidate_count",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Submit oneself for candidacy. A fixed amount of deposit is recorded.",+ "",+ " All candidates are wiped at the end of the term. They either become a member/runner-up,",+ " or leave the system while their deposit is slashed.",+ "",+ " The dispatch origin of this call must be signed.",+ "",+ " ### Warning",+ "",+ " Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]",+ " to get their deposit back. Losing the spot in an election will always lead to a slash.",+ "",+ " # <weight>",+ " The number of current candidates must be provided as witness data.",+ " # </weight>"+ ]+ },+ {+ "name": "renounce_candidacy",+ "args": [+ {+ "name": "renouncing",+ "type": "Renouncing"+ }+ ],+ "docs": [+ " Renounce one's intention to be a candidate for the next election round. 3 potential",+ " outcomes exist:",+ "",+ " - `origin` is a candidate and not elected in any set. In this case, the deposit is",+ " unreserved, returned and origin is removed as a candidate.",+ " - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and",+ " origin is removed as a runner-up.",+ " - `origin` is a current member. In this case, the deposit is unreserved and origin is",+ " removed as a member, consequently not being a candidate for the next round anymore.",+ " Similar to [`remove_members`], if replacement runners exists, they are immediately",+ " used. If the prime is renouncing, then no prime will exist until the next round.",+ "",+ " The dispatch origin of this call must be signed, and have one of the above roles.",+ "",+ " # <weight>",+ " The type of renouncing must be provided as witness data.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "has_replacement",+ "type": "bool"+ }+ ],+ "docs": [+ " Remove a particular member from the set. This is effective immediately and the bond of",+ " the outgoing member is slashed.",+ "",+ " If a runner-up is available, then the best runner-up will be removed and replaces the",+ " outgoing member. Otherwise, a new phragmen election is started.",+ "",+ " The dispatch origin of this call must be root.",+ "",+ " Note that this does not affect the designated block number of the next election.",+ "",+ " # <weight>",+ " If we have a replacement, we use a small weight. Else, since this is a root call and",+ " will go into phragmen, we assume full block for now.",+ " # </weight>"+ ]+ },+ {+ "name": "clean_defunct_voters",+ "args": [+ {+ "name": "_num_voters",+ "type": "u32"+ },+ {+ "name": "_num_defunct",+ "type": "u32"+ }+ ],+ "docs": [+ " Clean all voters who are defunct (i.e. they do not serve any purpose at all). The",+ " deposit of the removed voters are returned.",+ "",+ " This is an root function to be used only for cleaning the state.",+ "",+ " The dispatch origin of this call must be root.",+ "",+ " # <weight>",+ " The total number of voters and those that are defunct must be provided as witness data.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTerm",+ "args": [+ "Vec<(AccountId,Balance)>"+ ],+ "docs": [+ " A new term with \\[new_members\\]. This indicates that enough candidates existed to run",+ " the election, not that enough have has been elected. The inner value must be examined",+ " for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond",+ " slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to",+ " begin with."+ ]+ },+ {+ "name": "EmptyTerm",+ "args": [],+ "docs": [+ " No (or not enough) candidates existed for this round. This is different from",+ " `NewTerm(\\[\\])`. See the description of `NewTerm`."+ ]+ },+ {+ "name": "ElectionError",+ "args": [],+ "docs": [+ " Internal error happened while trying to perform election."+ ]+ },+ {+ "name": "MemberKicked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been removed. This should always be followed by either `NewTerm` or",+ " `EmptyTerm`."+ ]+ },+ {+ "name": "Renounced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Someone has renounced their candidacy."+ ]+ },+ {+ "name": "CandidateSlashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A \\[candidate\\] was slashed by \\[amount\\] due to failing to obtain a seat as member or",+ " runner-up.",+ "",+ " Note that old members and runners-up are also candidates."+ ]+ },+ {+ "name": "SeatHolderSlashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A \\[seat holder\\] was slashed by \\[amount\\] by being forcefully removed from the set."+ ]+ }+ ],+ "constants": [+ {+ "name": "PalletId",+ "type": "LockIdentifier",+ "value": "0x706872656c656374",+ "docs": [+ " Identifier for the elections-phragmen pallet's lock"+ ]+ },+ {+ "name": "CandidacyBond",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " How much should be locked up in order to submit one's candidacy."+ ]+ },+ {+ "name": "VotingBondBase",+ "type": "BalanceOf",+ "value": "0x00f0436de36a01000000000000000000",+ "docs": [+ " Base deposit associated with voting.",+ "",+ " This should be sensibly high to economically ensure the pallet cannot be attacked by",+ " creating a gigantic number of votes."+ ]+ },+ {+ "name": "VotingBondFactor",+ "type": "BalanceOf",+ "value": "0x0000cc7b9fae00000000000000000000",+ "docs": [+ " The amount of bond that need to be locked for each vote (32 bytes)."+ ]+ },+ {+ "name": "DesiredMembers",+ "type": "u32",+ "value": "0x0d000000",+ "docs": [+ " Number of members to elect."+ ]+ },+ {+ "name": "DesiredRunnersUp",+ "type": "u32",+ "value": "0x07000000",+ "docs": [+ " Number of runners_up to keep."+ ]+ },+ {+ "name": "TermDuration",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " How long each seat is kept. This defines the next block number at which an election",+ " round will happen. If set to zero, no elections are ever triggered and the module will",+ " be in passive mode."+ ]+ }+ ],+ "errors": [+ {+ "name": "UnableToVote",+ "docs": [+ " Cannot vote when no candidates or members exist."+ ]+ },+ {+ "name": "NoVotes",+ "docs": [+ " Must vote for at least one candidate."+ ]+ },+ {+ "name": "TooManyVotes",+ "docs": [+ " Cannot vote more than candidates."+ ]+ },+ {+ "name": "MaximumVotesExceeded",+ "docs": [+ " Cannot vote more than maximum allowed."+ ]+ },+ {+ "name": "LowBalance",+ "docs": [+ " Cannot vote with stake less than minimum balance."+ ]+ },+ {+ "name": "UnableToPayBond",+ "docs": [+ " Voter can not pay voting bond."+ ]+ },+ {+ "name": "MustBeVoter",+ "docs": [+ " Must be a voter."+ ]+ },+ {+ "name": "ReportSelf",+ "docs": [+ " Cannot report self."+ ]+ },+ {+ "name": "DuplicatedCandidate",+ "docs": [+ " Duplicated candidate submission."+ ]+ },+ {+ "name": "MemberSubmit",+ "docs": [+ " Member cannot re-submit candidacy."+ ]+ },+ {+ "name": "RunnerUpSubmit",+ "docs": [+ " Runner cannot re-submit candidacy."+ ]+ },+ {+ "name": "InsufficientCandidateFunds",+ "docs": [+ " Candidate does not have enough funds."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ },+ {+ "name": "InvalidWitnessData",+ "docs": [+ " The provided count of number of candidates is incorrect."+ ]+ },+ {+ "name": "InvalidVoteCount",+ "docs": [+ " The provided count of number of votes is incorrect."+ ]+ },+ {+ "name": "InvalidRenouncing",+ "docs": [+ " The renouncing origin presented a wrong `Renouncing` parameter."+ ]+ },+ {+ "name": "InvalidReplacement",+ "docs": [+ " Prediction regarding replacement after member removal is wrong."+ ]+ }+ ],+ "index": 14+ },+ {+ "name": "TechnicalMembership",+ "storage": {+ "prefix": "Instance1Membership",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current membership, stored as an ordered Vec."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The current prime member, if one exists."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a member `who` to the set.",+ "",+ " May only be called from `T::AddOrigin`."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Remove a member `who` from the set.",+ "",+ " May only be called from `T::RemoveOrigin`."+ ]+ },+ {+ "name": "swap_member",+ "args": [+ {+ "name": "remove",+ "type": "AccountId"+ },+ {+ "name": "add",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out one member `remove` for another `add`.",+ "",+ " May only be called from `T::SwapOrigin`.",+ "",+ " Prime membership is *not* passed from `remove` to `add`, if extant."+ ]+ },+ {+ "name": "reset_members",+ "args": [+ {+ "name": "members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Change the membership to a new set, disregarding the existing membership. Be nice and",+ " pass `members` pre-sorted.",+ "",+ " May only be called from `T::ResetOrigin`."+ ]+ },+ {+ "name": "change_key",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out the sending member for some other key `new`.",+ "",+ " May only be called from `Signed` origin of a current member.",+ "",+ " Prime membership is passed from the origin account to `new`, if extant."+ ]+ },+ {+ "name": "set_prime",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Set the prime member. Must be a current member.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ },+ {+ "name": "clear_prime",+ "args": [],+ "docs": [+ " Remove the prime member if it exists.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ }+ ],+ "events": [+ {+ "name": "MemberAdded",+ "args": [],+ "docs": [+ " The given member was added; see the transaction for who."+ ]+ },+ {+ "name": "MemberRemoved",+ "args": [],+ "docs": [+ " The given member was removed; see the transaction for who."+ ]+ },+ {+ "name": "MembersSwapped",+ "args": [],+ "docs": [+ " Two members were swapped; see the transaction for who."+ ]+ },+ {+ "name": "MembersReset",+ "args": [],+ "docs": [+ " The membership was reset; see the transaction for who the new set is."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [],+ "docs": [+ " One of the members' keys changed."+ ]+ },+ {+ "name": "Dummy",+ "args": [+ "PhantomData"+ ],+ "docs": [+ " Phantom member, never used."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "AlreadyMember",+ "docs": [+ " Already a member."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ }+ ],+ "index": 15+ },+ {+ "name": "Grandpa",+ "storage": {+ "prefix": "GrandpaFinality",+ "items": [+ {+ "name": "State",+ "modifier": "Default",+ "type": {+ "plain": "StoredState"+ },+ "fallback": "0x00",+ "docs": [+ " State of the current authority set."+ ]+ },+ {+ "name": "PendingChange",+ "modifier": "Optional",+ "type": {+ "plain": "StoredPendingChange"+ },+ "fallback": "0x00",+ "docs": [+ " Pending change: (signaled at, scheduled change)."+ ]+ },+ {+ "name": "NextForced",+ "modifier": "Optional",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00",+ "docs": [+ " next block number where we can force a change."+ ]+ },+ {+ "name": "Stalled",+ "modifier": "Optional",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x00",+ "docs": [+ " `true` if we are currently stalled."+ ]+ },+ {+ "name": "CurrentSetId",+ "modifier": "Default",+ "type": {+ "plain": "SetId"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The number of changes (both in terms of keys and underlying economic responsibilities)",+ " in the \"set\" of Grandpa validators from genesis."+ ]+ },+ {+ "name": "SetIdSession",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "SetId",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from grandpa set ID to the index of the *most recent* session for which its",+ " members were responsible.",+ "",+ " TWOX-NOTE: `SetId` is not under user control."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported.",+ "",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ },+ {+ "name": "note_stalled",+ "args": [+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "best_finalized_block_number",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Note that the current authority set of the GRANDPA finality gadget has",+ " stalled. This will trigger a forced authority set change at the beginning",+ " of the next session, to be enacted `delay` blocks after that. The delay",+ " should be high enough to safely assume that the block signalling the",+ " forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters",+ " will start the new authority set using the given finalized block as base.",+ " Only callable by root."+ ]+ }+ ],+ "events": [+ {+ "name": "NewAuthorities",+ "args": [+ "AuthorityList"+ ],+ "docs": [+ " New authority set has been applied. \\[authority_set\\]"+ ]+ },+ {+ "name": "Paused",+ "args": [],+ "docs": [+ " Current authority set has been paused."+ ]+ },+ {+ "name": "Resumed",+ "args": [],+ "docs": [+ " Current authority set has been resumed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "PauseFailed",+ "docs": [+ " Attempt to signal GRANDPA pause when the authority set isn't live",+ " (either paused or already pending pause)."+ ]+ },+ {+ "name": "ResumeFailed",+ "docs": [+ " Attempt to signal GRANDPA resume when the authority set isn't paused",+ " (either live or already pending resume)."+ ]+ },+ {+ "name": "ChangePending",+ "docs": [+ " Attempt to signal GRANDPA change with one already pending."+ ]+ },+ {+ "name": "TooSoon",+ "docs": [+ " Cannot signal forced change so soon after last."+ ]+ },+ {+ "name": "InvalidKeyOwnershipProof",+ "docs": [+ " A key ownership proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "InvalidEquivocationProof",+ "docs": [+ " An equivocation proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "DuplicateOffenceReport",+ "docs": [+ " A given equivocation report is valid but already previously reported."+ ]+ }+ ],+ "index": 16+ },+ {+ "name": "Treasury",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "ProposalIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of proposals that have been made."+ ]+ },+ {+ "name": "Proposals",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ProposalIndex",+ "value": "TreasuryProposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Proposals that have been made."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ProposalIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Proposal indices that have been approved but not yet awarded."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_spend",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Put forward a suggestion for spending. A deposit proportional to the value",+ " is reserved and slashed if the proposal is rejected. It is returned once the",+ " proposal is awarded.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `ProposalCount`, `origin account`",+ " - DbWrites: `ProposalCount`, `Proposals`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "reject_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Reject a proposed spend. The original deposit will be slashed.",+ "",+ " May only be called from `T::RejectOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `Proposals`, `rejected proposer account`",+ " - DbWrites: `Proposals`, `rejected proposer account`",+ " # </weight>"+ ]+ },+ {+ "name": "approve_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",+ " and the original deposit will be returned.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1).",+ " - DbReads: `Proposals`, `Approvals`",+ " - DbWrite: `Approvals`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "ProposalIndex"+ ],+ "docs": [+ " New proposal. \\[proposal_index\\]"+ ]+ },+ {+ "name": "Spending",+ "args": [+ "Balance"+ ],+ "docs": [+ " We have ended a spend period and will now allocate funds. \\[budget_remaining\\]"+ ]+ },+ {+ "name": "Awarded",+ "args": [+ "ProposalIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " Some funds have been allocated. \\[proposal_index, award, beneficiary\\]"+ ]+ },+ {+ "name": "Rejected",+ "args": [+ "ProposalIndex",+ "Balance"+ ],+ "docs": [+ " A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]"+ ]+ },+ {+ "name": "Burnt",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some of our funds have been burnt. \\[burn\\]"+ ]+ },+ {+ "name": "Rollover",+ "args": [+ "Balance"+ ],+ "docs": [+ " Spending has finished; this is the amount that rolls over until next spend.",+ " \\[budget_remaining\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds have been deposited. \\[deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProposalBond",+ "type": "Permill",+ "value": "0x50c30000",+ "docs": [+ " Fraction of a proposal's value that should be bonded in order to place the proposal.",+ " An accepted proposal gets these back. A rejected proposal does not."+ ]+ },+ {+ "name": "ProposalBondMinimum",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Minimum amount of funds that should be placed in a deposit for making a proposal."+ ]+ },+ {+ "name": "SpendPeriod",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " Period between successive spends."+ ]+ },+ {+ "name": "Burn",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of spare funds (if any) that are burnt per spend period."+ ]+ },+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f7472737279",+ "docs": [+ " The treasury's module id, used for deriving its sovereign account ID."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " No proposal or bounty at that index."+ ]+ },+ {+ "name": "TooManyApprovals",+ "docs": [+ " Too many approvals in the queue."+ ]+ }+ ],+ "index": 17+ },+ {+ "name": "Contracts",+ "storage": {+ "prefix": "Contracts",+ "items": [+ {+ "name": "CurrentSchedule",+ "modifier": "Default",+ "type": {+ "plain": "Schedule"+ },+ "fallback": "0x000000000004000000000200000001000080000000100000000010000000010000200000001f060000d66a0200dd84030026180000bd1c0000430b000003170000ae2800009c000000dd69010063e00200300700000706000065070000b10500006e180000002800006905000072deae08f0070000dc070000710a00006a080000a507000096070000d1070000770900003e09000075090000d809000082090000bc090000120900003c09000072090000dc090000f7080000e108000062090000162000006b1d00002e2000002c1b0000fe080000000900000f090000a7090000f1090000ba090000bb09000065090000d8b82800000000009e9828000000000016902700000000004c705700000000004cc8270000000000e4bc270000000000e8d1270000000000a0685b0000000000484f2700000000009e7627000000000000f45100000000004cab120000000000184a700000000000140100000000000000cd460000000000fc02000000000000d0b570270000000013200000000000007821da3100000000e0200000000000009a120000000000000482b10900000000e03463000000000038d7900000000000de67d00700000000840900000000000006186e000000000016935d1200000000da02000000000000eaced408000000003a240e0200000000e705000000000000fc41d50a00000000d48e9309000000002d0f0000000000003a4225090000000047020000000000002303000000000000ba7c962300000000a5210000000000006d020000000000005403000000000000e50b00000000000026922400000000006110000000000000a4122600000000001d0d000000000000520e2200000000001a0600000000000020222200000000001a0600000000000044b13c0000000000",+ "docs": [+ " Current cost schedule for contracts."+ ]+ },+ {+ "name": "PristineCode",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from an original code hash to the original code, untouched by instrumentation."+ ]+ },+ {+ "name": "CodeStorage",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "PrefabWasmModule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping between an original code hash and instrumented wasm code, ready for execution."+ ]+ },+ {+ "name": "AccountCounter",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The subtrie counter."+ ]+ },+ {+ "name": "ContractInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ContractInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The code associated with a given account.",+ "",+ " TWOX-NOTE: SAFE since `AccountId` is a secure hash."+ ]+ },+ {+ "name": "DeletionQueue",+ "modifier": "Default",+ "type": {+ "plain": "Vec<DeletedContract>"+ },+ "fallback": "0x00",+ "docs": [+ " Evicted contracts that await child trie deletion.",+ "",+ " Child trie deletion is a heavy operation depending on the amount of storage items",+ " stored in said trie. Therefore this operation is performed lazily in `on_initialize`."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "update_schedule",+ "args": [+ {+ "name": "schedule",+ "type": "Schedule"+ }+ ],+ "docs": [+ " Updates the schedule for metering contracts.",+ "",+ " The schedule's version cannot be less than the version of the stored schedule.",+ " If a schedule does not change the instruction weights the version does not",+ " need to be increased. Therefore we allow storing a schedule that has the same",+ " version as the stored one."+ ]+ },+ {+ "name": "call",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Makes a call to an account, optionally transferring some balance.",+ "",+ " * If the account is a smart-contract account, the associated code will be",+ " executed and any value will be transferred.",+ " * If the account is a regular account, any value will be transferred.",+ " * If no account exists and the call value is not less than `existential_deposit`,",+ " a regular account will be created and any value will be transferred."+ ]+ },+ {+ "name": "instantiate_with_code",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "code",+ "type": "Bytes"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "salt",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a new contract from the supplied `code` optionally transferring",+ " some balance.",+ "",+ " This is the only function that can deploy new code to the chain.",+ "",+ " # Parameters",+ "",+ " * `endowment`: The balance to transfer from the `origin` to the newly created contract.",+ " * `gas_limit`: The gas limit enforced when executing the constructor.",+ " * `code`: The contract code to deploy in raw bytes.",+ " * `data`: The input data to pass to the contract constructor.",+ " * `salt`: Used for the address derivation. See [`Pallet::contract_address`].",+ "",+ " Instantiation is executed as follows:",+ "",+ " - The supplied `code` is instrumented, deployed, and a `code_hash` is created for that code.",+ " - If the `code_hash` already exists on the chain the underlying `code` will be shared.",+ " - The destination address is computed based on the sender, code_hash and the salt.",+ " - The smart-contract account is created at the computed address.",+ " - The `endowment` is transferred to the new account.",+ " - The `deploy` function is executed in the context of the newly-created account."+ ]+ },+ {+ "name": "instantiate",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "code_hash",+ "type": "CodeHash"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "salt",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a contract from a previously deployed wasm binary.",+ "",+ " This function is identical to [`Self::instantiate_with_code`] but without the",+ " code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary",+ " must be supplied."+ ]+ },+ {+ "name": "claim_surcharge",+ "args": [+ {+ "name": "dest",+ "type": "AccountId"+ },+ {+ "name": "aux_sender",+ "type": "Option<AccountId>"+ }+ ],+ "docs": [+ " Allows block producers to claim a small reward for evicting a contract. If a block",+ " producer fails to do so, a regular users will be allowed to claim the reward.",+ "",+ " In case of a successful eviction no fees are charged from the sender. However, the",+ " reward is capped by the total amount of rent that was payed by the contract while",+ " it was alive.",+ "",+ " If contract is not evicted as a result of this call, [`Error::ContractNotEvictable`]",+ " is returned and the sender is not eligible for the reward."+ ]+ }+ ],+ "events": [+ {+ "name": "Instantiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract deployed by address at the specified address. \\[deployer, contract\\]"+ ]+ },+ {+ "name": "Evicted",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Contract has been evicted and is now in tombstone state. \\[contract\\]"+ ]+ },+ {+ "name": "Terminated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract has been terminated without leaving a tombstone.",+ " \\[contract, beneficiary\\]",+ "",+ " # Params",+ "",+ " - `contract`: The contract that was terminated.",+ " - `beneficiary`: The account that received the contracts remaining balance.",+ "",+ " # Note",+ "",+ " The only way for a contract to be removed without a tombstone and emitting",+ " this event is by calling `seal_terminate`."+ ]+ },+ {+ "name": "Restored",+ "args": [+ "AccountId",+ "AccountId",+ "Hash",+ "Balance"+ ],+ "docs": [+ " Restoration of a contract has been successful.",+ " \\[restorer, dest, code_hash, rent_allowance\\]",+ "",+ " # Params",+ "",+ " - `restorer`: Account ID of the restoring contract.",+ " - `dest`: Account ID of the restored contract.",+ " - `code_hash`: Code hash of the restored contract.",+ " - `rent_allowance`: Rent allowance of the restored contract."+ ]+ },+ {+ "name": "CodeStored",+ "args": [+ "Hash"+ ],+ "docs": [+ " Code with the specified hash has been stored. \\[code_hash\\]"+ ]+ },+ {+ "name": "ScheduleUpdated",+ "args": [+ "u32"+ ],+ "docs": [+ " Triggered when the current schedule is updated.",+ " \\[version\\]",+ "",+ " # Params",+ "",+ " - `version`: The version of the newly set schedule."+ ]+ },+ {+ "name": "ContractEmitted",+ "args": [+ "AccountId",+ "Bytes"+ ],+ "docs": [+ " A custom event emitted by the contract.",+ " \\[contract, data\\]",+ "",+ " # Params",+ "",+ " - `contract`: The contract that emitted the event.",+ " - `data`: Data supplied by the contract. Metadata generated during contract",+ " compilation is needed to decode it."+ ]+ },+ {+ "name": "CodeRemoved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A code with the specified hash was removed.",+ " \\[code_hash\\]",+ "",+ " This happens when the last contract that uses this code hash was removed or evicted."+ ]+ }+ ],+ "constants": [+ {+ "name": "SignedClaimHandicap",+ "type": "BlockNumber",+ "value": "0x02000000",+ "docs": [+ " Number of block delay an extrinsic claim surcharge has.",+ "",+ " When claim surcharge is called by an extrinsic the rent is checked",+ " for current_block - delay"+ ]+ },+ {+ "name": "TombstoneDeposit",+ "type": "BalanceOf",+ "value": "0x00f0e8857a9c02000000000000000000",+ "docs": [+ " The minimum amount required to generate a tombstone."+ ]+ },+ {+ "name": "DepositPerContract",+ "type": "BalanceOf",+ "value": "0x00f0e8857a9c02000000000000000000",+ "docs": [+ " The balance every contract needs to deposit to stay alive indefinitely.",+ "",+ " This is different from the [`Self::TombstoneDeposit`] because this only needs to be",+ " deposited while the contract is alive. Costs for additional storage are added to",+ " this base cost.",+ "",+ " This is a simple way to ensure that contracts with empty storage eventually get deleted by",+ " making them pay rent. This creates an incentive to remove them early in order to save rent."+ ]+ },+ {+ "name": "DepositPerStorageByte",+ "type": "BalanceOf",+ "value": "0x0060defb740500000000000000000000",+ "docs": [+ " The balance a contract needs to deposit per storage byte to stay alive indefinitely.",+ "",+ " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,",+ " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.",+ " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,",+ " then it would pay 500 BU/day."+ ]+ },+ {+ "name": "DepositPerStorageItem",+ "type": "BalanceOf",+ "value": "0x00f0ab75a40d00000000000000000000",+ "docs": [+ " The balance a contract needs to deposit per storage item to stay alive indefinitely.",+ "",+ " It works the same as [`Self::DepositPerStorageByte`] but for storage items."+ ]+ },+ {+ "name": "RentFraction",+ "type": "Perbill",+ "value": "0x85040000",+ "docs": [+ " The fraction of the deposit that should be used as rent per block.",+ "",+ " When a contract hasn't enough balance deposited to stay alive indefinitely it needs",+ " to pay per block for the storage it consumes that is not covered by the deposit.",+ " This determines how high this rent payment is per block as a fraction of the deposit."+ ]+ },+ {+ "name": "SurchargeReward",+ "type": "BalanceOf",+ "value": "0x005cb2ec220000000000000000000000",+ "docs": [+ " Reward that is received by the party whose touch has led",+ " to removal of a contract."+ ]+ },+ {+ "name": "MaxDepth",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum nesting level of a call/instantiate stack."+ ]+ },+ {+ "name": "MaxValueSize",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " The maximum size of a storage value and event payload in bytes."+ ]+ },+ {+ "name": "DeletionQueueDepth",+ "type": "u32",+ "value": "0xf0000000",+ "docs": [+ " The maximum number of tries that can be queued for deletion."+ ]+ },+ {+ "name": "DeletionWeightLimit",+ "type": "Weight",+ "value": "0x00d0ed902e000000",+ "docs": [+ " The maximum amount of weight that can be consumed per block for lazy trie removal."+ ]+ },+ {+ "name": "MaxCodeSize",+ "type": "u32",+ "value": "0x00000200",+ "docs": [+ " The maximum length of a contract code in bytes. This limit applies to the instrumented",+ " version of the code. Therefore `instantiate_with_code` can fail even when supplying",+ " a wasm binary below this maximum size."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidScheduleVersion",+ "docs": [+ " A new schedule must have a greater version than the current one."+ ]+ },+ {+ "name": "InvalidSurchargeClaim",+ "docs": [+ " An origin must be signed or inherent and auxiliary sender only provided on inherent."+ ]+ },+ {+ "name": "InvalidSourceContract",+ "docs": [+ " Cannot restore from nonexisting or tombstone contract."+ ]+ },+ {+ "name": "InvalidDestinationContract",+ "docs": [+ " Cannot restore to nonexisting or alive contract."+ ]+ },+ {+ "name": "InvalidTombstone",+ "docs": [+ " Tombstones don't match."+ ]+ },+ {+ "name": "InvalidContractOrigin",+ "docs": [+ " An origin TrieId written in the current block."+ ]+ },+ {+ "name": "OutOfGas",+ "docs": [+ " The executed contract exhausted its gas limit."+ ]+ },+ {+ "name": "OutputBufferTooSmall",+ "docs": [+ " The output buffer supplied to a contract API call was too small."+ ]+ },+ {+ "name": "BelowSubsistenceThreshold",+ "docs": [+ " Performing the requested transfer would have brought the contract below",+ " the subsistence threshold. No transfer is allowed to do this in order to allow",+ " for a tombstone to be created. Use `seal_terminate` to remove a contract without",+ " leaving a tombstone behind."+ ]+ },+ {+ "name": "NewContractNotFunded",+ "docs": [+ " The newly created contract is below the subsistence threshold after executing",+ " its contructor. No contracts are allowed to exist below that threshold."+ ]+ },+ {+ "name": "TransferFailed",+ "docs": [+ " Performing the requested transfer failed for a reason originating in the",+ " chosen currency implementation of the runtime. Most probably the balance is",+ " too low or locks are placed on it."+ ]+ },+ {+ "name": "MaxCallDepthReached",+ "docs": [+ " Performing a call was denied because the calling depth reached the limit",+ " of what is specified in the schedule."+ ]+ },+ {+ "name": "NotCallable",+ "docs": [+ " The contract that was called is either no contract at all (a plain account)",+ " or is a tombstone."+ ]+ },+ {+ "name": "CodeTooLarge",+ "docs": [+ " The code supplied to `instantiate_with_code` exceeds the limit specified in the",+ " current schedule."+ ]+ },+ {+ "name": "CodeNotFound",+ "docs": [+ " No code could be found at the supplied code hash."+ ]+ },+ {+ "name": "OutOfBounds",+ "docs": [+ " A buffer outside of sandbox memory was passed to a contract API function."+ ]+ },+ {+ "name": "DecodingFailed",+ "docs": [+ " Input passed to a contract API function failed to decode as expected type."+ ]+ },+ {+ "name": "ContractTrapped",+ "docs": [+ " Contract trapped during execution."+ ]+ },+ {+ "name": "ValueTooLarge",+ "docs": [+ " The size defined in `T::MaxValueSize` was exceeded."+ ]+ },+ {+ "name": "ReentranceDenied",+ "docs": [+ " The action performed is not allowed while the contract performing it is already",+ " on the call stack. Those actions are contract self destruction and restoration",+ " of a tombstone."+ ]+ },+ {+ "name": "InputAlreadyRead",+ "docs": [+ " `seal_input` was called twice from the same contract execution context."+ ]+ },+ {+ "name": "RandomSubjectTooLong",+ "docs": [+ " The subject passed to `seal_random` exceeds the limit."+ ]+ },+ {+ "name": "TooManyTopics",+ "docs": [+ " The amount of topics passed to `seal_deposit_events` exceeds the limit."+ ]+ },+ {+ "name": "DuplicateTopics",+ "docs": [+ " The topics passed to `seal_deposit_events` contains at least one duplicate."+ ]+ },+ {+ "name": "NoChainExtension",+ "docs": [+ " The chain does not provide a chain extension. Calling the chain extension results",+ " in this error. Note that this usually shouldn't happen as deploying such contracts",+ " is rejected."+ ]+ },+ {+ "name": "DeletionQueueFull",+ "docs": [+ " Removal of a contract failed because the deletion queue is full.",+ "",+ " This can happen when either calling [`Pallet::claim_surcharge`] or `seal_terminate`.",+ " The queue is filled by deleting contracts and emptied by a fixed amount each block.",+ " Trying again during another block is the only way to resolve this issue."+ ]+ },+ {+ "name": "ContractNotEvictable",+ "docs": [+ " A contract could not be evicted because it has enough balance to pay rent.",+ "",+ " This can be returned from [`Pallet::claim_surcharge`] because the target",+ " contract has enough balance to pay for its rent."+ ]+ },+ {+ "name": "StorageExhausted",+ "docs": [+ " A storage modification exhausted the 32bit type that holds the storage size.",+ "",+ " This can either happen when the accumulated storage in bytes is too large or",+ " when number of storage items is too large."+ ]+ },+ {+ "name": "DuplicateContract",+ "docs": [+ " A contract with the same AccountId already exists."+ ]+ }+ ],+ "index": 18+ },+ {+ "name": "Sudo",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "Key",+ "modifier": "Default",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The `AccountId` of the sudo key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "sudo",+ "args": [+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_unchecked_weight",+ "args": [+ {+ "name": "call",+ "type": "Call"+ },+ {+ "name": "_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ " This function does not check the weight of the call, and instead allows the",+ " Sudo user to specify the weight of the call.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - The weight of this call is defined by the caller.",+ " # </weight>"+ ]+ },+ {+ "name": "set_key",+ "args": [+ {+ "name": "new",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_as",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Signed` origin from",+ " a given account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Sudid",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A sudo just took place. \\[result\\]"+ ]+ },+ {+ "name": "KeyChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The \\[sudoer\\] just switched identity; the old key is supplied."+ ]+ },+ {+ "name": "SudoAsDone",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A sudo just took place. \\[result\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "RequireSudo",+ "docs": [+ " Sender must be the Sudo account"+ ]+ }+ ],+ "index": 19+ },+ {+ "name": "ImOnline",+ "storage": {+ "prefix": "ImOnline",+ "items": [+ {+ "name": "HeartbeatAfter",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The block number after which it's ok to send heartbeats in the current",+ " session.",+ "",+ " At the beginning of each session we set this to a value that should fall",+ " roughly in the middle of the session duration. The idea is to first wait for",+ " the validators to produce a block in the current session, so that the",+ " heartbeat later on will not be necessary.",+ "",+ " This value will only be used as a fallback if we fail to get a proper session",+ " progress estimate from `NextSessionRotation`, as those estimates should be",+ " more accurate then the value we calculate for `HeartbeatAfter`."+ ]+ },+ {+ "name": "Keys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AuthorityId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of keys that may issue a heartbeat."+ ]+ },+ {+ "name": "ReceivedHeartbeats",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "AuthIndex",+ "value": "Bytes",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " For each session index, we keep a mapping of `AuthIndex` to",+ " `offchain::OpaqueNetworkState`."+ ]+ },+ {+ "name": "AuthoredBlocks",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "ValidatorId",+ "value": "u32",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " For each session index, we keep a mapping of `ValidatorId<T>` to the",+ " number of blocks authored by the given authority."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "heartbeat",+ "args": [+ {+ "name": "heartbeat",+ "type": "Heartbeat"+ },+ {+ "name": "_signature",+ "type": "Signature"+ }+ ],+ "docs": [+ " # <weight>",+ " - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)",+ " and E is length of `heartbeat.network_state.external_address`",+ " - `O(K)`: decoding of length `K`",+ " - `O(E)`: decoding/encoding of length `E`",+ " - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,",+ " `ReceivedHeartbeats`",+ " - DbWrites: `ReceivedHeartbeats`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "HeartbeatReceived",+ "args": [+ "AuthorityId"+ ],+ "docs": [+ " A new heartbeat was received from `AuthorityId` \\[authority_id\\]"+ ]+ },+ {+ "name": "AllGood",+ "args": [],+ "docs": [+ " At the end of the session, no offence was committed."+ ]+ },+ {+ "name": "SomeOffline",+ "args": [+ "Vec<IdentificationTuple>"+ ],+ "docs": [+ " At the end of the session, at least one validator was found to be \\[offline\\]."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidKey",+ "docs": [+ " Non existent public key."+ ]+ },+ {+ "name": "DuplicatedHeartbeat",+ "docs": [+ " Duplicated heartbeat."+ ]+ }+ ],+ "index": 20+ },+ {+ "name": "AuthorityDiscovery",+ "storage": null,+ "calls": [],+ "events": null,+ "constants": [],+ "errors": [],+ "index": 21+ },+ {+ "name": "Offences",+ "storage": {+ "prefix": "Offences",+ "items": [+ {+ "name": "Reports",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReportIdOf",+ "value": "OffenceDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The primary structure that holds all offence records keyed by report identifiers."+ ]+ },+ {+ "name": "DeferredOffences",+ "modifier": "Default",+ "type": {+ "plain": "Vec<DeferredOffenceOf>"+ },+ "fallback": "0x00",+ "docs": [+ " Deferred reports that have been rejected by the offence handler and need to be submitted",+ " at a later time."+ ]+ },+ {+ "name": "ConcurrentReportsIndex",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Kind",+ "key2": "OpaqueTimeSlot",+ "value": "Vec<ReportIdOf>",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " A vector of reports of the same kind that happened at the same time slot."+ ]+ },+ {+ "name": "ReportsByKindIndex",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Kind",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Enumerates all reports of a kind along with the time they happened.",+ "",+ " All reports are sorted by the time of offence.",+ "",+ " Note that the actual type of this mapping is `Vec<u8>`, this is because values of",+ " different types are not supported at the moment so we are doing the manual serialization."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "Offence",+ "args": [+ "Kind",+ "OpaqueTimeSlot",+ "bool"+ ],+ "docs": [+ " There is an offence reported of the given `kind` happened at the `session_index` and",+ " (kind-specific) time slot. This event is not deposited for duplicate slashes. last",+ " element indicates of the offence was applied (true) or queued (false)",+ " \\[kind, timeslot, applied\\]."+ ]+ }+ ],+ "constants": [],+ "errors": [],+ "index": 22+ },+ {+ "name": "Historical",+ "storage": null,+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 23+ },+ {+ "name": "RandomnessCollectiveFlip",+ "storage": {+ "prefix": "RandomnessCollectiveFlip",+ "items": [+ {+ "name": "RandomMaterial",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " Series of block headers from the last 81 blocks that acts as random seed material. This",+ " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",+ " the oldest hash."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [],+ "errors": [],+ "index": 24+ },+ {+ "name": "Identity",+ "storage": {+ "prefix": "Identity",+ "items": [+ {+ "name": "IdentityOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Registration",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information that is pertinent to identify the entity behind an account.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "SuperOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "(AccountId,Data)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The super-identity of an alternative \"sub\" identity together with its name, within that",+ " context. If the account is not some other account's sub-identity, then just `None`."+ ]+ },+ {+ "name": "SubsOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " Alternative \"sub\" identities of this account.",+ "",+ " The first item is the deposit, the second is a vector of the accounts.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "Registrars",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Option<RegistrarInfo>>"+ },+ "fallback": "0x00",+ "docs": [+ " The set of registrars. Not expected to get very big as can only be added through a",+ " special origin (likely a council motion).",+ "",+ " The index into this can be cast to `RegistrarIndex` to get a valid value."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_registrar",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a registrar to the system.",+ "",+ " The dispatch origin for this call must be `T::RegistrarOrigin`.",+ "",+ " - `account`: the account of the registrar.",+ "",+ " Emits `RegistrarAdded` if successful.",+ "",+ " # <weight>",+ " - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).",+ " - One storage mutation (codec `O(R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_identity",+ "args": [+ {+ "name": "info",+ "type": "IdentityInfo"+ }+ ],+ "docs": [+ " Set an account's identity information and reserve the appropriate deposit.",+ "",+ " If the account already has identity information, the deposit is taken as part payment",+ " for the new deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `info`: The identity information.",+ "",+ " Emits `IdentitySet` if successful.",+ "",+ " # <weight>",+ " - `O(X + X' + R)`",+ " - where `X` additional-field-count (deposit-bounded and code-bounded)",+ " - where `R` judgements-count (registrar-count-bounded)",+ " - One balance reserve operation.",+ " - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_subs",+ "args": [+ {+ "name": "subs",+ "type": "Vec<(AccountId,Data)>"+ }+ ],+ "docs": [+ " Set the sub-accounts of the sender.",+ "",+ " Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned",+ " and an amount `SubAccountDeposit` will be reserved for each item in `subs`.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " - `subs`: The identity's (new) sub-accounts.",+ "",+ " # <weight>",+ " - `O(P + S)`",+ " - where `P` old-subs-count (hard- and deposit-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - At most one balance operations.",+ " - DB:",+ " - `P + S` storage mutations (codec complexity `O(1)`)",+ " - One storage read (codec complexity `O(P)`).",+ " - One storage write (codec complexity `O(S)`).",+ " - One storage-exists (`IdentityOf::contains_key`).",+ " # </weight>"+ ]+ },+ {+ "name": "clear_identity",+ "args": [],+ "docs": [+ " Clear an account's identity info and all sub-accounts and return all deposits.",+ "",+ " Payment: All reserved balances on the account are returned.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " Emits `IdentityCleared` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`",+ " - where `R` registrar-count (governance-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - where `X` additional-field-count (deposit-bounded and code-bounded).",+ " - One balance-unreserve operation.",+ " - `2` storage reads and `S + 2` storage deletions.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "request_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "max_fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Request a judgement from a registrar.",+ "",+ " Payment: At most `max_fee` will be reserved for payment to the registrar if judgement",+ " given.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is requested.",+ " - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:",+ "",+ " ```nocompile",+ " Self::registrars().get(reg_index).unwrap().fee",+ " ```",+ "",+ " Emits `JudgementRequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_request",+ "args": [+ {+ "name": "reg_index",+ "type": "RegistrarIndex"+ }+ ],+ "docs": [+ " Cancel a previous request.",+ "",+ " Payment: A previously reserved deposit is returned on success.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is no longer requested.",+ "",+ " Emits `JudgementUnrequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - One storage mutation `O(R + X)`.",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "set_fee",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Set the fee required for a judgement to be requested from a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fee`: the new fee.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_account_id",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Change the account associated with a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `new`: the new account ID.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_fields",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fields",+ "type": "IdentityFields"+ }+ ],+ "docs": [+ " Set the field information for a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fields`: the fields that the registrar concerns themselves with.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "provide_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "judgement",+ "type": "IdentityJudgement"+ }+ ],+ "docs": [+ " Provide a judgement for an account's identity.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `reg_index`.",+ "",+ " - `reg_index`: the index of the registrar whose judgement is being made.",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ " - `judgement`: the judgement of the registrar of index `reg_index` about `target`.",+ "",+ " Emits `JudgementGiven` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-transfer operation.",+ " - Up to one account-lookup operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "kill_identity",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove an account's identity and sub-account information and slash the deposits.",+ "",+ " Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by",+ " `Slash`. Verification request deposits are not returned; they should be cancelled",+ " manually using `cancel_request`.",+ "",+ " The dispatch origin for this call must match `T::ForceOrigin`.",+ "",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ "",+ " Emits `IdentityKilled` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`.",+ " - One balance-reserve operation.",+ " - `S + 2` storage mutations.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "add_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Add the given account to the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "rename_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Alter the associated name of the given sub-account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "remove_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove the given account from the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "quit_sub",+ "args": [],+ "docs": [+ " Remove the sender as a sub-account.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender (*not* the original depositor).",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " super-identity.",+ "",+ " NOTE: This should not normally be used, but is provided in the case that the non-",+ " controller of an account is maliciously registered as a sub-account."+ ]+ }+ ],+ "events": [+ {+ "name": "IdentitySet",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was set or reset (which will remove all judgements). \\[who\\]"+ ]+ },+ {+ "name": "IdentityCleared",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was cleared, and the given balance returned. \\[who, deposit\\]"+ ]+ },+ {+ "name": "IdentityKilled",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was removed and the given balance slashed. \\[who, deposit\\]"+ ]+ },+ {+ "name": "JudgementRequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was asked from a registrar. \\[who, registrar_index\\]"+ ]+ },+ {+ "name": "JudgementUnrequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement request was retracted. \\[who, registrar_index\\]"+ ]+ },+ {+ "name": "JudgementGiven",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was given by a registrar. \\[target, registrar_index\\]"+ ]+ },+ {+ "name": "RegistrarAdded",+ "args": [+ "RegistrarIndex"+ ],+ "docs": [+ " A registrar was added. \\[registrar_index\\]"+ ]+ },+ {+ "name": "SubIdentityAdded",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was added to an identity and the deposit paid. \\[sub, main, deposit\\]"+ ]+ },+ {+ "name": "SubIdentityRemoved",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was removed from an identity and the deposit freed.",+ " \\[sub, main, deposit\\]"+ ]+ },+ {+ "name": "SubIdentityRevoked",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was cleared, and the given deposit repatriated from the",+ " main identity account to the sub-identity account. \\[sub, main, deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "BasicDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The amount held on deposit for a registered identity."+ ]+ },+ {+ "name": "FieldDeposit",+ "type": "BalanceOf",+ "value": "0x00a031a95fe300000000000000000000",+ "docs": [+ " The amount held on deposit per additional field for a registered identity."+ ]+ },+ {+ "name": "SubAccountDeposit",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount held on deposit for a registered subaccount. This should account for the fact",+ " that one storage item's value will increase by the size of an account ID, and there will be",+ " another trie item whose value is the size of an account ID plus 32 bytes."+ ]+ },+ {+ "name": "MaxSubAccounts",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of sub-accounts allowed per identified account."+ ]+ },+ {+ "name": "MaxAdditionalFields",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O",+ " required to access an identity, but can be pretty high."+ ]+ },+ {+ "name": "MaxRegistrars",+ "type": "u32",+ "value": "0x14000000",+ "docs": [+ " Maxmimum number of registrars allowed in the system. Needed to bound the complexity",+ " of, e.g., updating judgements."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooManySubAccounts",+ "docs": [+ " Too many subs-accounts."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Account isn't found."+ ]+ },+ {+ "name": "NotNamed",+ "docs": [+ " Account isn't named."+ ]+ },+ {+ "name": "EmptyIndex",+ "docs": [+ " Empty index."+ ]+ },+ {+ "name": "FeeChanged",+ "docs": [+ " Fee is changed."+ ]+ },+ {+ "name": "NoIdentity",+ "docs": [+ " No identity found."+ ]+ },+ {+ "name": "StickyJudgement",+ "docs": [+ " Sticky judgement."+ ]+ },+ {+ "name": "JudgementGiven",+ "docs": [+ " Judgement given."+ ]+ },+ {+ "name": "InvalidJudgement",+ "docs": [+ " Invalid judgement."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " The index is invalid."+ ]+ },+ {+ "name": "InvalidTarget",+ "docs": [+ " The target is invalid."+ ]+ },+ {+ "name": "TooManyFields",+ "docs": [+ " Too many additional fields."+ ]+ },+ {+ "name": "TooManyRegistrars",+ "docs": [+ " Maximum amount of registrars reached. Cannot add any more."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Account ID is already named."+ ]+ },+ {+ "name": "NotSub",+ "docs": [+ " Sender is not a sub-account."+ ]+ },+ {+ "name": "NotOwned",+ "docs": [+ " Sub-account isn't owned by sender."+ ]+ }+ ],+ "index": 25+ },+ {+ "name": "Society",+ "storage": {+ "prefix": "Society",+ "items": [+ {+ "name": "Founder",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The first member."+ ]+ },+ {+ "name": "Rules",+ "modifier": "Optional",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x00",+ "docs": [+ " A hash of the rules of this society concerning membership. Can only be set once and",+ " only by the founder."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of candidates; bidders that are attempting to become members."+ ]+ },+ {+ "name": "SuspendedCandidates",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,BidKind)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended candidates."+ ]+ },+ {+ "name": "Pot",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Amount of our account balance that is specifically for the next round's bid(s)."+ ]+ },+ {+ "name": "Head",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The most primary from the most recently approved members."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of members, ordered."+ ]+ },+ {+ "name": "SuspendedMembers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended members."+ ]+ },+ {+ "name": "Bids",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current bids, stored ordered by the value of the bid."+ ]+ },+ {+ "name": "Vouching",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "VouchingStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Members currently vouching or banned from vouching again"+ ]+ },+ {+ "name": "Payouts",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Vec<(BlockNumber,BalanceOf)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Pending payouts; ordered by block number, with the amount that should be paid out."+ ]+ },+ {+ "name": "Strikes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "StrikeCount",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " The ongoing number of losing votes cast by the member."+ ]+ },+ {+ "name": "Votes",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "SocietyVote",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Double map from Candidate -> Voter -> (Maybe) Vote."+ ]+ },+ {+ "name": "Defender",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The defending member currently being challenged."+ ]+ },+ {+ "name": "DefenderVotes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SocietyVote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes for the defender."+ ]+ },+ {+ "name": "MaxMembers",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The max number of members for the society at one time."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bid",+ "args": [+ {+ "name": "value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " A user outside of the society can make a bid for entry.",+ "",+ " Payment: `CandidateDeposit` will be reserved for making a bid. It is returned",+ " when the bid becomes a member, or if the bid calls `unbid`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `value`: A one time payment the bid would like to receive when joining the society.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)",+ " - Storage Reads:",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " \t- One storage read to retrieve all members. O(M)",+ " - Storage Writes:",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for new bid.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unbid",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " A bidder can remove their bid for entry into society.",+ " By doing so, they will have their candidate deposit returned or",+ " they will unvouch their voucher.",+ "",+ " Payment: The bid deposit is unreserved if the user made a bid.",+ "",+ " The dispatch origin for this call must be _Signed_ and a bidder.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who wants to unbid.",+ "",+ " # <weight>",+ " Key: B (len of bids), X (balance unreserve)",+ " - One storage read and write to retrieve and update the bids. O(B)",+ " - Either one unreserve balance action O(X) or one vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "value",+ "type": "BalanceOf"+ },+ {+ "name": "tip",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " As a member, vouch for someone to join society by placing a bid on their behalf.",+ "",+ " There is no deposit required to vouch for a new bid, but a member can only vouch for",+ " one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by",+ " the suspension judgement origin, the member will be banned from vouching again.",+ "",+ " As a vouching member, you can claim a tip if the candidate is accepted. This tip will",+ " be paid as a portion of the reward the member will receive for joining the society.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `who`: The user who you would like to vouch for.",+ " - `value`: The total reward to be paid between you and the candidate if they become",+ " a member in the society.",+ " - `tip`: Your cut of the total `value` payout when the candidate is inducted into",+ " the society. Tips larger than `value` will be saturated upon payout.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members)",+ " - Storage Reads:",+ " \t- One storage read to retrieve all members. O(M)",+ " \t- One storage read to check member is not already vouching. O(1)",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " - Storage Writes:",+ " \t- One storage write to insert vouching status to the member. O(1)",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(log M) search to check sender is a member.",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for vouch.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unvouch",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " As a vouching member, unvouch a bid. This only works while vouched user is",+ " only a bidder (and not a candidate).",+ "",+ " The dispatch origin for this call must be _Signed_ and a vouching member.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who should be unvouched.",+ "",+ " # <weight>",+ " Key: B (len of bids)",+ " - One storage read O(1) to check the signer is a vouching member.",+ " - One storage mutate to retrieve and update the bids. O(B)",+ " - One vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B)",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "candidate",+ "type": "LookupSource"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on a candidate.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `candidate`: The candidate that the member would like to bid on.",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " Key: C (len of candidates), M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One account lookup.",+ " - One storage read O(C) and O(C) search to check that user is a candidate.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM + C)",+ " # </weight>"+ ]+ },+ {+ "name": "defender_vote",+ "args": [+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on the defender.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " - Key: M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM)",+ " # </weight>"+ ]+ },+ {+ "name": "payout",+ "args": [],+ "docs": [+ " Transfer the first matured payout for the sender and remove it from the records.",+ "",+ " NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.",+ "",+ " Payment: The member will receive a payment equal to their first matured",+ " payout to their free balance.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member with",+ " payouts remaining.",+ "",+ " # <weight>",+ " Key: M (len of members), P (number of payouts for a particular member)",+ " - One storage read O(M) and O(log M) search to check signer is a member.",+ " - One storage read O(P) to get all payouts for a member.",+ " - One storage read O(1) to get the current block number.",+ " - One currency transfer call. O(X)",+ " - One storage write or removal to update the member's payouts. O(P)",+ "",+ " Total Complexity: O(M + logM + P + X)",+ " # </weight>"+ ]+ },+ {+ "name": "found",+ "args": [+ {+ "name": "founder",+ "type": "AccountId"+ },+ {+ "name": "max_members",+ "type": "u32"+ },+ {+ "name": "rules",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Found the society.",+ "",+ " This is done as a discrete action in order to allow for the",+ " module to be included into a running chain and can only be done once.",+ "",+ " The dispatch origin for this call must be from the _FounderSetOrigin_.",+ "",+ " Parameters:",+ " - `founder` - The first member and head of the newly founded society.",+ " - `max_members` - The initial max number of members for the society.",+ " - `rules` - The rules of this society concerning membership.",+ "",+ " # <weight>",+ " - Two storage mutates to set `Head` and `Founder`. O(1)",+ " - One storage write to add the first member to society. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "unfound",+ "args": [],+ "docs": [+ " Annul the founding of the society.",+ "",+ " The dispatch origin for this call must be Signed, and the signing account must be both",+ " the `Founder` and the `Head`. This implies that it may only be done when there is one",+ " member.",+ "",+ " # <weight>",+ " - Two storage reads O(1).",+ " - Four storage removals O(1).",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "forgive",+ "type": "bool"+ }+ ],+ "docs": [+ " Allow suspension judgement origin to make judgement on a suspended member.",+ "",+ " If a suspended member is forgiven, we simply add them back as a member, not affecting",+ " any of the existing storage items for that member.",+ "",+ " If a suspended member is rejected, remove all associated storage items, including",+ " their payouts, and remove any vouched bids they currently have.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended member to be judged.",+ " - `forgive` - A boolean representing whether the suspension judgement origin",+ " forgives (`true`) or rejects (`false`) a suspended member.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members)",+ " - One storage read to check `who` is a suspended member. O(1)",+ " - Up to one storage write O(M) with O(log M) binary search to add a member back to society.",+ " - Up to 3 storage removals O(1) to clean up a removed member.",+ " - Up to one storage write O(B) with O(B) search to remove vouched bid from bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal. O(1)",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_candidate",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "judgement",+ "type": "SocietyJudgement"+ }+ ],+ "docs": [+ " Allow suspended judgement origin to make judgement on a suspended candidate.",+ "",+ " If the judgement is `Approve`, we add them to society as a member with the appropriate",+ " payment for joining society.",+ "",+ " If the judgement is `Reject`, we either slash the deposit of the bid, giving it back",+ " to the society treasury, or we ban the voucher from vouching again.",+ "",+ " If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go",+ " through the induction process again.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended candidate to be judged.",+ " - `judgement` - `Approve`, `Reject`, or `Rebid`.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members), X (balance action)",+ " - One storage read to check `who` is a suspended candidate.",+ " - One storage removal of the suspended candidate.",+ " - Approve Logic",+ " \t- One storage read to get the available pot to pay users with. O(1)",+ " \t- One storage write to update the available pot. O(1)",+ " \t- One storage read to get the current block number. O(1)",+ " \t- One storage read to get all members. O(M)",+ " \t- Up to one unreserve currency action.",+ " \t- Up to two new storage writes to payouts.",+ " \t- Up to one storage write with O(log M) binary search to add a member to society.",+ " - Reject Logic",+ " \t- Up to one repatriate reserved currency action. O(X)",+ " \t- Up to one storage write to ban the vouching member from vouching again.",+ " - Rebid Logic",+ " \t- Storage mutate with O(log B) binary search to place the user back into bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal.",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "set_max_members",+ "args": [+ {+ "name": "max",+ "type": "u32"+ }+ ],+ "docs": [+ " Allows root origin to change the maximum number of members in society.",+ " Max membership count must be greater than 1.",+ "",+ " The dispatch origin for this call must be from _ROOT_.",+ "",+ " Parameters:",+ " - `max` - The maximum number of members for the society.",+ "",+ " # <weight>",+ " - One storage write to update the max. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Founded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The society is founded by the given identity. \\[founder\\]"+ ]+ },+ {+ "name": "Bid",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A membership bid just happened. The given account is the candidate's ID and their offer",+ " is the second. \\[candidate_id, offer\\]"+ ]+ },+ {+ "name": "Vouch",+ "args": [+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A membership bid just happened by vouching. The given account is the candidate's ID and",+ " their offer is the second. The vouching party is the third. \\[candidate_id, offer, vouching\\]"+ ]+ },+ {+ "name": "AutoUnbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (due to an excess of bids in the system)."+ ]+ },+ {+ "name": "Unbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (by their request)."+ ]+ },+ {+ "name": "Unvouch",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (by request of who vouched for them)."+ ]+ },+ {+ "name": "Inducted",+ "args": [+ "AccountId",+ "Vec<AccountId>"+ ],+ "docs": [+ " A group of candidates have been inducted. The batch's primary is the first value, the",+ " batch in full is the second. \\[primary, candidates\\]"+ ]+ },+ {+ "name": "SuspendedMemberJudgement",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A suspended member has been judged. \\[who, judged\\]"+ ]+ },+ {+ "name": "CandidateSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] has been suspended"+ ]+ },+ {+ "name": "MemberSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been suspended"+ ]+ },+ {+ "name": "Challenged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been challenged"+ ]+ },+ {+ "name": "Vote",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed \\[candidate, voter, vote\\]"+ ]+ },+ {+ "name": "DefenderVote",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed for a defending member \\[voter, vote\\]"+ ]+ },+ {+ "name": "NewMaxMembers",+ "args": [+ "u32"+ ],+ "docs": [+ " A new \\[max\\] member count has been set"+ ]+ },+ {+ "name": "Unfounded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Society is unfounded. \\[founder\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds were deposited into the society account. \\[value\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidateDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The minimum amount of a deposit required for a bid to be made."+ ]+ },+ {+ "name": "WrongSideDeduction",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount of the unpaid reward that gets deducted in the case that either a skeptic",+ " doesn't vote or someone votes in the wrong way."+ ]+ },+ {+ "name": "MaxStrikes",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)",+ " before they become suspended."+ ]+ },+ {+ "name": "PeriodSpend",+ "type": "BalanceOf",+ "value": "0x0000c52ebca2b1000000000000000000",+ "docs": [+ " The amount of incentive paid within each period. Doesn't include VoterTip."+ ]+ },+ {+ "name": "RotationPeriod",+ "type": "BlockNumber",+ "value": "0x00770100",+ "docs": [+ " The number of blocks between candidate/membership rotation periods."+ ]+ },+ {+ "name": "ChallengePeriod",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " The number of blocks between membership challenges."+ ]+ },+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f736f636965",+ "docs": [+ " The societies's module id"+ ]+ },+ {+ "name": "MaxCandidateIntake",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Maximum candidate intake per round."+ ]+ }+ ],+ "errors": [+ {+ "name": "BadPosition",+ "docs": [+ " An incorrect position was provided."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " User is not a member."+ ]+ },+ {+ "name": "AlreadyMember",+ "docs": [+ " User is already a member."+ ]+ },+ {+ "name": "Suspended",+ "docs": [+ " User is suspended."+ ]+ },+ {+ "name": "NotSuspended",+ "docs": [+ " User is not suspended."+ ]+ },+ {+ "name": "NoPayout",+ "docs": [+ " Nothing to payout."+ ]+ },+ {+ "name": "AlreadyFounded",+ "docs": [+ " Society already founded."+ ]+ },+ {+ "name": "InsufficientPot",+ "docs": [+ " Not enough in pot to accept candidate."+ ]+ },+ {+ "name": "AlreadyVouching",+ "docs": [+ " Member is already vouching or banned from vouching again."+ ]+ },+ {+ "name": "NotVouching",+ "docs": [+ " Member is not vouching."+ ]+ },+ {+ "name": "Head",+ "docs": [+ " Cannot remove the head of the chain."+ ]+ },+ {+ "name": "Founder",+ "docs": [+ " Cannot remove the founder."+ ]+ },+ {+ "name": "AlreadyBid",+ "docs": [+ " User has already made a bid."+ ]+ },+ {+ "name": "AlreadyCandidate",+ "docs": [+ " User is already a candidate."+ ]+ },+ {+ "name": "NotCandidate",+ "docs": [+ " User is not a candidate."+ ]+ },+ {+ "name": "MaxMembers",+ "docs": [+ " Too many members in the society."+ ]+ },+ {+ "name": "NotFounder",+ "docs": [+ " The caller is not the founder."+ ]+ },+ {+ "name": "NotHead",+ "docs": [+ " The caller is not the head."+ ]+ }+ ],+ "index": 26+ },+ {+ "name": "Recovery",+ "storage": {+ "prefix": "Recovery",+ "items": [+ {+ "name": "Recoverable",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RecoveryConfig",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of recoverable accounts and their recovery configuration."+ ]+ },+ {+ "name": "ActiveRecoveries",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "ActiveRecovery",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Active recovery attempts.",+ "",+ " First account is the account to be recovered, and the second account",+ " is the user trying to recover the account."+ ]+ },+ {+ "name": "Proxy",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The list of allowed proxy accounts.",+ "",+ " Map from the user who can access it to the recovered account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "as_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through a recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you want to make a call on-behalf-of.",+ " - `call`: The call you want to make with the recovered account.",+ "",+ " # <weight>",+ " - The weight of the `call` + 10,000.",+ " - One storage lookup to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "set_recovered",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow ROOT to bypass the recovery process and set an a rescuer account",+ " for a lost account directly.",+ "",+ " The dispatch origin for this call must be _ROOT_.",+ "",+ " Parameters:",+ " - `lost`: The \"lost account\" to be recovered.",+ " - `rescuer`: The \"rescuer account\" which can call as the lost account.",+ "",+ " # <weight>",+ " - One storage write O(1)",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "create_recovery",+ "args": [+ {+ "name": "friends",+ "type": "Vec<AccountId>"+ },+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "delay_period",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Create a recovery configuration for your account. This makes your account recoverable.",+ "",+ " Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance",+ " will be reserved for storing the recovery configuration. This deposit is returned",+ " in full when the user calls `remove_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `friends`: A list of friends you trust to vouch for recovery attempts.",+ " Should be ordered and contain no duplicate values.",+ " - `threshold`: The number of friends that must vouch for a recovery attempt",+ " before the account can be recovered. Should be less than or equal to",+ " the length of the list of friends.",+ " - `delay_period`: The number of blocks after a recovery attempt is initialized",+ " that needs to pass before the account can be recovered.",+ "",+ " # <weight>",+ " - Key: F (len of friends)",+ " - One storage read to check that account is not already recoverable. O(1).",+ " - A check that the friends list is sorted and unique. O(F)",+ " - One currency reserve operation. O(X)",+ " - One storage write. O(1). Codec O(F).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "initiate_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Initiate the process for recovering a recoverable account.",+ "",+ " Payment: `RecoveryDeposit` balance will be reserved for initiating the",+ " recovery process. This deposit will always be repatriated to the account",+ " trying to be recovered. See `close_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to recover. This account",+ " needs to be recoverable (i.e. have a recovery configuration).",+ "",+ " # <weight>",+ " - One storage read to check that account is recoverable. O(F)",+ " - One storage read to check that this recovery process hasn't already started. O(1)",+ " - One currency reserve operation. O(X)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch_recovery",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a \"friend\" of a recoverable account to vouch for an active recovery",+ " process for that account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"friend\"",+ " for the recoverable account.",+ "",+ " Parameters:",+ " - `lost`: The lost account that you want to recover.",+ " - `rescuer`: The account trying to rescue the lost account that you",+ " want to vouch for.",+ "",+ " The combination of these two parameters must point to an active recovery",+ " process.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One binary search to confirm caller is a friend. O(logF)",+ " - One binary search to confirm caller has not already vouched. O(logV)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + logF + V + logV)",+ " # </weight>"+ ]+ },+ {+ "name": "claim_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a successful rescuer to claim their recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"",+ " who has successfully completed the account recovery process: collected",+ " `threshold` or more vouches, waited `delay_period` blocks since initiation.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to claim has been successfully",+ " recovered by you.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + V)",+ " # </weight>"+ ]+ },+ {+ "name": "close_recovery",+ "args": [+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " As the controller of a recoverable account, close an active recovery",+ " process for your account.",+ "",+ " Payment: By calling this function, the recoverable account will receive",+ " the recovery deposit `RecoveryDeposit` placed by the rescuer.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account with an active recovery process for it.",+ "",+ " Parameters:",+ " - `rescuer`: The account trying to rescue this recoverable account.",+ "",+ " # <weight>",+ " Key: V (len of vouching friends)",+ " - One storage read/remove to get the active recovery process. O(1), Codec O(V)",+ " - One balance call to repatriate reserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(V + X)",+ " # </weight>"+ ]+ },+ {+ "name": "remove_recovery",+ "args": [],+ "docs": [+ " Remove the recovery process for your account. Recovered accounts are still accessible.",+ "",+ " NOTE: The user must make sure to call `close_recovery` on all active",+ " recovery attempts before calling this function else it will fail.",+ "",+ " Payment: By calling this function the recoverable account will unreserve",+ " their recovery configuration deposit.",+ " (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account (i.e. has a recovery configuration).",+ "",+ " # <weight>",+ " Key: F (len of friends)",+ " - One storage read to get the prefix iterator for active recoveries. O(1)",+ " - One storage read/remove to get the recovery configuration. O(1), Codec O(F)",+ " - One balance call to unreserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Cancel the ability to use `as_recovered` for `account`.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you are able to call on-behalf-of.",+ "",+ " # <weight>",+ " - One storage mutation to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "RecoveryCreated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been set up for an \\[account\\]."+ ]+ },+ {+ "name": "RecoveryInitiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process has been initiated for lost account by rescuer account.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "RecoveryVouched",+ "args": [+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been vouched for by sender.",+ " \\[lost, rescuer, sender\\]"+ ]+ },+ {+ "name": "RecoveryClosed",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been closed.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "AccountRecovered",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Lost account has been successfully recovered by rescuer account.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "RecoveryRemoved",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been removed for an \\[account\\]."+ ]+ }+ ],+ "constants": [+ {+ "name": "ConfigDepositBase",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a recovery configuration."+ ]+ },+ {+ "name": "FriendDepositFactor",+ "type": "BalanceOf",+ "value": "0x00203d88792d00000000000000000000",+ "docs": [+ " The amount of currency needed per additional user when creating a recovery configuration."+ ]+ },+ {+ "name": "MaxFriends",+ "type": "u16",+ "value": "0x0900",+ "docs": [+ " The maximum amount of friends allowed in a recovery configuration."+ ]+ },+ {+ "name": "RecoveryDeposit",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for starting a recovery."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotAllowed",+ "docs": [+ " User is not allowed to make a call on behalf of this account"+ ]+ },+ {+ "name": "ZeroThreshold",+ "docs": [+ " Threshold must be greater than zero"+ ]+ },+ {+ "name": "NotEnoughFriends",+ "docs": [+ " Friends list must be greater than zero and threshold"+ ]+ },+ {+ "name": "MaxFriends",+ "docs": [+ " Friends list must be less than max friends"+ ]+ },+ {+ "name": "NotSorted",+ "docs": [+ " Friends list must be sorted and free of duplicates"+ ]+ },+ {+ "name": "NotRecoverable",+ "docs": [+ " This account is not set up for recovery"+ ]+ },+ {+ "name": "AlreadyRecoverable",+ "docs": [+ " This account is already set up for recovery"+ ]+ },+ {+ "name": "AlreadyStarted",+ "docs": [+ " A recovery process has already started for this account"+ ]+ },+ {+ "name": "NotStarted",+ "docs": [+ " A recovery process has not started for this rescuer"+ ]+ },+ {+ "name": "NotFriend",+ "docs": [+ " This account is not a friend who can vouch"+ ]+ },+ {+ "name": "DelayPeriod",+ "docs": [+ " The friend must wait until the delay period to vouch for this recovery"+ ]+ },+ {+ "name": "AlreadyVouched",+ "docs": [+ " This user has already vouched for this recovery"+ ]+ },+ {+ "name": "Threshold",+ "docs": [+ " The threshold for recovering this account has not been met"+ ]+ },+ {+ "name": "StillActive",+ "docs": [+ " There are still active recovery attempts that need to be closed"+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " There was an overflow in a calculation"+ ]+ },+ {+ "name": "AlreadyProxy",+ "docs": [+ " This account is already set up for recovery"+ ]+ },+ {+ "name": "BadState",+ "docs": [+ " Some internal state is broken."+ ]+ }+ ],+ "index": 27+ },+ {+ "name": "Vesting",+ "storage": {+ "prefix": "Vesting",+ "items": [+ {+ "name": "Vesting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "VestingInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information regarding the vesting of a given account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vest",+ "args": [],+ "docs": [+ " Unlock any vested funds of the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have funds still",+ " locked under this pallet.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 2 Reads, 2 Writes",+ " - Reads: Vesting Storage, Balances Locks, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, [Sender Account]",+ " # </weight>"+ ]+ },+ {+ "name": "vest_other",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Unlock any vested funds of a `target` account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account whose vested funds should be unlocked. Must have funds still",+ " locked under this pallet.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account",+ " # </weight>"+ ]+ },+ {+ "name": "vested_transfer",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Create a vested transfer.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " # </weight>"+ ]+ },+ {+ "name": "force_vested_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Force a vested transfer.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `source`: The account whose funds should be transferred.",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 4 Reads, 4 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "VestingUpdated",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The amount vested has been updated. This could indicate more funds are available. The",+ " balance given is the amount which is left unvested (and thus locked).",+ " \\[account, unvested\\]"+ ]+ },+ {+ "name": "VestingCompleted",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has become fully vested. No further vesting can happen."+ ]+ }+ ],+ "constants": [+ {+ "name": "MinVestedTransfer",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount transferred to call `vested_transfer`."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotVesting",+ "docs": [+ " The account given is not vesting."+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " An existing vesting schedule already exists for this account that cannot be clobbered."+ ]+ },+ {+ "name": "AmountLow",+ "docs": [+ " Amount being transferred is too low to create a vesting schedule."+ ]+ }+ ],+ "index": 28+ },+ {+ "name": "Scheduler",+ "storage": {+ "prefix": "Scheduler",+ "items": [+ {+ "name": "Agenda",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Vec<Option<Scheduled>>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Items to be executed, indexed by the block number that they should be executed on."+ ]+ },+ {+ "name": "Lookup",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Bytes",+ "value": "TaskAddress",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Lookup from identity to the block number and index of the task."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "schedule",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.29 + .126 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda",+ " - Will use base weight of 25 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u32"+ }+ ],+ "docs": [+ " Cancel an anonymously scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.15 + 2.869 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 29.6 + .159 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 35 which should be good for more than 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Cancel a named scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 24.91 + 2.907 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_after",+ "args": [+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule`].",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named_after",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule_named`].",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Scheduled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Scheduled some task. \\[when, index\\]"+ ]+ },+ {+ "name": "Canceled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Canceled some task. \\[when, index\\]"+ ]+ },+ {+ "name": "Dispatched",+ "args": [+ "TaskAddress",+ "Option<Bytes>",+ "DispatchResult"+ ],+ "docs": [+ " Dispatched some task. \\[task, id, result\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "FailedToSchedule",+ "docs": [+ " Failed to schedule a call"+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Cannot find the scheduled call."+ ]+ },+ {+ "name": "TargetBlockNumberInPast",+ "docs": [+ " Given target block number is in the past."+ ]+ },+ {+ "name": "RescheduleNoChange",+ "docs": [+ " Reschedule failed because it does not change scheduled time."+ ]+ }+ ],+ "index": 29+ },+ {+ "name": "Proxy",+ "storage": {+ "prefix": "Proxy",+ "items": [+ {+ "name": "Proxies",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyDefinition>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The set of account proxies. Maps the account which has delegated to the accounts",+ " which are being delegated to, together with the amount held on deposit."+ ]+ },+ {+ "name": "Announcements",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyAnnouncement>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The announcements made by the proxy (key)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "proxy",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorised for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "add_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Register a proxy account for the sender that is able to make calls on its behalf.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to make a proxy.",+ " - `proxy_type`: The permissions allowed for this proxy account.",+ " - `delay`: The announcement period required of the initial proxy. Will generally be",+ " zero.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Unregister a proxy account for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to remove as a proxy.",+ " - `proxy_type`: The permissions currently enabled for the removed proxy account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxies",+ "args": [],+ "docs": [+ " Unregister all proxy accounts for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " WARNING: This may be called on accounts created by `anonymous`, however if done, then",+ " the unreserved fees will be inaccessible. **All access to this account will be lost.**",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "anonymous",+ "args": [+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u16"+ }+ ],+ "docs": [+ " Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and",+ " initialize it with a proxy of `proxy_type` for `origin` sender.",+ "",+ " Requires a `Signed` origin.",+ "",+ " - `proxy_type`: The type of the proxy that the sender will be registered as over the",+ " new account. This will almost always be the most permissive `ProxyType` possible to",+ " allow for maximum flexibility.",+ " - `index`: A disambiguation index, in case this is called multiple times in the same",+ " transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just",+ " want to use `0`.",+ " - `delay`: The announcement period required of the initial proxy. Will generally be",+ " zero.",+ "",+ " Fails with `Duplicate` if this has already been called in this transaction, from the",+ " same sender, with the same parameters.",+ "",+ " Fails if there are insufficient funds to pay for deposit.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>",+ " TODO: Might be over counting 1 read"+ ]+ },+ {+ "name": "kill_anonymous",+ "args": [+ {+ "name": "spawner",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "height",+ "type": "Compact<BlockNumber>"+ },+ {+ "name": "ext_index",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Removes a previously spawned anonymous proxy.",+ "",+ " WARNING: **All access to this account will be lost.** Any funds held in it will be",+ " inaccessible.",+ "",+ " Requires a `Signed` origin, and the sender account must have been created by a call to",+ " `anonymous` with corresponding parameters.",+ "",+ " - `spawner`: The account that originally called `anonymous` to create this account.",+ " - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.",+ " - `proxy_type`: The proxy type originally passed to `anonymous`.",+ " - `height`: The height of the chain when the call to `anonymous` was processed.",+ " - `ext_index`: The extrinsic index in which the call to `anonymous` was processed.",+ "",+ " Fails with `NoPermission` in case the caller is not a previously created anonymous",+ " account whose `anonymous` call has corresponding parameters.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "announce",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Publish the hash of a proxy-call that will be made in the future.",+ "",+ " This must be called some number of blocks before the corresponding `proxy` is attempted",+ " if the delay associated with the proxy relationship is greater than zero.",+ "",+ " No more than `MaxPending` announcements may be made at any one time.",+ "",+ " This will take a deposit of `AnnouncementDepositFactor` as well as",+ " `AnnouncementDepositBase` if there are no other pending announcements.",+ "",+ " The dispatch origin for this call must be _Signed_ and a proxy of `real`.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_announcement",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove a given announcement.",+ "",+ " May be called by a proxy account to remove a call they previously announced and return",+ " the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "reject_announcement",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove the given announcement of a delegate.",+ "",+ " May be called by a target (proxied) account to remove a call that one of their delegates",+ " (`delegate`) has announced they want to execute. The deposit is returned.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `delegate`: The account that previously announced the call.",+ " - `call_hash`: The hash of the call to be made.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "proxy_announced",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorized for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ProxyExecuted",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A proxy was executed correctly, with the given \\[result\\]."+ ]+ },+ {+ "name": "AnonymousCreated",+ "args": [+ "AccountId",+ "AccountId",+ "ProxyType",+ "u16"+ ],+ "docs": [+ " Anonymous account has been created by new proxy with given",+ " disambiguation index and proxy type. \\[anonymous, who, proxy_type, disambiguation_index\\]"+ ]+ },+ {+ "name": "Announced",+ "args": [+ "AccountId",+ "AccountId",+ "Hash"+ ],+ "docs": [+ " An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProxyDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a proxy.",+ "",+ " This is held for an additional storage item whose value size is",+ " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."+ ]+ },+ {+ "name": "ProxyDepositFactor",+ "type": "BalanceOf",+ "value": "0x0060aa7714b400000000000000000000",+ "docs": [+ " The amount of currency needed per proxy added.",+ "",+ " This is held for adding 32 bytes plus an instance of `ProxyType` more into a pre-existing",+ " storage value. Thus, when configuring `ProxyDepositFactor` one should take into account",+ " `32 + proxy_type.encode().len()` bytes of data."+ ]+ },+ {+ "name": "MaxProxies",+ "type": "u16",+ "value": "0x2000",+ "docs": [+ " The maximum amount of proxies allowed for a single account."+ ]+ },+ {+ "name": "MaxPending",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum amount of time-delayed announcements that are allowed to be pending."+ ]+ },+ {+ "name": "AnnouncementDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating an announcement.",+ "",+ " This is held when a new storage item holding a `Balance` is created (typically 16 bytes)."+ ]+ },+ {+ "name": "AnnouncementDepositFactor",+ "type": "BalanceOf",+ "value": "0x00c054ef286801000000000000000000",+ "docs": [+ " The amount of currency needed per announcement made.",+ "",+ " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)",+ " into a pre-existing storage value."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooMany",+ "docs": [+ " There are too many proxies registered or too many announcements pending."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Proxy registration not found."+ ]+ },+ {+ "name": "NotProxy",+ "docs": [+ " Sender is not a proxy of the account to be proxied."+ ]+ },+ {+ "name": "Unproxyable",+ "docs": [+ " A call which is incompatible with the proxy type's filter was attempted."+ ]+ },+ {+ "name": "Duplicate",+ "docs": [+ " Account is already a proxy."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " Call may not be made by proxy because it may escalate its privileges."+ ]+ },+ {+ "name": "Unannounced",+ "docs": [+ " Announcement, if made at all, was made too recently."+ ]+ },+ {+ "name": "NoSelfProxy",+ "docs": [+ " Cannot add self as proxy."+ ]+ }+ ],+ "index": 30+ },+ {+ "name": "Multisig",+ "storage": {+ "prefix": "Multisig",+ "items": [+ {+ "name": "Multisigs",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "[u8;32]",+ "value": "Multisig",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of open multisig operations."+ ]+ },+ {+ "name": "Calls",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "[u8;32]",+ "value": "(OpaqueCall,AccountId,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": [+ {+ "name": "as_multi_threshold_1",+ "args": [+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Immediately dispatch a multi-signature call using a single approval from the caller.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `other_signatories`: The accounts (other than the sender) who are part of the",+ " multi-signature, but do not participate in the approval process.",+ " - `call`: The call to be executed.",+ "",+ " Result is equivalent to the dispatched result.",+ "",+ " # <weight>",+ " O(Z + C) where Z is the length of the call and C its execution weight.",+ " -------------------------------",+ " - DB Weight: None",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call",+ "type": "OpaqueCall"+ },+ {+ "name": "store_call",+ "type": "bool"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " If there are enough, then dispatch the call.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call`: The call to be executed.",+ "",+ " NOTE: Unless this is the final approval, you will generally want to use",+ " `approve_as_multi` instead, since it only requires a hash of the call.",+ "",+ " Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise",+ " on success, result is `Ok` and the result from the interior call, if it was executed,",+ " may be found in the deposited `MultisigExecuted` event.",+ "",+ " # <weight>",+ " - `O(S + Z + Call)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - The weight of the `call`.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " -------------------------------",+ " - DB Weight:",+ " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "approve_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " NOTE: If this is the final approval, you will want to use `as_multi` instead.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " ----------------------------------",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account]",+ " - Write: Multisig Storage, [Caller Account]",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "timepoint",+ "type": "Timepoint"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ }+ ],+ "docs": [+ " Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously",+ " for this operation will be unreserved on success.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `timepoint`: The timepoint (block number and transaction index) of the first approval",+ " transaction for this dispatch.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - One event.",+ " - I/O: 1 read `O(S)`, one remove.",+ " - Storage: removes one item.",+ " ----------------------------------",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account], Refund Account, Calls",+ " - Write: Multisig Storage, [Caller Account], Refund Account, Calls",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewMultisig",+ "args": [+ "AccountId",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A new multisig operation has begun. \\[approving, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigApproval",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been approved by someone.",+ " \\[approving, timepoint, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigExecuted",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash",+ "DispatchResult"+ ],+ "docs": [+ " A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigCancelled",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "DepositBase",+ "type": "BalanceOf",+ "value": "0x00f01c0adbed01000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a multisig execution or to store",+ " a dispatch call for later."+ ]+ },+ {+ "name": "DepositFactor",+ "type": "BalanceOf",+ "value": "0x0000cc7b9fae00000000000000000000",+ "docs": [+ " The amount of currency needed per unit threshold when creating a multisig execution."+ ]+ },+ {+ "name": "MaxSignatories",+ "type": "u16",+ "value": "0x6400",+ "docs": [+ " The maximum amount of signatories allowed for a given multisig."+ ]+ }+ ],+ "errors": [+ {+ "name": "MinimumThreshold",+ "docs": [+ " Threshold must be 2 or greater."+ ]+ },+ {+ "name": "AlreadyApproved",+ "docs": [+ " Call is already approved by this signatory."+ ]+ },+ {+ "name": "NoApprovalsNeeded",+ "docs": [+ " Call doesn't need any (more) approvals."+ ]+ },+ {+ "name": "TooFewSignatories",+ "docs": [+ " There are too few signatories in the list."+ ]+ },+ {+ "name": "TooManySignatories",+ "docs": [+ " There are too many signatories in the list."+ ]+ },+ {+ "name": "SignatoriesOutOfOrder",+ "docs": [+ " The signatories were provided out of order; they should be ordered."+ ]+ },+ {+ "name": "SenderInSignatories",+ "docs": [+ " The sender was contained in the other signatories; it shouldn't be."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Multisig operation not found when attempting to cancel."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " Only the account that originally created the multisig is able to cancel it."+ ]+ },+ {+ "name": "NoTimepoint",+ "docs": [+ " No timepoint was given, yet the multisig operation is already underway."+ ]+ },+ {+ "name": "WrongTimepoint",+ "docs": [+ " A different timepoint was given to the multisig operation that is underway."+ ]+ },+ {+ "name": "UnexpectedTimepoint",+ "docs": [+ " A timepoint was given, yet no multisig operation is underway."+ ]+ },+ {+ "name": "MaxWeightTooLow",+ "docs": [+ " The maximum weight information provided was too low."+ ]+ },+ {+ "name": "AlreadyStored",+ "docs": [+ " The data to be stored is already stored."+ ]+ }+ ],+ "index": 31+ },+ {+ "name": "Bounties",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "BountyCount",+ "modifier": "Default",+ "type": {+ "plain": "BountyIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of bounty proposals that have been made."+ ]+ },+ {+ "name": "Bounties",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BountyIndex",+ "value": "Bounty",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Bounties that have been made."+ ]+ },+ {+ "name": "BountyDescriptions",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BountyIndex",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The description of each bounty."+ ]+ },+ {+ "name": "BountyApprovals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<BountyIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Bounty indices that have been approved but not yet funded."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_bounty",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "description",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Propose a new bounty.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,",+ " or slashed when rejected.",+ "",+ " - `curator`: The curator account whom will manage this bounty.",+ " - `fee`: The curator fee.",+ " - `value`: The total payment amount of this bounty, curator fee included.",+ " - `description`: The description of this bounty."+ ]+ },+ {+ "name": "approve_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Approve a bounty proposal. At a later time, the bounty will be funded and become active",+ " and the original deposit will be returned.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "propose_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "curator",+ "type": "LookupSource"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Assign a curator to a funded bounty.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "unassign_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Unassign curator from a bounty.",+ "",+ " This function can only be called by the `RejectOrigin` a signed origin.",+ "",+ " If this function is called by the `RejectOrigin`, we assume that the curator is malicious",+ " or inactive. As a result, we will slash the curator when possible.",+ "",+ " If the origin is the curator, we take this as a sign they are unable to do their job and",+ " they willingly give up. We could slash them, but for now we allow them to recover their",+ " deposit and exit without issue. (We may want to change this if it is abused.)",+ "",+ " Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows",+ " anyone in the community to call out that a curator is not doing their due diligence, and",+ " we should pick a new curator. In this case the curator should also be slashed.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "accept_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Accept the curator role for a bounty.",+ " A deposit will be reserved from curator and refund upon successful payout.",+ "",+ " May only be called from the curator.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "award_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay.",+ "",+ " The dispatch origin for this call must be the curator of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to award.",+ " - `beneficiary`: The beneficiary account whom will receive the payout.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "claim_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Claim the payout from an awarded bounty after payout delay.",+ "",+ " The dispatch origin for this call must be the beneficiary of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to claim.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "close_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Cancel a proposed or active bounty. All the funds will be sent to treasury and",+ " the curator deposit will be unreserved if possible.",+ "",+ " Only `T::RejectOrigin` is able to cancel a bounty.",+ "",+ " - `bounty_id`: Bounty ID to cancel.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "extend_bounty_expiry",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Extend the expiry time of an active bounty.",+ "",+ " The dispatch origin for this call must be the curator of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to extend.",+ " - `remark`: additional information.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "BountyProposed",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " New bounty proposal. \\[index\\]"+ ]+ },+ {+ "name": "BountyRejected",+ "args": [+ "BountyIndex",+ "Balance"+ ],+ "docs": [+ " A bounty proposal was rejected; funds were slashed. \\[index, bond\\]"+ ]+ },+ {+ "name": "BountyBecameActive",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty proposal is funded and became active. \\[index\\]"+ ]+ },+ {+ "name": "BountyAwarded",+ "args": [+ "BountyIndex",+ "AccountId"+ ],+ "docs": [+ " A bounty is awarded to a beneficiary. \\[index, beneficiary\\]"+ ]+ },+ {+ "name": "BountyClaimed",+ "args": [+ "BountyIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]"+ ]+ },+ {+ "name": "BountyCanceled",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty is cancelled. \\[index\\]"+ ]+ },+ {+ "name": "BountyExtended",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty expiry is extended. \\[index\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "DataDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within bounty description."+ ]+ },+ {+ "name": "BountyDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a bounty proposal."+ ]+ },+ {+ "name": "BountyDepositPayoutDelay",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The delay period for which a bounty beneficiary need to wait before claim the payout."+ ]+ },+ {+ "name": "BountyUpdatePeriod",+ "type": "BlockNumber",+ "value": "0x00270600",+ "docs": [+ " Bounty duration in blocks."+ ]+ },+ {+ "name": "BountyCuratorDeposit",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of the curator fee that will be reserved upfront as deposit for bounty curator."+ ]+ },+ {+ "name": "BountyValueMinimum",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " Minimum value for a bounty."+ ]+ },+ {+ "name": "MaximumReasonLength",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " Maximum acceptable reason length."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " No proposal or bounty at that index."+ ]+ },+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "UnexpectedStatus",+ "docs": [+ " The bounty status is unexpected."+ ]+ },+ {+ "name": "RequireCurator",+ "docs": [+ " Require bounty curator."+ ]+ },+ {+ "name": "InvalidValue",+ "docs": [+ " Invalid bounty value."+ ]+ },+ {+ "name": "InvalidFee",+ "docs": [+ " Invalid bounty fee."+ ]+ },+ {+ "name": "PendingPayout",+ "docs": [+ " A bounty payout is pending.",+ " To cancel the bounty, you must unassign and slash the curator."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The bounties cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ],+ "index": 32+ },+ {+ "name": "Tips",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "Tips",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Hash",+ "value": "OpenTip",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.",+ " This has the insecure enumerable hash function since the key itself is already",+ " guaranteed to be a secure hash."+ ]+ },+ {+ "name": "Reasons",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Simple preimage lookup from the reason's hash to the original data. Again, has an",+ " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_awesome",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Report something `reason` that deserves a tip and claim any eventual the finder's fee.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `DataDepositPerByte` for each byte in `reason`.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where `R` length of `reason`.",+ " - encoding and hashing of 'reason'",+ " - DbReads: `Reasons`, `Tips`",+ " - DbWrites: `Reasons`, `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "retract_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",+ "",+ " If successful, the original deposit will be unreserved.",+ "",+ " The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",+ " must have been reported by the signing account through `report_awesome` (and not",+ " through `tip_new`).",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " Emits `TipRetracted` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Depends on the length of `T::Hash` which is fixed.",+ " - DbReads: `Tips`, `origin account`",+ " - DbWrites: `Reasons`, `Tips`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "tip_new",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "tip_value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Give a tip for something new; no finder's fee will be taken.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.",+ " - `O(T)`: decoding `Tipper` vec of length `T`",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - `O(R)`: hashing and encoding of reason of length `R`",+ " - DbReads: `Tippers`, `Reasons`",+ " - DbWrites: `Reasons`, `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ },+ {+ "name": "tip_value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Declare a tip value for an already-open tip.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",+ " account ID.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",+ " has started.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`, insert tip and check closing,",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ "",+ " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it",+ " is weighted as if almost full i.e of length `T-1`.",+ " - DbReads: `Tippers`, `Tips`",+ " - DbWrites: `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "close_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Close and payout a tip.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " The tip identified by `hash` must have finished its countdown period.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`.",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - DbReads: `Tips`, `Tippers`, `tip finder`",+ " - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`",+ " # </weight>"+ ]+ },+ {+ "name": "slash_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Remove and slash an already-open tip.",+ "",+ " May only be called from `T::RejectOrigin`.",+ "",+ " As a result, the finder is slashed and the deposits are lost.",+ "",+ " Emits `TipSlashed` if successful.",+ "",+ " # <weight>",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTip",+ "args": [+ "Hash"+ ],+ "docs": [+ " A new tip suggestion has been opened. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipClosing",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has reached threshold and is closing. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipClosed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been closed. \\[tip_hash, who, payout\\]"+ ]+ },+ {+ "name": "TipRetracted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has been retracted. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipSlashed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "TipCountdown",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The period for which a tip remains open after is has achieved threshold tippers."+ ]+ },+ {+ "name": "TipFindersFee",+ "type": "Percent",+ "value": "0x14",+ "docs": [+ " The amount of the final tip which goes to the original reporter of the tip."+ ]+ },+ {+ "name": "TipReportDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a tip report."+ ]+ },+ {+ "name": "DataDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within the tip report reason."+ ]+ },+ {+ "name": "MaximumReasonLength",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " Maximum acceptable reason length."+ ]+ }+ ],+ "errors": [+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "AlreadyKnown",+ "docs": [+ " The tip was already found/started."+ ]+ },+ {+ "name": "UnknownTip",+ "docs": [+ " The tip hash is unknown."+ ]+ },+ {+ "name": "NotFinder",+ "docs": [+ " The account attempting to retract the tip is not the finder of the tip."+ ]+ },+ {+ "name": "StillOpen",+ "docs": [+ " The tip cannot be claimed/closed because there are not enough tippers yet."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The tip cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ],+ "index": 33+ },+ {+ "name": "Assets",+ "storage": {+ "prefix": "Assets",+ "items": [+ {+ "name": "Asset",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AssetId",+ "value": "AssetDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Details of an asset."+ ]+ },+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_128Concat",+ "key1": "AssetId",+ "key2": "AccountId",+ "value": "AssetBalance",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00000000000000000000",+ "docs": [+ " The number of units of assets held by any given account."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_128Concat",+ "key1": "AssetId",+ "key2": "AssetApprovalKey",+ "value": "AssetApproval",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Approved balance transfers. First balance is the amount approved for transfer. Second",+ " is the amount of `T::Currency` reserved for storing this."+ ]+ },+ {+ "name": "Metadata",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AssetId",+ "value": "AssetMetadata",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000",+ "docs": [+ " Metadata of an asset."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "create",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "min_balance",+ "type": "TAssetBalance"+ }+ ],+ "docs": [+ " Issue a new class of fungible assets from a public origin.",+ "",+ " This new asset class has no assets initially and its owner is the origin.",+ "",+ " The origin must be Signed and the sender must have sufficient funds free.",+ "",+ " Funds of sender are reserved by `AssetDeposit`.",+ "",+ " Parameters:",+ " - `id`: The identifier of the new asset. This must not be currently in use to identify",+ " an existing asset.",+ " - `admin`: The admin of this class of assets. The admin is the initial address of each",+ " member of the asset class's admin team.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ "",+ " Emits `Created` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_create",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "is_sufficient",+ "type": "bool"+ },+ {+ "name": "min_balance",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Issue a new class of fungible assets from a privileged origin.",+ "",+ " This new asset class has no assets initially.",+ "",+ " The origin must conform to `ForceOrigin`.",+ "",+ " Unlike `create`, no funds are reserved.",+ "",+ " - `id`: The identifier of the new asset. This must not be currently in use to identify",+ " an existing asset.",+ " - `owner`: The owner of this class of assets. The owner has full superuser permissions",+ " over this asset, but may later change and configure the permissions using `transfer_ownership`",+ " and `set_team`.",+ " - `max_zombies`: The total number of accounts which may hold assets in this class yet",+ " have no existential deposit.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ "",+ " Emits `ForceCreated` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "destroy",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "witness",+ "type": "AssetDestroyWitness"+ }+ ],+ "docs": [+ " Destroy a class of fungible assets.",+ "",+ " The origin must conform to `ForceOrigin` or must be Signed and the sender must be the",+ " owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be destroyed. This must identify an existing",+ " asset.",+ "",+ " Emits `Destroyed` event when successful.",+ "",+ " Weight: `O(c + p + a)` where:",+ " - `c = (witness.accounts - witness.sufficients)`",+ " - `s = witness.sufficients`",+ " - `a = witness.approvals`"+ ]+ },+ {+ "name": "mint",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Mint assets of a particular class.",+ "",+ " The origin must be Signed and the sender must be the Issuer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to have some amount minted.",+ " - `beneficiary`: The account to be credited with the minted assets.",+ " - `amount`: The amount of the asset to be minted.",+ "",+ " Emits `Destroyed` event when successful.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."+ ]+ },+ {+ "name": "burn",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.",+ "",+ " Origin must be Signed and the sender should be the Manager of the asset `id`.",+ "",+ " Bails with `BalanceZero` if the `who` is already dead.",+ "",+ " - `id`: The identifier of the asset to have some amount burned.",+ " - `who`: The account to be debited from.",+ " - `amount`: The maximum amount by which `who`'s balance should be reduced.",+ "",+ " Emits `Burned` with the actual amount burned. If this takes the balance to below the",+ " minimum for the asset, then the amount burned is increased to take it to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from the sender account to another.",+ "",+ " Origin must be Signed.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `target`: The account to be credited.",+ " - `amount`: The amount by which the sender's balance of assets should be reduced and",+ " `target`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the sender balance above zero but below",+ " the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `target`; Post-existence of sender; Prior & post zombie-status",+ " of sender; Account pre-existence of `target`."+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from the sender account to another, keeping the sender account alive.",+ "",+ " Origin must be Signed.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `target`: The account to be credited.",+ " - `amount`: The amount by which the sender's balance of assets should be reduced and",+ " `target`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the sender balance above zero but below",+ " the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `target`; Post-existence of sender; Prior & post zombie-status",+ " of sender; Account pre-existence of `target`."+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from one account to another.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `source`: The account to be debited.",+ " - `dest`: The account to be credited.",+ " - `amount`: The amount by which the `source`'s balance of assets should be reduced and",+ " `dest`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the `source` balance above zero but",+ " below the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `dest`; Post-existence of `source`; Prior & post zombie-status",+ " of `source`; Account pre-existence of `dest`."+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfers from an account.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `who`: The account to be frozen.",+ "",+ " Emits `Frozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Allow unprivileged transfers from an account again.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `who`: The account to be unfrozen.",+ "",+ " Emits `Thawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "freeze_asset",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfers for the asset class.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ "",+ " Emits `Frozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw_asset",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Allow unprivileged transfers for the asset again.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ "",+ " Emits `Thawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "transfer_ownership",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Owner of an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The new Owner of this asset.",+ "",+ " Emits `OwnerChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_team",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Issuer, Admin and Freezer of an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `issuer`: The new Issuer of this asset.",+ " - `admin`: The new Admin of this asset.",+ " - `freezer`: The new Freezer of this asset.",+ "",+ " Emits `TeamChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "name",+ "type": "Bytes"+ },+ {+ "name": "symbol",+ "type": "Bytes"+ },+ {+ "name": "decimals",+ "type": "u8"+ }+ ],+ "docs": [+ " Set the metadata for an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " Funds of sender are reserved according to the formula:",+ " `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into",+ " account any already reserved funds.",+ "",+ " - `id`: The identifier of the asset to update.",+ " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",+ " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",+ " - `decimals`: The number of decimals this asset uses to represent one unit.",+ "",+ " Emits `MetadataSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "clear_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " Any deposit is freed for the asset owner.",+ "",+ " - `id`: The identifier of the asset to clear.",+ "",+ " Emits `MetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_set_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "name",+ "type": "Bytes"+ },+ {+ "name": "symbol",+ "type": "Bytes"+ },+ {+ "name": "decimals",+ "type": "u8"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Force the metadata for an asset to some value.",+ "",+ " Origin must be ForceOrigin.",+ "",+ " Any deposit is left alone.",+ "",+ " - `id`: The identifier of the asset to update.",+ " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",+ " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",+ " - `decimals`: The number of decimals this asset uses to represent one unit.",+ "",+ " Emits `MetadataSet`.",+ "",+ " Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."+ ]+ },+ {+ "name": "force_clear_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset.",+ "",+ " Origin must be ForceOrigin.",+ "",+ " Any deposit is returned.",+ "",+ " - `id`: The identifier of the asset to clear.",+ "",+ " Emits `MetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_asset_status",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ },+ {+ "name": "min_balance",+ "type": "Compact<TAssetBalance>"+ },+ {+ "name": "is_sufficient",+ "type": "bool"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Alter the attributes of a given asset.",+ "",+ " Origin must be `ForceOrigin`.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The new Owner of this asset.",+ " - `issuer`: The new Issuer of this asset.",+ " - `admin`: The new Admin of this asset.",+ " - `freezer`: The new Freezer of this asset.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ " - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient",+ " value to account for the state bloat associated with its balance storage. If set to",+ " `true`, then non-zero balances may be stored without a `consumer` reference (and thus",+ " an ED in the Balances pallet or whatever else is used to control user-account state",+ " growth).",+ " - `is_frozen`: Whether this asset class is frozen except for permissioned/admin",+ " instructions.",+ "",+ " Emits `AssetStatusChanged` with the identity of the asset.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "approve_transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Approve an amount of asset for transfer by a delegated third-party account.",+ "",+ " Origin must be Signed.",+ "",+ " Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account",+ " for the purpose of holding the approval. If some non-zero amount of assets is already",+ " approved from signing account to `delegate`, then it is topped up or unreserved to",+ " meet the right value.",+ "",+ " NOTE: The signing account does not need to own `amount` of assets at the point of",+ " making this call.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account to delegate permission to transfer asset.",+ " - `amount`: The amount of asset that may be transferred by `delegate`. If there is",+ " already an approval in place, then this acts additively.",+ "",+ " Emits `ApprovedTransfer` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "cancel_approval",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Cancel all of some asset approved for delegated transfer by a third-party account.",+ "",+ " Origin must be Signed and there must be an approval in place between signer and",+ " `delegate`.",+ "",+ " Unreserves any deposit previously reserved by `approve_transfer` for the approval.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account delegated permission to transfer asset.",+ "",+ " Emits `ApprovalCancelled` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_cancel_approval",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Cancel all of some asset approved for delegated transfer by a third-party account.",+ "",+ " Origin must be either ForceOrigin or Signed origin with the signer being the Admin",+ " account of the asset `id`.",+ "",+ " Unreserves any deposit previously reserved by `approve_transfer` for the approval.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account delegated permission to transfer asset.",+ "",+ " Emits `ApprovalCancelled` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "transfer_approved",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "destination",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Transfer some asset balance from a previously delegated account to some third-party",+ " account.",+ "",+ " Origin must be Signed and there must be an approval in place by the `owner` to the",+ " signer.",+ "",+ " If the entire amount approved for transfer is transferred, then any deposit previously",+ " reserved by `approve_transfer` is unreserved.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The account which previously approved for a transfer of at least `amount` and",+ " from which the asset balance will be withdrawn.",+ " - `destination`: The account to which the asset balance of `amount` will be transferred.",+ " - `amount`: The amount of assets to transfer.",+ "",+ " Emits `TransferredApproved` on success.",+ "",+ " Weight: `O(1)`"+ ]+ }+ ],+ "events": [+ {+ "name": "Created",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Some asset class was created. \\[asset_id, creator, owner\\]"+ ]+ },+ {+ "name": "Issued",+ "args": [+ "AssetId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were issued. \\[asset_id, owner, total_supply\\]"+ ]+ },+ {+ "name": "Transferred",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were transferred. \\[asset_id, from, to, amount\\]"+ ]+ },+ {+ "name": "Burned",+ "args": [+ "AssetId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were destroyed. \\[asset_id, owner, balance\\]"+ ]+ },+ {+ "name": "TeamChanged",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " The management team changed \\[asset_id, issuer, admin, freezer\\]"+ ]+ },+ {+ "name": "OwnerChanged",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " The owner changed \\[asset_id, owner\\]"+ ]+ },+ {+ "name": "Frozen",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some account `who` was frozen. \\[asset_id, who\\]"+ ]+ },+ {+ "name": "Thawed",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some account `who` was thawed. \\[asset_id, who\\]"+ ]+ },+ {+ "name": "AssetFrozen",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Some asset `asset_id` was frozen. \\[asset_id\\]"+ ]+ },+ {+ "name": "AssetThawed",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Some asset `asset_id` was thawed. \\[asset_id\\]"+ ]+ },+ {+ "name": "Destroyed",+ "args": [+ "AssetId"+ ],+ "docs": [+ " An asset class was destroyed."+ ]+ },+ {+ "name": "ForceCreated",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some asset class was force-created. \\[asset_id, owner\\]"+ ]+ },+ {+ "name": "MetadataSet",+ "args": [+ "AssetId",+ "Bytes",+ "Bytes",+ "u8",+ "bool"+ ],+ "docs": [+ " New metadata has been set for an asset. \\[asset_id, name, symbol, decimals, is_frozen\\]"+ ]+ },+ {+ "name": "MetadataCleared",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Metadata has been cleared for an asset. \\[asset_id\\]"+ ]+ },+ {+ "name": "ApprovedTransfer",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " (Additional) funds have been approved for transfer to a destination account.",+ " \\[asset_id, source, delegate, amount\\]"+ ]+ },+ {+ "name": "ApprovalCancelled",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An approval for account `delegate` was cancelled by `owner`.",+ " \\[id, owner, delegate\\]"+ ]+ },+ {+ "name": "TransferredApproved",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " An `amount` was transferred in its entirety from `owner` to `destination` by",+ " the approved `delegate`.",+ " \\[id, owner, delegate, destination\\]"+ ]+ },+ {+ "name": "AssetStatusChanged",+ "args": [+ "AssetId"+ ],+ "docs": [+ " An asset has had its attributes changed by the `Force` origin.",+ " \\[id\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "BalanceLow",+ "docs": [+ " Account balance must be greater than or equal to the transfer amount."+ ]+ },+ {+ "name": "BalanceZero",+ "docs": [+ " Balance should be non-zero."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " The signing account has no permission to do the operation."+ ]+ },+ {+ "name": "Unknown",+ "docs": [+ " The given asset ID is unknown."+ ]+ },+ {+ "name": "Frozen",+ "docs": [+ " The origin account is frozen."+ ]+ },+ {+ "name": "InUse",+ "docs": [+ " The asset ID is already taken."+ ]+ },+ {+ "name": "BadWitness",+ "docs": [+ " Invalid witness data given."+ ]+ },+ {+ "name": "MinBalanceZero",+ "docs": [+ " Minimum balance should be non-zero."+ ]+ },+ {+ "name": "Overflow",+ "docs": [+ " A mint operation lead to an overflow."+ ]+ },+ {+ "name": "NoProvider",+ "docs": [+ " No provider reference exists to allow a non-zero balance of a non-self-sufficient asset."+ ]+ },+ {+ "name": "BadMetadata",+ "docs": [+ " Invalid metadata given."+ ]+ },+ {+ "name": "Unapproved",+ "docs": [+ " No approval exists that would allow the transfer."+ ]+ },+ {+ "name": "WouldDie",+ "docs": [+ " The source account would not survive the transfer and it needs to stay alive."+ ]+ }+ ],+ "index": 34+ },+ {+ "name": "Mmr",+ "storage": {+ "prefix": "MerkleMountainRange",+ "items": [+ {+ "name": "RootHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Latest MMR Root hash."+ ]+ },+ {+ "name": "NumberOfLeaves",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current size of the MMR (number of leaves)."+ ]+ },+ {+ "name": "Nodes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "u64",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Hashes of the nodes in the MMR.",+ "",+ " Note this collection only contains MMR peaks, the inner nodes (and leaves)",+ " are pruned and only stored in the Offchain DB."+ ]+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 35+ },+ {+ "name": "Lottery",+ "storage": {+ "prefix": "Lottery",+ "items": [+ {+ "name": "LotteryIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": []+ },+ {+ "name": "Lottery",+ "modifier": "Optional",+ "type": {+ "plain": "LotteryConfig"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the current lottery."+ ]+ },+ {+ "name": "Participants",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(u32,Vec<CallIndex>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000",+ "docs": [+ " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)"+ ]+ },+ {+ "name": "TicketsCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Total number of tickets sold."+ ]+ },+ {+ "name": "Tickets",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Each ticket's owner.",+ "",+ " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones",+ " are actually valid ticket mappings."+ ]+ },+ {+ "name": "CallIndices",+ "modifier": "Default",+ "type": {+ "plain": "Vec<CallIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " The calls stored in this pallet to be used in an active lottery if configured",+ " by `Config::ValidateCall`."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "buy_ticket",+ "args": [+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Buy a ticket to enter the lottery.",+ "",+ " This extrinsic acts as a passthrough function for `call`. In all",+ " situations where `call` alone would succeed, this extrinsic should",+ " succeed.",+ "",+ " If `call` is successful, then we will attempt to purchase a ticket,",+ " which may fail silently. To detect success of a ticket purchase, you",+ " should listen for the `TicketBought` event.",+ "",+ " This extrinsic must be called by a signed origin."+ ]+ },+ {+ "name": "set_calls",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Set calls in storage which can be used to purchase a lottery ticket.",+ "",+ " This function only matters if you use the `ValidateCall` implementation",+ " provided by this pallet, which uses storage to determine the valid calls.",+ "",+ " This extrinsic must be called by the Manager origin."+ ]+ },+ {+ "name": "start_lottery",+ "args": [+ {+ "name": "price",+ "type": "BalanceOf"+ },+ {+ "name": "length",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "repeat",+ "type": "bool"+ }+ ],+ "docs": [+ " Start a lottery using the provided configuration.",+ "",+ " This extrinsic must be called by the `ManagerOrigin`.",+ "",+ " Parameters:",+ "",+ " * `price`: The cost of a single ticket.",+ " * `length`: How long the lottery should run for starting at the current block.",+ " * `delay`: How long after the lottery end we should wait before picking a winner.",+ " * `repeat`: If the lottery should repeat when completed."+ ]+ },+ {+ "name": "stop_repeat",+ "args": [],+ "docs": [+ " If a lottery is repeating, you can use this to stop the repeat.",+ " The lottery will continue to run to completion.",+ "",+ " This extrinsic must be called by the `ManagerOrigin`."+ ]+ }+ ],+ "events": [+ {+ "name": "LotteryStarted",+ "args": [],+ "docs": [+ " A lottery has been started!"+ ]+ },+ {+ "name": "CallsUpdated",+ "args": [],+ "docs": [+ " A new set of calls have been set!"+ ]+ },+ {+ "name": "Winner",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A winner has been chosen!"+ ]+ },+ {+ "name": "TicketBought",+ "args": [+ "AccountId",+ "CallIndex"+ ],+ "docs": [+ " A ticket has been bought!"+ ]+ }+ ],+ "constants": [+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f6c6f74746f",+ "docs": []+ },+ {+ "name": "MaxCalls",+ "type": "u32",+ "value": "0x0a000000",+ "docs": []+ }+ ],+ "errors": [+ {+ "name": "Overflow",+ "docs": [+ " An overflow has occurred."+ ]+ },+ {+ "name": "NotConfigured",+ "docs": [+ " A lottery has not been configured."+ ]+ },+ {+ "name": "InProgress",+ "docs": [+ " A lottery is already in progress."+ ]+ },+ {+ "name": "AlreadyEnded",+ "docs": [+ " A lottery has already ended."+ ]+ },+ {+ "name": "InvalidCall",+ "docs": [+ " The call is not valid for an open lottery."+ ]+ },+ {+ "name": "AlreadyParticipating",+ "docs": [+ " You are already participating in the lottery with this call."+ ]+ },+ {+ "name": "TooManyCalls",+ "docs": [+ " Too many calls for a single lottery."+ ]+ },+ {+ "name": "EncodingFailed",+ "docs": [+ " Failed to encode calls"+ ]+ }+ ],+ "index": 36+ },+ {+ "name": "Gilt",+ "storage": {+ "prefix": "Gilt",+ "items": [+ {+ "name": "QueueTotals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(u32,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The totals of items and balances within each queue. Saves a lot of storage reads in the",+ " case of sparsely packed queues.",+ "",+ " The vector is indexed by duration in `Period`s, offset by one, so information on the queue",+ " whose duration is one `Period` would be storage `0`."+ ]+ },+ {+ "name": "Queues",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "u32",+ "value": "Vec<GiltBid>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The queues of bids ready to become gilts. Indexed by duration (in `Period`s)."+ ]+ },+ {+ "name": "ActiveTotal",+ "modifier": "Default",+ "type": {+ "plain": "ActiveGiltsTotal"+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Information relating to the gilts currently active."+ ]+ },+ {+ "name": "Active",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "ActiveIndex",+ "value": "ActiveGilt",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The currently active gilts, indexed according to the order of creation."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "place_bid",+ "args": [+ {+ "name": "amount",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "duration",+ "type": "u32"+ }+ ],+ "docs": [+ " Place a bid for a gilt to be issued.",+ "",+ " Origin must be Signed, and account must have at least `amount` in free balance.",+ "",+ " - `amount`: The amount of the bid; these funds will be reserved. If the bid is",+ " successfully elevated into an issued gilt, then these funds will continue to be",+ " reserved until the gilt expires. Must be at least `MinFreeze`.",+ " - `duration`: The number of periods for which the funds will be locked if the gilt is",+ " issued. It will expire only after this period has elapsed after the point of issuance.",+ " Must be greater than 1 and no more than `QueueCount`.",+ "",+ " Complexities:",+ " - `Queues[duration].len()` (just take max)."+ ]+ },+ {+ "name": "retract_bid",+ "args": [+ {+ "name": "amount",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "duration",+ "type": "u32"+ }+ ],+ "docs": [+ " Retract a previously placed bid.",+ "",+ " Origin must be Signed, and the account should have previously issued a still-active bid",+ " of `amount` for `duration`.",+ "",+ " - `amount`: The amount of the previous bid.",+ " - `duration`: The duration of the previous bid."+ ]+ },+ {+ "name": "set_target",+ "args": [+ {+ "name": "target",+ "type": "Compact<Perquintill>"+ }+ ],+ "docs": [+ " Set target proportion of gilt-funds.",+ "",+ " Origin must be `AdminOrigin`.",+ "",+ " - `target`: The target proportion of effective issued funds that should be under gilts",+ " at any one time."+ ]+ },+ {+ "name": "thaw",+ "args": [+ {+ "name": "index",+ "type": "Compact<ActiveIndex>"+ }+ ],+ "docs": [+ " Remove an active but expired gilt. Reserved funds under gilt are freed and balance is",+ " adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion",+ " of effective total issued funds.",+ "",+ " Origin must be Signed and the account must be the owner of the gilt of the given index.",+ "",+ " - `index`: The index of the gilt to be thawed."+ ]+ }+ ],+ "events": [+ {+ "name": "BidPlaced",+ "args": [+ "AccountId",+ "BalanceOf",+ "u32"+ ],+ "docs": [+ " A bid was successfully placed.",+ " \\[ who, amount, duration \\]"+ ]+ },+ {+ "name": "BidRetracted",+ "args": [+ "AccountId",+ "BalanceOf",+ "u32"+ ],+ "docs": [+ " A bid was successfully removed (before being accepted as a gilt).",+ " \\[ who, amount, duration \\]"+ ]+ },+ {+ "name": "GiltIssued",+ "args": [+ "ActiveIndex",+ "BlockNumber",+ "AccountId",+ "BalanceOf"+ ],+ "docs": [+ " A bid was accepted as a gilt. The balance may not be released until expiry.",+ " \\[ index, expiry, who, amount \\]"+ ]+ },+ {+ "name": "GiltThawed",+ "args": [+ "ActiveIndex",+ "AccountId",+ "BalanceOf",+ "BalanceOf"+ ],+ "docs": [+ " An expired gilt has been thawed.",+ " \\[ index, who, original_amount, additional_amount \\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "QueueCount",+ "type": "u32",+ "value": "0x2c010000",+ "docs": [+ " Number of duration queues in total. This sets the maximum duration supported, which is",+ " this value multiplied by `Period`."+ ]+ },+ {+ "name": "MaxQueueLen",+ "type": "u32",+ "value": "0xe8030000",+ "docs": [+ " Maximum number of items that may be in each duration queue."+ ]+ },+ {+ "name": "FifoQueueLen",+ "type": "u32",+ "value": "0xf4010000",+ "docs": [+ " Portion of the queue which is free from ordering and just a FIFO.",+ "",+ " Must be no greater than `MaxQueueLen`."+ ]+ },+ {+ "name": "Period",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The base period for the duration queues. This is the common multiple across all",+ " supported freezing durations that can be bid upon."+ ]+ },+ {+ "name": "MinFreeze",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount of funds that may be offered to freeze for a gilt. Note that this",+ " does not actually limit the amount which may be frozen in a gilt since gilts may be",+ " split up in order to satisfy the desired amount of funds under gilts.",+ "",+ " It should be at least big enough to ensure that there is no possible storage spam attack",+ " or queue-filling attack."+ ]+ },+ {+ "name": "IntakePeriod",+ "type": "BlockNumber",+ "value": "0x0a000000",+ "docs": [+ " The number of blocks between consecutive attempts to issue more gilts in an effort to",+ " get to the target amount to be frozen.",+ "",+ " A larger value results in fewer storage hits each block, but a slower period to get to",+ " the target."+ ]+ },+ {+ "name": "MaxIntakeBids",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The maximum amount of bids that can be turned into issued gilts each block. A larger",+ " value here means less of the block available for transactions should there be a glut of",+ " bids to make into gilts to reach the target."+ ]+ }+ ],+ "errors": [+ {+ "name": "DurationTooSmall",+ "docs": [+ " The duration of the bid is less than one."+ ]+ },+ {+ "name": "DurationTooBig",+ "docs": [+ " The duration is the bid is greater than the number of queues."+ ]+ },+ {+ "name": "AmountTooSmall",+ "docs": [+ " The amount of the bid is less than the minimum allowed."+ ]+ },+ {+ "name": "BidTooLow",+ "docs": [+ " The queue for the bid's duration is full and the amount bid is too low to get in through",+ " replacing an existing bid."+ ]+ },+ {+ "name": "Unknown",+ "docs": [+ " Gilt index is unknown."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " Not the owner of the gilt."+ ]+ },+ {+ "name": "NotExpired",+ "docs": [+ " Gilt not yet at expiry date."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " The given bid for retraction is not found."+ ]+ }+ ],+ "index": 37+ }+ ],+ "extrinsic": {+ "version": 4,+ "signedExtensions": [+ "CheckSpecVersion",+ "CheckTxVersion",+ "CheckGenesis",+ "CheckMortality",+ "CheckNonce",+ "CheckWeight",+ "ChargeTransactionPayment"+ ]+ }+ }+ }+}
+ tests/meta/v13.hex view
@@ -0,0 +1,1 @@+0x6d6574610da01853797374656d011853797374656d401c4163636f756e7401010230543a3a4163636f756e744964944163636f756e74496e666f3c543a3a496e6465782c20543a3a4163636f756e74446174613e004101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010038436f6e73756d6564576569676874600000000000000000000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e74010010626f6f6c0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e74010010626f6f6c0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01282866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e146c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002c2023203c7765696768743e24202d20604f28312960302023203c2f7765696768743e387365745f686561705f7061676573041470616765730c75363420fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e002c2023203c7765696768743e24202d20604f283129604c202d20312073746f726167652077726974652e64202d2042617365205765696768743a20312e34303520c2b57360202d203120777269746520746f20484541505f5041474553302023203c2f7765696768743e207365745f636f64650410636f64651c5665633c75383e28682053657420746865206e65772072756e74696d6520636f64652e002c2023203c7765696768743e3501202d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e7901202d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e6020776869636820697320657870656e73697665292e2c202d2031206576656e742e7d012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c792074686973206973207665727920657870656e736976652e902057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e201d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002c2023203c7765696768743e90202d20604f2843296020776865726520604360206c656e677468206f662060636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e2c202d2031206576656e742e75012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e28a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e002c2023203c7765696768743e24202d20604f28312960b0202d20312073746f72616765207772697465206f722064656c6574652028636f64656320604f28312960292ed8202d20312063616c6c20746f20606465706f7369745f6c6f67603a20557365732060617070656e6460204150492c20736f204f28312964202d2042617365205765696768743a20372e32313820c2b57334202d204442205765696768743aa820202020202d205772697465733a204368616e67657320547269652c2053797374656d20446967657374302023203c2f7765696768743e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e206c2053657420736f6d65206974656d73206f662073746f726167652e002c2023203c7765696768743e94202d20604f2849296020776865726520604960206c656e677468206f6620606974656d73607c202d206049602073746f72616765207772697465732028604f28312960292e74202d2042617365205765696768743a20302e353638202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e306b696c6c5f73746f7261676504106b657973205665633c4b65793e2078204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e002c2023203c7765696768743efc202d20604f28494b296020776865726520604960206c656e677468206f6620606b6579736020616e6420604b60206c656e677468206f66206f6e65206b657964202d206049602073746f726167652064656c6574696f6e732e70202d2042617365205765696768743a202e333738202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e2c6b696c6c5f70726566697808187072656669780c4b6579205f7375626b6579730c7533322c1501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e003d01202a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657241012074686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e002c2023203c7765696768743edc202d20604f285029602077686572652060506020616d6f756e74206f66206b65797320776974682070726566697820607072656669786064202d206050602073746f726167652064656c6574696f6e732e74202d2042617365205765696768743a20302e383334202a205020c2b57380202d205772697465733a204e756d626572206f66207375626b657973202b2031302023203c2f7765696768743e4472656d61726b5f776974685f6576656e74041872656d61726b1c5665633c75383e18a8204d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e002c2023203c7765696768743eb8202d20604f28622960207768657265206220697320746865206c656e677468206f66207468652072656d61726b2e2c202d2031206576656e742e302023203c2f7765696768743e01184045787472696e7369635375636365737304304469737061746368496e666f04b820416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e205c5b696e666f5c5d3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f049420416e2065787472696e736963206661696c65642e205c5b6572726f722c20696e666f5c5d2c436f64655570646174656400045420603a636f6465602077617320757064617465642e284e65774163636f756e7404244163636f756e744964047c2041206e6577205c5b6163636f756e745c5d2077617320637265617465642e344b696c6c65644163636f756e7404244163636f756e744964046c20416e205c5b6163636f756e745c5d20776173207265617065642e2052656d61726b656408244163636f756e744964104861736804d4204f6e206f6e2d636861696e2072656d61726b2068617070656e65642e205c5b6f726967696e2c2072656d61726b5f686173685c5d1830426c6f636b57656967687473506c696d6974733a3a426c6f636b57656967687473850100f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a74000000405973070000000000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e6774684c6c696d6974733a3a426c6f636b4c656e6774683000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7438543a3a426c6f636b4e756d6265721060090000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e2044625765696768743c52756e74696d6544625765696768744040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e3852756e74696d6556657273696f6e0503106e6f6465387375627374726174652d6e6f64650a0000000b0100000000000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b01000000020000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e28535335385072656669780c753136082a0014a8205468652064657369676e61746564205353383520707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f7369746504010120537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e740439012054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e001c5574696c69747900010c146261746368041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573cc20627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e0501202d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e3461735f646572697661746976650814696e6465780c7531361063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e34e02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e0059012046696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368c020757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e004901204e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e6501206265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e745501207468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31608020696e20746865204d756c74697369672070616c6c657420696e73746561642e00f8204e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e34f02053656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e2501205468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573cc20627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e0501202d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e302023203c2f7765696768743e0108404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c206173902077656c6c20617320746865206572726f722e205c5b696e6465782c206572726f725c5d384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e0000011042616265011042616265402845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f74010010536c6f7420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f74010010536c6f7420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e67650000504e657874436f6e66696744657363726970746f7204000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e04000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c7533326c5665633c7363686e6f72726b656c3a3a52616e646f6d6e6573733e0004000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a656400003c4d6179626552616e646f6d6e65737304000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e65737301003c4d6179626552616e646f6d6e65737304000c5d012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e29207468617420696e636c756465732074686520565246206f75747075742067656e6572617465645101206174207468697320626c6f636b2e2054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e2845706f6368537461727401008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d62657229200000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e657373010038543a3a426c6f636b4e756d626572100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000584261626545706f6368436f6e66696775726174696f6e04000485012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e2067656e657369732e3c4e65787445706f6368436f6e6669670000584261626545706f6368436f6e66696775726174696f6e0400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66200d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e48706c616e5f636f6e6669675f6368616e67650418636f6e666967504e657874436f6e66696744657363726970746f7210610120506c616e20616e2065706f636820636f6e666967206368616e67652e205468652065706f636820636f6e666967206368616e6765206973207265636f7264656420616e642077696c6c20626520656e6163746564206f6e550120746865206e6578742063616c6c20746f2060656e6163745f65706f63685f6368616e6765602e2054686520636f6e6669672077696c6c20626520616374697661746564206f6e652065706f63682061667465722e5d01204d756c7469706c652063616c6c7320746f2074686973206d6574686f642077696c6c207265706c61636520616e79206578697374696e6720706c616e6e656420636f6e666967206368616e676520746861742068616458206e6f74206265656e20656e6163746564207965742e00083445706f63684475726174696f6e0c75363420c8000000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420b80b00000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e0c60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e022454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e3c5820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002c2023203c7765696768743e3501202d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f2831296029a101202d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e20606f6e5f66696e616c697a656029d8202d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e302023203c2f7765696768743e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420dc0500000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e000328417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e041c496e6469636573011c496e646963657304204163636f756e74730001023c543a3a4163636f756e74496e6465788828543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20626f6f6c29000400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e011414636c61696d0414696e6465783c543a3a4163636f756e74496e646578489c2041737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00e0205061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f4202d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e207472616e73666572080c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e6465785061012041737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6ebc206973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002901202d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e68202d204f6e65207472616e73666572206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743ae4202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e8202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429302023203c2f7765696768743e10667265650414696e6465783c543a3a4163636f756e74496e6465784898204672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e006101205061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e001101202d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e008820456d6974732060496e646578467265656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e64202d204f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e38666f7263655f7472616e736665720c0c6e657730543a3a4163636f756e74496414696e6465783c543a3a4163636f756e74496e64657818667265657a6510626f6f6c54590120466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479ec2068656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a8202d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e6101202d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e4501202d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e009420456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e7c202d20557020746f206f6e652072657365727665206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743af8202020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229fc202020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229302023203c2f7765696768743e18667265657a650414696e6465783c543a3a4163636f756e74496e64657844690120467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742068617665206170206e6f6e2d66726f7a656e206163636f756e742060696e646578602e00b0202d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e008c20456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002c2023203c7765696768743e28202d20604f283129602e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e74202d20557020746f206f6e6520736c617368206f7065726174696f6e2e34202d204f6e65206576656e742e50202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d94202d204442205765696768743a203120526561642f577269746520284163636f756e747329302023203c2f7765696768743e010c34496e64657841737369676e656408244163636f756e744964304163636f756e74496e64657804b42041206163636f756e7420696e646578207761732061737369676e65642e205c5b696e6465782c2077686f5c5d28496e646578467265656404304163636f756e74496e64657804e82041206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e205c5b696e6465785c5d2c496e64657846726f7a656e08304163636f756e74496e646578244163636f756e7449640429012041206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e205c5b696e6465782c2077686f5c5d041c4465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e142c4e6f7441737369676e656404902054686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e657204a82054686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e55736504742054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e7366657204cc2054686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e7404d42054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c4163636f756e7401010230543a3a4163636f756e7449645c4163636f756e74446174613c543a3a42616c616e63653e000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6c205468652062616c616e6365206f6620616e206163636f756e742e004101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010230543a3a4163636f756e744964d05765616b426f756e6465645665633c42616c616e63654c6f636b3c543a3a42616c616e63653e2c20543a3a4d61784c6f636b733e00040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010230543a3a4163636f756e7449642901426f756e6465645665633c52657365727665446174613c543a3a526573657276654964656e7469666965722c20543a3a42616c616e63653e2c20543a3a0a4d617852657365727665733e00040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076322e302e3020666f72206e6577206e6574776f726b732e0114207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e6cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e61012020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e88202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d4501202d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429dc202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374696e6174696f6e206163636f756e741501202d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e489420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742c01012069742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e58202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3c202d2042617365205765696768743a6820202020202d204372656174696e673a2032372e353620c2b5736420202020202d204b696c6c696e673a2033352e313120c2b57398202d204442205765696768743a203120526561642c203120577269746520746f206077686f60302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e2c2023203c7765696768743e4101202d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973902020206e6f7420617373756d656420746f20626520696e20746865206f7665726c61792e302023203c2f7765696768743e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e2c51012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e736665722c2023203c7765696768743ee8202d2043686561706572207468616e207472616e736665722062656361757365206163636f756e742063616e6e6f74206265206b696c6c65642e60202d2042617365205765696768743a2035312e3420c2b5731d01202d204442205765696768743a2031205265616420616e64203120577269746520746f2064657374202873656e64657220697320696e206f7665726c617920616c7265616479292c20233c2f7765696768743e307472616e736665725f616c6c0810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365286b6565705f616c69766510626f6f6c480901205472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e005d01204e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e732074686174650120616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062656101207472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c490120796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f7261676544206465706f736974732c206574632e2e2e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a4202d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e5d01202d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c51012020206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f725d012020207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fa02020206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e3420202023203c7765696768743e3d01202d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e34202020233c2f7765696768743e01201c456e646f77656408244163636f756e7449641c42616c616e636504250120416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e205c5b6163636f756e742c20667265655f62616c616e63655c5d20447573744c6f737408244163636f756e7449641c42616c616e636508410120416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742cd020726573756c74696e6720696e20616e206f75747269676874206c6f73732e205c5b6163636f756e742c2062616c616e63655c5d205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e636504a0205472616e73666572207375636365656465642e205c5b66726f6d2c20746f2c2076616c75655c5d2842616c616e63655365740c244163636f756e7449641c42616c616e63651c42616c616e636504cc20412062616c616e6365207761732073657420627920726f6f742e205c5b77686f2c20667265652c2072657365727665645c5d1c4465706f73697408244163636f756e7449641c42616c616e636504210120536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e205c5b77686f2c206465706f7369745c5d20526573657276656408244163636f756e7449641c42616c616e636504210120536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e205c5b77686f2c2076616c75655c5d28556e726573657276656408244163636f756e7449641c42616c616e636504290120536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e205c5b77686f2c2076616c75655c5d4852657365727665526570617472696174656410244163636f756e744964244163636f756e7449641c42616c616e6365185374617475730c510120536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742edc2046696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652ea8205c5b66726f6d2c20746f2c2062616c616e63652c2064657374696e6174696f6e5f7374617475735c5d04484578697374656e7469616c4465706f73697428543a3a42616c616e63654000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e203856657374696e6742616c616e6365049c2056657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e7304c8204163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e636504782042616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f73697404ec2056616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650490205472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c6504cc20412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e74048c2042656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e79526573657276657304b0204e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100284d756c7469706c69657240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01002052656c6561736573040000000008485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c576569676874546f466565a45665633c576569676874546f466565436f656666696369656e743c42616c616e63654f663c543e3e3e5c0401000000000000000000000000000000000000000001040d012054686520706f6c796e6f6d69616c2074686174206973206170706c69656420696e206f7264657220746f20646572697665206665652066726f6d207765696768742e000768456c656374696f6e50726f76696465724d756c746950686173650168456c656374696f6e50726f76696465724d756c746950686173652814526f756e6401000c753332100100000018ac20496e7465726e616c20636f756e74657220666f7220746865206e756d626572206f6620726f756e64732e00550120546869732069732075736566756c20666f722064652d6475706c69636174696f6e206f66207472616e73616374696f6e73207375626d697474656420746f2074686520706f6f6c2c20616e642067656e6572616c6c20646961676e6f7374696373206f66207468652070616c6c65742e004d012054686973206973206d6572656c7920696e6372656d656e746564206f6e6365207065722065766572792074696d65207468617420616e20757073747265616d2060656c656374602069732063616c6c65642e3043757272656e74506861736501005450686173653c543a3a426c6f636b4e756d6265723e0400043c2043757272656e742070686173652e38517565756564536f6c7574696f6e00006c5265616479536f6c7574696f6e3c543a3a4163636f756e7449643e0400043d012043757272656e74206265737420736f6c7574696f6e2c207369676e6564206f7220756e7369676e65642c2071756575656420746f2062652072657475726e65642075706f6e2060656c656374602e20536e617073686f7400006c526f756e64536e617073686f743c543a3a4163636f756e7449643e04000c7020536e617073686f742064617461206f662074686520726f756e642e005d01205468697320697320637265617465642061742074686520626567696e6e696e67206f6620746865207369676e656420706861736520616e6420636c65617265642075706f6e2063616c6c696e672060656c656374602e38446573697265645461726765747300000c75333204000ccc2044657369726564206e756d626572206f66207461726765747320746f20656c65637420666f72207468697320726f756e642e00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e40536e617073686f744d65746164617461000058536f6c7574696f6e4f72536e617073686f7453697a6504000c9820546865206d65746164617461206f6620746865205b60526f756e64536e617073686f74605d00a8204f6e6c7920657869737473207768656e205b60536e617073686f74605d2069732070726573656e742e645369676e65645375626d697373696f6e4e657874496e64657801000c753332100000000024010120546865206e65787420696e64657820746f2062652061737369676e656420746f20616e20696e636f6d696e67207369676e6564207375626d697373696f6e2e007501204576657279206163636570746564207375626d697373696f6e2069732061737369676e6564206120756e6971756520696e6465783b207468617420696e64657820697320626f756e6420746f207468617420706172746963756c61726501207375626d697373696f6e20666f7220746865206475726174696f6e206f662074686520656c656374696f6e2e204f6e20656c656374696f6e2066696e616c697a6174696f6e2c20746865206e65787420696e6465782069733020726573657420746f20302e0069012057652063616e2774206a7573742075736520605369676e65645375626d697373696f6e496e64696365732e6c656e2829602c206265636175736520746861742773206120626f756e646564207365743b20706173742069747359012063617061636974792c2069742077696c6c2073696d706c792073617475726174652e2057652063616e2774206a7573742069746572617465206f76657220605369676e65645375626d697373696f6e734d6170602cf4206265636175736520697465726174696f6e20697320736c6f772e20496e73746561642c2077652073746f7265207468652076616c756520686572652e5c5369676e65645375626d697373696f6e496e64696365730100585375626d697373696f6e496e64696365734f663c543e0400184d01204120736f727465642c20626f756e64656420736574206f6620602873636f72652c20696e64657829602c20776865726520656163682060696e6465786020706f696e747320746f20612076616c756520696e5420605369676e65645375626d697373696f6e73602e007101205765206e65766572206e65656420746f2070726f63657373206d6f7265207468616e20612073696e676c65207369676e6564207375626d697373696f6e20617420612074696d652e205369676e6564207375626d697373696f6e7375012063616e206265207175697465206c617267652c20736f2077652772652077696c6c696e6720746f207061792074686520636f7374206f66206d756c7469706c6520646174616261736520616363657373657320746f206163636573732101207468656d206f6e6520617420612074696d6520696e7374656164206f662072656164696e6720616e64206465636f64696e6720616c6c206f66207468656d206174206f6e63652e505369676e65645375626d697373696f6e734d61700101050c753332545369676e65645375626d697373696f6e4f663c543e00d10100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001c7420556e636865636b65642c207369676e656420736f6c7574696f6e732e00690120546f676574686572207769746820605375626d697373696f6e496e6469636573602c20746869732073746f726573206120626f756e64656420736574206f6620605369676e65645375626d697373696f6e7360207768696c65ec20616c6c6f77696e6720757320746f206b656570206f6e6c7920612073696e676c65206f6e6520696e206d656d6f727920617420612074696d652e0069012054776f78206e6f74653a20746865206b6579206f6620746865206d617020697320616e206175746f2d696e6372656d656e74696e6720696e6465782077686963682075736572732063616e6e6f7420696e7370656374206f72f4206166666563743b2077652073686f756c646e2774206e65656420612063727970746f67726170686963616c6c7920736563757265206861736865722e544d696e696d756d556e7472757374656453636f7265000034456c656374696f6e53636f72650400105d0120546865206d696e696d756d2073636f7265207468617420656163682027756e747275737465642720736f6c7574696f6e206d7573742061747461696e20696e206f7264657220746f20626520636f6e7369646572656428206665617369626c652e00b82043616e206265207365742076696120607365745f6d696e696d756d5f756e747275737465645f73636f7265602e01103c7375626d69745f756e7369676e65640820736f6c7574696f6e64526177536f6c7574696f6e3c436f6d706163744f663c543e3e1c7769746e65737358536f6c7574696f6e4f72536e617073686f7453697a6538a8205375626d6974206120736f6c7574696f6e20666f722074686520756e7369676e65642070686173652e00cc20546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f6e6f6e655f5f2e0041012054686973207375626d697373696f6e20697320636865636b6564206f6e2074686520666c792e204d6f72656f7665722c207468697320756e7369676e656420736f6c7574696f6e206973206f6e6c7959012076616c696461746564207768656e207375626d697474656420746f2074686520706f6f6c2066726f6d20746865202a2a6c6f63616c2a2a206e6f64652e204566666563746976656c792c2074686973206d65616e7361012074686174206f6e6c79206163746976652076616c696461746f72732063616e207375626d69742074686973207472616e73616374696f6e207768656e20617574686f72696e67206120626c6f636b202873696d696c61724420746f20616e20696e686572656e74292e005d0120546f2070726576656e7420616e7920696e636f727265637420736f6c7574696f6e2028616e642074687573207761737465642074696d652f776569676874292c2074686973207472616e73616374696f6e2077696c6c51012070616e69632069662074686520736f6c7574696f6e207375626d6974746564206279207468652076616c696461746f7220697320696e76616c696420696e20616e79207761792c206566666563746976656c79a02070757474696e6720746865697220617574686f72696e6720726577617264206174207269736b2e00e4204e6f206465706f736974206f7220726577617264206973206173736f63696174656420776974682074686973207375626d697373696f6e2e6c7365745f6d696e696d756d5f756e747275737465645f73636f726504406d617962655f6e6578745f73636f7265544f7074696f6e3c456c656374696f6e53636f72653e14b4205365742061206e65772076616c756520666f7220604d696e696d756d556e7472757374656453636f7265602e00dc204469737061746368206f726967696e206d75737420626520616c69676e656420776974682060543a3a466f7263654f726967696e602e00f4205468697320636865636b2063616e206265207475726e6564206f66662062792073657474696e67207468652076616c756520746f20604e6f6e65602e747365745f656d657267656e63795f656c656374696f6e5f726573756c740420736f6c7574696f6e6c5265616479536f6c7574696f6e3c543a3a4163636f756e7449643e205d0120536574206120736f6c7574696f6e20696e207468652071756575652c20746f2062652068616e646564206f757420746f2074686520636c69656e74206f6620746869732070616c6c657420696e20746865206e6578748c2063616c6c20746f2060456c656374696f6e50726f76696465723a3a656c656374602e00490120546869732063616e206f6e6c79206265207365742062792060543a3a466f7263654f726967696e602c20616e64206f6e6c79207768656e207468652070686173652069732060456d657267656e6379602e0065012054686520736f6c7574696f6e206973206e6f7420636865636b656420666f7220616e7920666561736962696c69747920616e6420697320617373756d656420746f206265207472757374776f727468792c20617320616e79550120666561736962696c69747920636865636b20697473656c662063616e20696e207072696e6369706c652063617573652074686520656c656374696f6e2070726f6365737320746f206661696c202864756520746f6c206d656d6f72792f77656967687420636f6e73747261696e73292e187375626d69740820736f6c7574696f6e64526177536f6c7574696f6e3c436f6d706163744f663c543e3e586e756d5f7369676e65645f7375626d697373696f6e730c75333234a0205375626d6974206120736f6c7574696f6e20666f7220746865207369676e65642070686173652e00d420546865206469737061746368206f726967696e20666f20746869732063616c6c206d757374206265205f5f7369676e65645f5f2e0061012054686520736f6c7574696f6e20697320706f74656e7469616c6c79207175657565642c206261736564206f6e2074686520636c61696d65642073636f726520616e642070726f6365737365642061742074686520656e6454206f6620746865207369676e65642070686173652e0061012041206465706f73697420697320726573657276656420616e64207265636f7264656420666f722074686520736f6c7574696f6e2e204261736564206f6e20746865206f7574636f6d652c2074686520736f6c7574696f6e1901206d696768742062652072657761726465642c20736c61736865642c206f722067657420616c6c206f7220612070617274206f6620746865206465706f736974206261636b2e002c2023203c7765696768743eb42051756575652073697a65206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e011838536f6c7574696f6e53746f726564083c456c656374696f6e436f6d7075746510626f6f6c18b8204120736f6c7574696f6e207761732073746f72656420776974682074686520676976656e20636f6d707574652e0041012049662074686520736f6c7574696f6e206973207369676e65642c2074686973206d65616e732074686174206974206861736e277420796574206265656e2070726f6365737365642e20496620746865090120736f6c7574696f6e20697320756e7369676e65642c2074686973206d65616e7320746861742069742068617320616c736f206265656e2070726f6365737365642e005501205468652060626f6f6c6020697320607472756560207768656e20612070726576696f757320736f6c7574696f6e2077617320656a656374656420746f206d616b6520726f6f6d20666f722074686973206f6e652e44456c656374696f6e46696e616c697a6564045c4f7074696f6e3c456c656374696f6e436f6d707574653e0859012054686520656c656374696f6e20686173206265656e2066696e616c697a65642c20776974682060536f6d6560206f662074686520676976656e20636f6d7075746174696f6e2c206f7220656c7365206966207468656420656c656374696f6e206661696c65642c20604e6f6e65602e20526577617264656408244163636f756e7449641c42616c616e636504290120416e206163636f756e7420686173206265656e20726577617264656420666f72207468656972207369676e6564207375626d697373696f6e206265696e672066696e616c697a65642e1c536c617368656408244163636f756e7449641c42616c616e636504250120416e206163636f756e7420686173206265656e20736c617368656420666f72207375626d697474696e6720616e20696e76616c6964207369676e6564207375626d697373696f6e2e485369676e6564506861736553746172746564040c75333204c420546865207369676e6564207068617365206f662074686520676976656e20726f756e642068617320737461727465642e50556e7369676e6564506861736553746172746564040c75333204cc2054686520756e7369676e6564207068617365206f662074686520676976656e20726f756e642068617320737461727465642e2834556e7369676e6564506861736538543a3a426c6f636b4e756d62657210320000000480204475726174696f6e206f662074686520756e7369676e65642070686173652e2c5369676e6564506861736538543a3a426c6f636b4e756d62657210320000000478204475726174696f6e206f6620746865207369676e65642070686173652e70536f6c7574696f6e496d70726f76656d656e745468726573686f6c641c50657262696c6c10a0860100084d0120546865206d696e696d756d20616d6f756e74206f6620696d70726f76656d656e7420746f2074686520736f6c7574696f6e2073636f7265207468617420646566696e6573206120736f6c7574696f6e206173642022626574746572222028696e20616e79207068617365292e384f6666636861696e52657065617438543a3a426c6f636b4e756d626572100500000010b42054686520726570656174207468726573686f6c64206f6620746865206f6666636861696e20776f726b65722e00610120466f72206578616d706c652c20696620697420697320352c2074686174206d65616e732074686174206174206c65617374203520626c6f636b732077696c6c20656c61707365206265747765656e20617474656d7074738420746f207375626d69742074686520776f726b6572277320736f6c7574696f6e2e505369676e65644d61785375626d697373696f6e730c753332100a0000001ce4204d6178696d756d206e756d626572206f66207369676e6564207375626d697373696f6e7320746861742063616e206265207175657565642e005501204974206973206265737420746f2061766f69642061646a757374696e67207468697320647572696e6720616e20656c656374696f6e2c20617320697420696d706163747320646f776e73747265616d2064617461650120737472756374757265732e20496e20706172746963756c61722c20605369676e65645375626d697373696f6e496e64696365733c543e6020697320626f756e646564206f6e20746869732076616c75652e20496620796f75f42075706461746520746869732076616c756520647572696e6720616e20656c656374696f6e2c20796f75205f6d7573745f20656e7375726520746861744d0120605369676e65645375626d697373696f6e496e64696365732e6c656e282960206973206c657373207468616e206f7220657175616c20746f20746865206e65772076616c75652e204f74686572776973652cf020617474656d70747320746f207375626d6974206e657720736f6c7574696f6e73206d617920636175736520612072756e74696d652070616e69632e3c5369676e65644d61785765696768741857656967687420c07c907c2d0100000c94204d6178696d756d20776569676874206f662061207369676e656420736f6c7574696f6e2e00fc20546869732073686f756c642070726f6261626c792062652073696d696c617220746f205b60436f6e6669673a3a4d696e65724d6178576569676874605d2e405369676e6564526577617264426173653042616c616e63654f663c543e4000407a10f35a00000000000000000000048820426173652072657761726420666f722061207369676e656420736f6c7574696f6e445369676e65644465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004902042617365206465706f73697420666f722061207369676e656420736f6c7574696f6e2e445369676e65644465706f736974427974653042616c616e63654f663c543e400010a5d4e8000000000000000000000004a0205065722d62797465206465706f73697420666f722061207369676e656420736f6c7574696f6e2e4c5369676e65644465706f7369745765696768743042616c616e63654f663c543e400000000000000000000000000000000004a8205065722d776569676874206465706f73697420666f722061207369676e656420736f6c7574696f6e2e2c6850726544697370617463684561726c795375626d697373696f6e0468205375626d697373696f6e2077617320746f6f206561726c792e6c507265446973706174636857726f6e6757696e6e6572436f756e74048c2057726f6e67206e756d626572206f662077696e6e6572732070726573656e7465642e6450726544697370617463685765616b5375626d697373696f6e0494205375626d697373696f6e2077617320746f6f207765616b2c2073636f72652d776973652e3c5369676e6564517565756546756c6c044d0120546865207175657565207761732066756c6c2c20616e642074686520736f6c7574696f6e20776173206e6f7420626574746572207468616e20616e79206f6620746865206578697374696e67206f6e65732e585369676e656443616e6e6f745061794465706f736974049820546865206f726967696e206661696c656420746f2070617920746865206465706f7369742e505369676e6564496e76616c69645769746e65737304a4205769746e657373206461746120746f20646973706174636861626c6520697320696e76616c69642e4c5369676e6564546f6f4d75636857656967687404bc20546865207369676e6564207375626d697373696f6e20636f6e73756d657320746f6f206d756368207765696768743c4f637743616c6c57726f6e67457261049c204f4357207375626d697474656420736f6c7574696f6e20666f722077726f6e6720726f756e645c4d697373696e67536e617073686f744d6574616461746104ac20536e617073686f74206d657461646174612073686f756c6420657869737420627574206469646e27742e58496e76616c69645375626d697373696f6e496e64657804d4206053656c663a3a696e736572745f7375626d697373696f6e602072657475726e656420616e20696e76616c696420696e6465782e3843616c6c4e6f74416c6c6f776564049c205468652063616c6c206973206e6f7420616c6c6f776564206174207468697320706f696e742e081c5374616b696e67011c5374616b696e679430486973746f7279446570746801000c75333210540000001c8c204e756d626572206f66206572617320746f206b65657020696e20686973746f72792e00390120496e666f726d6174696f6e206973206b65707420666f72206572617320696e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e006101204d757374206265206d6f7265207468616e20746865206e756d626572206f6620657261732064656c617965642062792073657373696f6e206f74686572776973652e20492e652e2061637469766520657261206d757374390120616c7761797320626520696e20686973746f72792e20492e652e20606163746976655f657261203e2063757272656e745f657261202d20686973746f72795f646570746860206d757374206265302067756172616e746565642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321000000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e404d696e4e6f6d696e61746f72426f6e6401003042616c616e63654f663c543e400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f662061206e6f6d696e61746f722e404d696e56616c696461746f72426f6e6401003042616c616e63654f663c543e400000000000000000000000000000000004210120546865206d696e696d756d2061637469766520626f6e6420746f206265636f6d6520616e64206d61696e7461696e2074686520726f6c65206f6620612076616c696461746f722e184c656467657200010230543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449647c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f725072656673000800000c450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e004901205768656e207570646174696e6720746869732073746f72616765206974656d2c20796f75206d75737420616c736f20757064617465207468652060436f756e746572466f7256616c696461746f7273602e50436f756e746572466f7256616c696461746f727301000c7533321000000000042101204120747261636b657220746f206b65657020636f756e74206f6620746865206e756d626572206f66206974656d7320696e20746865206056616c696461746f727360206d61702e484d617856616c696461746f7273436f756e7400000c75333204000c310120546865206d6178696d756d2076616c696461746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e0004000c650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e004901205768656e207570646174696e6720746869732073746f72616765206974656d2c20796f75206d75737420616c736f20757064617465207468652060436f756e746572466f724e6f6d696e61746f7273602e50436f756e746572466f724e6f6d696e61746f727301000c7533321000000000042101204120747261636b657220746f206b65657020636f756e74206f6620746865206e756d626572206f66206974656d7320696e2074686520604e6f6d696e61746f727360206d61702e484d61784e6f6d696e61746f7273436f756e7400000c75333204000c310120546865206d6178696d756d206e6f6d696e61746f7220636f756e74206265666f72652077652073746f7020616c6c6f77696e67206e65772076616c696461746f727320746f206a6f696e2e00d0205768656e20746869732076616c7565206973206e6f74207365742c206e6f206c696d6974732061726520656e666f726365642e2843757272656e74457261000020457261496e6465780400105c205468652063757272656e742065726120696e6465782e006501205468697320697320746865206c617465737420706c616e6e6564206572612c20646570656e64696e67206f6e20686f77207468652053657373696f6e2070616c6c657420717565756573207468652076616c696461746f7280207365742c206974206d6967687420626520616374697665206f72206e6f742e24416374697665457261000034416374697665457261496e666f040010d820546865206163746976652065726120696e666f726d6174696f6e2c20697420686f6c647320696e64657820616e642073746172742e0059012054686520616374697665206572612069732074686520657261206265696e672063757272656e746c792072657761726465642e2056616c696461746f7220736574206f66207468697320657261206d757374206265ac20657175616c20746f205b6053657373696f6e496e746572666163653a3a76616c696461746f7273605d2e5445726173537461727453657373696f6e496e64657800010520457261496e6465783053657373696f6e496e646578000400103101205468652073657373696f6e20696e646578206174207768696368207468652065726120737461727420666f7220746865206c6173742060484953544f52595f44455054486020657261732e006101204e6f74653a205468697320747261636b7320746865207374617274696e672073657373696f6e2028692e652e2073657373696f6e20696e646578207768656e20657261207374617274206265696e672061637469766529f020666f7220746865206572617320696e20605b43757272656e74457261202d20484953544f52595f44455054482c2043757272656e744572615d602e2c457261735374616b65727301020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000001878204578706f73757265206f662076616c696461746f72206174206572612e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e48457261735374616b657273436c697070656401020520457261496e64657830543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e050c0000002c9820436c6970706564204578706f73757265206f662076616c696461746f72206174206572612e00590120546869732069732073696d696c617220746f205b60457261735374616b657273605d20627574206e756d626572206f66206e6f6d696e61746f7273206578706f736564206973207265647563656420746f20746865dc2060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732e1d0120284e6f74653a20746865206669656c642060746f74616c6020616e6420606f776e60206f6620746865206578706f737572652072656d61696e7320756e6368616e676564292ef42054686973206973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e005d012054686973206973206b657965642066697374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4101204966207374616b657273206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e20656d707479206578706f737572652069732072657475726e65642e484572617356616c696461746f72507265667301020520457261496e64657830543a3a4163636f756e7449643856616c696461746f725072656673050800001411012053696d696c617220746f2060457261735374616b657273602c207468697320686f6c64732074686520707265666572656e636573206f662076616c696461746f72732e0061012054686973206973206b65796564206669727374206279207468652065726120696e64657820746f20616c6c6f772062756c6b2064656c6574696f6e20616e64207468656e20746865207374617368206163636f756e742e00a82049732069742072656d6f7665642061667465722060484953544f52595f44455054486020657261732e4c4572617356616c696461746f7252657761726400010520457261496e6465783042616c616e63654f663c543e0004000c09012054686520746f74616c2076616c696461746f7220657261207061796f757420666f7220746865206c6173742060484953544f52595f44455054486020657261732e0021012045726173207468617420686176656e27742066696e697368656420796574206f7220686173206265656e2072656d6f76656420646f65736e27742068617665207265776172642e4045726173526577617264506f696e747301010520457261496e64657874457261526577617264506f696e74733c543a3a4163636f756e7449643e0014000000000008ac205265776172647320666f7220746865206c6173742060484953544f52595f44455054486020657261732e250120496620726577617264206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207265776172642069732072657475726e65642e3845726173546f74616c5374616b6501010520457261496e6465783042616c616e63654f663c543e00400000000000000000000000000000000008ec2054686520746f74616c20616d6f756e74207374616b656420666f7220746865206c6173742060484953544f52595f44455054486020657261732e1d0120496620746f74616c206861736e2774206265656e20736574206f7220686173206265656e2072656d6f766564207468656e2030207374616b652069732072657475726e65642e20466f72636545726101001c466f7263696e6704000454204d6f6465206f662065726120666f7263696e672e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04001025012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e00c8204d75737420636f6e7461696e7320696e666f726d6174696f6e20666f72206572617320666f72207468652072616e67653abc20605b6163746976655f657261202d20626f756e64696e675f6475726174696f6e3b206163746976655f6572615d604c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e5443757272656e74506c616e6e656453657373696f6e01003053657373696f6e496e64657810000000000ce820546865206c61737420706c616e6e65642073657373696f6e207363686564756c6564206279207468652073657373696f6e2070616c6c65742e0031012054686973206973206261736963616c6c7920696e2073796e632077697468207468652063616c6c20746f205b6053657373696f6e4d616e616765723a3a6e65775f73657373696f6e605d2e3853746f7261676556657273696f6e01002052656c6561736573040610cc2054727565206966206e6574776f726b20686173206265656e20757067726164656420746f20746869732076657273696f6e2e7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076362e302e3020666f72206e6577206e6574776f726b732e384368696c6c5468726573686f6c6400001c50657263656e7404000c810120546865207468726573686f6c6420666f72207768656e2075736572732063616e2073746172742063616c6c696e6720606368696c6c5f6f746865726020666f72206f746865722076616c696461746f7273202f206e6f6d696e61746f72732e6d0120546865207468726573686f6c6420697320636f6d706172656420746f207468652061637475616c206e756d626572206f662076616c696461746f7273202f206e6f6d696e61746f7273202860436f756e74466f722a602920696ee4207468652073797374656d20636f6d706172656420746f2074686520636f6e66696775726564206d61782028604d61782a436f756e7460292e016410626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e5865012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e004020456d6974732060426f6e646564602e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e005101204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e6564410120756e6c6573732074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e4c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a3101202d20526561643a20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c2043757272656e74204572612c20486973746f72792044657074682c204c6f636b73e0202d2057726974653a20426f6e6465642c2050617965652c205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e5465012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c657220616e64f82069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004020456d6974732060426f6e646564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e34202d2d2d2d2d2d2d2d2d2d2d2d2c204442205765696768743a1501202d20526561643a2045726120456c656374696f6e205374617475732c20426f6e6465642c204c65646765722c205b4f726967696e204163636f756e745d2c204c6f636b73a4202d2057726974653a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e8c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e003d012049662061207573657220656e636f756e74657273207468652060496e73756666696369656e74426f6e6460206572726f72207768656e2063616c6c696e6720746869732065787472696e7369632c1d0120746865792073686f756c642063616c6c20606368696c6c6020666972737420696e206f7264657220746f206672656520757020746865697220626f6e6465642066756e64732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004820456d6974732060556e626f6e646564602e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652e5101202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c6564207669615c2020206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e2c202d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a1d01202d20526561643a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e744572612c204c6f636b732c2042616c616e63654f662053746173682ca4202d2057726974653a204c6f636b732c204c65646765722c2042616c616e63654f662053746173682c28203c2f7765696768743e4477697468647261775f756e626f6e64656404486e756d5f736c617368696e675f7370616e730c7533327c2d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e004c20456d697473206057697468647261776e602e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d090120436f6d706c6578697479204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2072656d6f766520205570646174653a2501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c204c6f636b732c205b4f726967696e204163636f756e745da8202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c656467657218204b696c6c3a4501202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c2043757272656e74204572612c20426f6e6465642c20536c617368696e67205370616e732c205b4f726967696e8c2020204163636f756e745d2c204c6f636b732c2042616c616e63654f662073746173685101202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732cb02020205b4f726967696e204163636f756e745d2c204c6f636b732c2042616c616e63654f662073746173682e74202d2057726974657320456163683a205370616e536c617368202a20530d01204e4f54453a2057656967687420616e6e6f746174696f6e20697320746865206b696c6c207363656e6172696f2c20776520726566756e64206f74686572776973652e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f72507265667344e8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e30202d2d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a90202d20526561643a2045726120456c656374696f6e205374617475732c204c656467657280202d2057726974653a204e6f6d696e61746f72732c2056616c696461746f7273302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e4c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00510120456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e20546869732063616e206f6e6c792062652063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e3101202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f662060746172676574736020284e2901012077686963682069732063617070656420617420436f6d7061637441737369676e6d656e74733a3a4c494d495420284d41585f4e4f4d494e4154494f4e53292ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e28202d2d2d2d2d2d2d2d2d34205765696768743a204f284e2984207768657265204e20697320746865206e756d626572206f6620746172676574732c204442205765696768743ac8202d2052656164733a2045726120456c656374696f6e205374617475732c204c65646765722c2043757272656e742045726184202d205772697465733a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e146368696c6c0044c8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e0d0120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e24202d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743a88202d20526561643a20457261456c656374696f6e5374617475732c204c656467657280202d2057726974653a2056616c696461746f72732c204e6f6d696e61746f7273302023203c2f7765696768743e247365745f7061796565041470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e40b8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e28202d2d2d2d2d2d2d2d2d3c202d205765696768743a204f28312934202d204442205765696768743a4c20202020202d20526561643a204c65646765724c20202020202d2057726974653a205061796565302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654090202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e2c202d2d2d2d2d2d2d2d2d2d34205765696768743a204f2831292c204442205765696768743af4202d20526561643a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572f8202d2057726974653a20426f6e6465642c204c6564676572204e657720436f6e74726f6c6c65722c204c6564676572204f6c6420436f6e74726f6c6c6572302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e209420536574732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e34205765696768743a204f2831295c2057726974653a2056616c696461746f7220436f756e74302023203c2f7765696768743e60696e6372656173655f76616c696461746f725f636f756e7404286164646974696f6e616c30436f6d706163743c7533323e1cac20496e6372656d656e74732074686520696465616c206e756d626572206f662076616c696461746f72732e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e842053616d65206173205b607365745f76616c696461746f725f636f756e74605d2e302023203c2f7765696768743e547363616c655f76616c696461746f725f636f756e740418666163746f721c50657263656e741cd4205363616c652075702074686520696465616c206e756d626572206f662076616c696461746f7273206279206120666163746f722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e842053616d65206173205b607365745f76616c696461746f725f636f756e74605d2e302023203c2f7765696768743e34666f7263655f6e6f5f65726173003cb020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e00282023205761726e696e67001d012054686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e3d0120546875732074686520656c656374696f6e2070726f63657373206d6179206265206f6e676f696e67207768656e20746869732069732063616c6c65642e20496e2074686973206361736520746865e020656c656374696f6e2077696c6c20636f6e74696e756520756e74696c20746865206e65787420657261206973207472696767657265642e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e3c202d205765696768743a204f28312948202d2057726974653a20466f726365457261302023203c2f7765696768743e34666f7263655f6e65775f65726100404d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e00282023205761726e696e67001d012054686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4d0120496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f7490206861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e3c202d205765696768743a204f28312944202d20577269746520466f726365457261302023203c2f7765696768743e447365745f696e76756c6e657261626c65730434696e76756c6e657261626c6573445665633c543a3a4163636f756e7449643e20cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743e1c202d204f2856295c202d2057726974653a20496e76756c6e657261626c6573302023203c2f7765696768743e34666f7263655f756e7374616b650814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c753332280d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e002c2023203c7765696768743eec204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e7320746f2062652072656d6f766564b82052656164733a20426f6e6465642c20536c617368696e67205370616e732c204163636f756e742c204c6f636b738501205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c204163636f756e742c204c6f636b736c2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e50666f7263655f6e65775f6572615f616c776179730038050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e008820546865206469737061746368206f726967696e206d75737420626520526f6f742e00282023205761726e696e67001d012054686520656c656374696f6e2070726f6365737320737461727473206d756c7469706c6520626c6f636b73206265666f72652074686520656e64206f6620746865206572612e4d0120496620746869732069732063616c6c6564206a757374206265666f72652061206e657720657261206973207472696767657265642c2074686520656c656374696f6e2070726f63657373206d6179206e6f7490206861766520656e6f75676820626c6f636b7320746f20676574206120726573756c742e002c2023203c7765696768743e3c202d205765696768743a204f28312948202d2057726974653a20466f726365457261302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e34982043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e00b42043616e2062652063616c6c6564206279207468652060543a3a536c61736843616e63656c4f726967696e602e00050120506172616d65746572733a2065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e5420436f6d706c65786974793a204f2855202b205329b82077697468205520756e6170706c69656420736c6173686573207765696768746564207769746820553d31303030d420616e64205320697320746865206e756d626572206f6620736c61736820696e646963657320746f2062652063616e63656c65642e68202d20526561643a20556e6170706c69656420536c61736865736c202d2057726974653a20556e6170706c69656420536c6173686573302023203c2f7765696768743e387061796f75745f7374616b657273083c76616c696461746f725f737461736830543a3a4163636f756e7449640c65726120457261496e64657870110120506179206f757420616c6c20746865207374616b65727320626568696e6420612073696e676c652076616c696461746f7220666f7220612073696e676c65206572612e004d01202d206076616c696461746f725f73746173686020697320746865207374617368206163636f756e74206f66207468652076616c696461746f722e205468656972206e6f6d696e61746f72732c20757020746f290120202060543a3a4d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602c2077696c6c20616c736f207265636569766520746865697220726577617264732e3501202d206065726160206d617920626520616e7920657261206265747765656e20605b63757272656e745f657261202d20686973746f72795f64657074683b2063757272656e745f6572615d602e00590120546865206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e20416e79206163636f756e742063616e2063616c6c20746869732066756e6374696f6e2c206576656e20696678206974206973206e6f74206f6e65206f6620746865207374616b6572732e00010120546869732063616e206f6e6c792062652063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743e0101202d2054696d6520636f6d706c65786974793a206174206d6f7374204f284d61784e6f6d696e61746f72526577617264656450657256616c696461746f72292ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e30202d2d2d2d2d2d2d2d2d2d2d1d01204e20697320746865204e756d626572206f66207061796f75747320666f72207468652076616c696461746f722028696e636c7564696e67207468652076616c696461746f722920205765696768743a88202d205265776172642044657374696e6174696f6e205374616b65643a204f284e29c4202d205265776172642044657374696e6174696f6e20436f6e74726f6c6c657220284372656174696e67293a204f284e292c204442205765696768743a2901202d20526561643a20457261456c656374696f6e5374617475732c2043757272656e744572612c20486973746f727944657074682c204572617356616c696461746f725265776172642c2d01202020202020202020457261735374616b657273436c69707065642c2045726173526577617264506f696e74732c204572617356616c696461746f725072656673202838206974656d73291101202d205265616420456163683a20426f6e6465642c204c65646765722c2050617965652c204c6f636b732c2053797374656d204163636f756e74202835206974656d7329d8202d20577269746520456163683a2053797374656d204163636f756e742c204c6f636b732c204c6564676572202833206974656d73290051012020204e4f54453a20776569676874732061726520617373756d696e672074686174207061796f75747320617265206d61646520746f20616c697665207374617368206163636f756e7420285374616b6564292e5901202020506179696e67206576656e2061206465616420636f6e74726f6c6c65722069732063686561706572207765696768742d776973652e20576520646f6e277420646f20616e7920726566756e647320686572652e302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e38e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e00550120546865206469737061746368206f726967696e206d757374206265207369676e65642062792074686520636f6e74726f6c6c65722c20616e642069742063616e206265206f6e6c792063616c6c6564207768656e8c205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e002c2023203c7765696768743ed4202d2054696d6520636f6d706c65786974793a204f284c292c207768657265204c20697320756e6c6f636b696e67206368756e6b7394202d20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e40202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a010120202020202d2052656164733a20457261456c656374696f6e5374617475732c204c65646765722c204c6f636b732c205b4f726967696e204163636f756e745db820202020202d205772697465733a205b4f726967696e204163636f756e745d2c204c6f636b732c204c6564676572302023203c2f7765696768743e447365745f686973746f72795f646570746808446e65775f686973746f72795f646570746844436f6d706163743c457261496e6465783e485f6572615f6974656d735f64656c6574656430436f6d706163743c7533323e543101205365742060486973746f72794465707468602076616c75652e20546869732066756e6374696f6e2077696c6c2064656c65746520616e7920686973746f727920696e666f726d6174696f6e80207768656e2060486973746f727944657074686020697320726564756365642e003020506172616d65746572733a1101202d20606e65775f686973746f72795f6465707468603a20546865206e657720686973746f727920646570746820796f7520776f756c64206c696b6520746f207365742e4901202d20606572615f6974656d735f64656c65746564603a20546865206e756d626572206f66206974656d7320746861742077696c6c2062652064656c6574656420627920746869732064697370617463682e450120202020546869732073686f756c64207265706f727420616c6c207468652073746f72616765206974656d7320746861742077696c6c2062652064656c6574656420627920636c656172696e67206f6c6445012020202065726120686973746f72792e204e656564656420746f207265706f727420616e2061636375726174652077656967687420666f72207468652064697370617463682e2054727573746564206279a02020202060526f6f746020746f207265706f727420616e206163637572617465206e756d6265722e0054204f726967696e206d75737420626520726f6f742e002c2023203c7765696768743ee0202d20453a204e756d626572206f6620686973746f7279206465707468732072656d6f7665642c20692e652e203130202d3e2037203d20333c202d205765696768743a204f28452934202d204442205765696768743aa020202020202d2052656164733a2043757272656e74204572612c20486973746f72792044657074687020202020202d205772697465733a20486973746f7279204465707468310120202020202d20436c6561722050726566697820456163683a20457261205374616b6572732c204572615374616b657273436c69707065642c204572617356616c696461746f725072656673810120202020202d2057726974657320456163683a204572617356616c696461746f725265776172642c2045726173526577617264506f696e74732c2045726173546f74616c5374616b652c2045726173537461727453657373696f6e496e646578302023203c2f7765696768743e28726561705f73746173680814737461736830543a3a4163636f756e744964486e756d5f736c617368696e675f7370616e730c7533323c61012052656d6f766520616c6c20646174612073747275637475726520636f6e6365726e696e672061207374616b65722f7374617368206f6e6365206974732062616c616e636520697320617420746865206d696e696d756d2e6101205468697320697320657373656e7469616c6c79206571756976616c656e7420746f206077697468647261775f756e626f6e64656460206578636570742069742063616e2062652063616c6c656420627920616e796f6e65f820616e6420746865207461726765742060737461736860206d7573742068617665206e6f2066756e6473206c656674206265796f6e64207468652045442e009020546869732063616e2062652063616c6c65642066726f6d20616e79206f726967696e2e000101202d20607374617368603a20546865207374617368206163636f756e7420746f20726561702e204974732062616c616e6365206d757374206265207a65726f2e002c2023203c7765696768743e250120436f6d706c65786974793a204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e73206f6e20746865206163636f756e742e2c204442205765696768743ad8202d2052656164733a205374617368204163636f756e742c20426f6e6465642c20536c617368696e67205370616e732c204c6f636b73a501202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c205374617368204163636f756e742c204c6f636b7374202d2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e106b69636b040c77686fa05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e34e42052656d6f76652074686520676976656e206e6f6d696e6174696f6e732066726f6d207468652063616c6c696e672076616c696461746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e490120416e642c2069742063616e206265206f6e6c792063616c6c6564207768656e205b60457261456c656374696f6e537461747573605d2069732060436c6f736564602e2054686520636f6e74726f6c6c657298206163636f756e742073686f756c6420726570726573656e7420612076616c696461746f722e005101202d206077686f603a2041206c697374206f66206e6f6d696e61746f72207374617368206163636f756e74732077686f20617265206e6f6d696e6174696e6720746869732076616c696461746f72207768696368c420202073686f756c64206e6f206c6f6e676572206265206e6f6d696e6174696e6720746869732076616c696461746f722e005901204e6f74653a204d616b696e6720746869732063616c6c206f6e6c79206d616b65732073656e736520696620796f7520666972737420736574207468652076616c696461746f7220707265666572656e63657320746f7c20626c6f636b20616e792066757274686572206e6f6d696e6174696f6e732e487365745f7374616b696e675f6c696d69747314486d696e5f6e6f6d696e61746f725f626f6e643042616c616e63654f663c543e486d696e5f76616c696461746f725f626f6e643042616c616e63654f663c543e4c6d61785f6e6f6d696e61746f725f636f756e742c4f7074696f6e3c7533323e4c6d61785f76616c696461746f725f636f756e742c4f7074696f6e3c7533323e247468726573686f6c643c4f7074696f6e3c50657263656e743e34bc205570646174652074686520766172696f7573207374616b696e67206c696d69747320746869732070616c6c65742e002901202a20606d696e5f6e6f6d696e61746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f2062652061206e6f6d696e61746f722e2901202a20606d696e5f76616c696461746f725f626f6e64603a20546865206d696e696d756d2061637469766520626f6e64206e656564656420746f20626520612076616c696461746f722e4501202a20606d61785f6e6f6d696e61746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e2062652061206e6f6d696e61746f72206174206f6e63652eb02020205768656e2073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e4501202a20606d61785f76616c696461746f725f636f756e74603a20546865206d6178206e756d626572206f662075736572732077686f2063616e20626520612076616c696461746f72206174206f6e63652eb02020205768656e2073657420746f20604e6f6e65602c206e6f206c696d697420697320656e666f726365642e00ac204f726967696e206d75737420626520526f6f7420746f2063616c6c20746869732066756e6374696f6e2e003901204e4f54453a204578697374696e67206e6f6d696e61746f727320616e642076616c696461746f72732077696c6c206e6f742062652061666665637465642062792074686973207570646174652e150120746f206b69636b2070656f706c6520756e64657220746865206e6577206c696d6974732c20606368696c6c5f6f74686572602073686f756c642062652063616c6c65642e2c6368696c6c5f6f746865720428636f6e74726f6c6c657230543a3a4163636f756e744964584501204465636c61726520612060636f6e74726f6c6c65726020746f2073746f702070617274696369706174696e672061732065697468657220612076616c696461746f72206f72206e6f6d696e61746f722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00450120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2c206275742063616e2062652063616c6c656420627920616e796f6e652e005d01204966207468652063616c6c6572206973207468652073616d652061732074686520636f6e74726f6c6c6572206265696e672074617267657465642c207468656e206e6f206675727468657220636865636b7320617265dc20656e666f726365642c20616e6420746869732066756e6374696f6e2062656861766573206a757374206c696b6520606368696c6c602e006101204966207468652063616c6c657220697320646966666572656e74207468616e2074686520636f6e74726f6c6c6572206265696e672074617267657465642c2074686520666f6c6c6f77696e6720636f6e646974696f6e7334206d757374206265206d65743a4101202a204120604368696c6c5468726573686f6c6460206d7573742062652073657420616e6420636865636b656420776869636820646566696e657320686f7720636c6f736520746f20746865206d617859012020206e6f6d696e61746f7273206f722076616c696461746f7273207765206d757374207265616368206265666f72652075736572732063616e207374617274206368696c6c696e67206f6e652d616e6f746865722e5d01202a204120604d61784e6f6d696e61746f72436f756e746020616e6420604d617856616c696461746f72436f756e7460206d75737420626520736574207768696368206973207573656420746f2064657465726d696e6594202020686f7720636c6f73652077652061726520746f20746865207468726573686f6c642e6101202a204120604d696e4e6f6d696e61746f72426f6e646020616e6420604d696e56616c696461746f72426f6e6460206d7573742062652073657420616e6420636865636b65642c2077686963682064657465726d696e6573550120202069662074686973206973206120706572736f6e20746861742073686f756c64206265206368696c6c6564206265636175736520746865792068617665206e6f74206d657420746865207468726573686f6c6444202020626f6e642072657175697265642e00590120546869732063616e2062652068656c7066756c20696620626f6e6420726571756972656d656e74732061726520757064617465642c20616e64207765206e65656420746f2072656d6f7665206f6c642075736572739c2077686f20646f206e6f74207361746973667920746865736520726571756972656d656e74732e000128244572615061796f75740c20457261496e6465781c42616c616e63651c42616c616e63650c59012054686520657261207061796f757420686173206265656e207365743b207468652066697273742062616c616e6365206973207468652076616c696461746f722d7061796f75743b20746865207365636f6e64206973c4207468652072656d61696e6465722066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642eac205c5b6572615f696e6465782c2076616c696461746f725f7061796f75742c2072656d61696e6465725c5d1852657761726408244163636f756e7449641c42616c616e636504fc20546865207374616b657220686173206265656e207265776172646564206279207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d14536c61736808244163636f756e7449641c42616c616e6365082501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e58205c5b76616c696461746f722c20616d6f756e745c5d684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6490206e6f742062652070726f6365737365642e205c5b73657373696f6e5f696e6465785c5d3c5374616b696e67456c656374696f6e0004882041206e657720736574206f66207374616b6572732077617320656c65637465642e18426f6e64656408244163636f756e7449641c42616c616e636510d420416e206163636f756e742068617320626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d005101204e4f54453a2054686973206576656e74206973206f6e6c7920656d6974746564207768656e2066756e64732061726520626f6e64656420766961206120646973706174636861626c652e204e6f7461626c792c25012069742077696c6c206e6f7420626520656d697474656420666f72207374616b696e672072657761726473207768656e20746865792061726520616464656420746f207374616b652e20556e626f6e64656408244163636f756e7449641c42616c616e636504dc20416e206163636f756e742068617320756e626f6e646564207468697320616d6f756e742e205c5b73746173682c20616d6f756e745c5d2457697468647261776e08244163636f756e7449641c42616c616e6365085d0120416e206163636f756e74206861732063616c6c6564206077697468647261775f756e626f6e6465646020616e642072656d6f76656420756e626f6e64696e67206368756e6b7320776f727468206042616c616e636560b02066726f6d2074686520756e6c6f636b696e672071756575652e205c5b73746173682c20616d6f756e745c5d184b69636b656408244163636f756e744964244163636f756e744964040d012041206e6f6d696e61746f7220686173206265656e206b69636b65642066726f6d20612076616c696461746f722e205c5b6e6f6d696e61746f722c2073746173685c5d545374616b696e67456c656374696f6e4661696c65640004b02054686520656c656374696f6e206661696c65642e204e6f206e65772065726120697320706c616e6e65642e143853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e48536c61736844656665724475726174696f6e20457261496e64657810a8000000100101204e756d626572206f662065726173207468617420736c6173686573206172652064656665727265642062792c20616674657220636f6d7075746174696f6e2e000d0120546869732073686f756c64206265206c657373207468616e2074686520626f6e64696e67206475726174696f6e2e2053657420746f203020696620736c617368657315012073686f756c64206265206170706c69656420696d6d6564696174656c792c20776974686f7574206f70706f7274756e69747920666f7220696e74657276656e74696f6e2e804d61784e6f6d696e61746f72526577617264656450657256616c696461746f720c753332100001000010f820546865206d6178696d756d206e756d626572206f66206e6f6d696e61746f727320726577617264656420666f7220656163682076616c696461746f722e00690120466f7220656163682076616c696461746f72206f6e6c79207468652060244d61784e6f6d696e61746f72526577617264656450657256616c696461746f72602062696767657374207374616b6572732063616e20636c61696d2101207468656972207265776172642e2054686973207573656420746f206c696d69742074686520692f6f20636f737420666f7220746865206e6f6d696e61746f72207061796f75742e384d61784e6f6d696e6174696f6e730c7533321010000000005c344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e384475706c6963617465496e6465780444204475706c696361746520696e6465782e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6404d02043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2072657175697265642e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e64656454617267657404cc20417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e48496e76616c6964457261546f526577617264045c20496e76616c69642065726120746f207265776172642e68496e76616c69644e756d6265724f664e6f6d696e6174696f6e73047c20496e76616c6964206e756d626572206f66206e6f6d696e6174696f6e732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e38416c7265616479436c61696d6564040d01205265776172647320666f72207468697320657261206861766520616c7265616479206265656e20636c61696d656420666f7220746869732076616c696461746f722e54496e636f7272656374486973746f7279446570746804c420496e636f72726563742070726576696f757320686973746f727920646570746820696e7075742070726f76696465642e58496e636f7272656374536c617368696e675370616e7304b420496e636f7272656374206e756d626572206f6620736c617368696e67207370616e732070726f76696465642e204261645374617465043d0120496e7465726e616c20737461746520686173206265636f6d6520736f6d65686f7720636f7272757074656420616e6420746865206f7065726174696f6e2063616e6e6f7420636f6e74696e75652e38546f6f4d616e7954617267657473049820546f6f206d616e79206e6f6d696e6174696f6e207461726765747320737570706c6965642e244261645461726765740441012041206e6f6d696e6174696f6e207461726765742077617320737570706c69656420746861742077617320626c6f636b6564206f72206f7468657277697365206e6f7420612076616c696461746f722e4043616e6e6f744368696c6c4f746865720459012054686520757365722068617320656e6f75676820626f6e6420616e6420746875732063616e6e6f74206265206368696c6c656420666f72636566756c6c7920627920616e2065787465726e616c20706572736f6e2e44546f6f4d616e794e6f6d696e61746f72730875012054686572652061726520746f6f206d616e79206e6f6d696e61746f727320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865207374616b696e672073657474696e67739420746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e44546f6f4d616e7956616c696461746f72730875012054686572652061726520746f6f206d616e792076616c696461746f727320696e207468652073797374656d2e20476f7665726e616e6365206e6565647320746f2061646a75737420746865207374616b696e672073657474696e67739420746f206b656570207468696e6773207361666520666f72207468652072756e74696d652e091c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e38e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a4202d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b6579736084202d204462526561647320706572206b65792069643a20604b65794f776e65726088202d20446257726974657320706572206b65792069643a20604b65794f776e657260302023203c2f7765696768743e2870757267655f6b6579730030cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743eb4202d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a4202d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e746088202d20446257726974657320706572206b65792069643a20604b65794f776e657260302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578086501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e7420697320746865205c5b73657373696f6e5f696e6465785c5d2c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001430496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e74041d01204b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e0a2444656d6f6372616379012444656d6f6372616379383c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e244465706f7369744f660001052450726f70496e64657884285665633c543a3a4163636f756e7449643e2c2042616c616e63654f663c543e290004000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e24507265696d616765730001061c543a3a48617368e8507265696d6167655374617475733c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401003c5265666572656e64756d496e646578100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001053c5265666572656e64756d496e646578d45265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173682c2042616c616e63654f663c543e3e0004000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010530543a3a4163636f756e744964c8566f74696e673c42616c616e63654f663c543e2c20543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e144c6f636b7300010530543a3a4163636f756e74496438543a3a426c6f636b4e756d626572000400105d01204163636f756e747320666f7220776869636820746865726520617265206c6f636b7320696e20616374696f6e207768696368206d61792062652072656d6f76656420617420736f6d6520706f696e7420696e207468655101206675747572652e205468652076616c75652069732074686520626c6f636b206e756d62657220617420776869636820746865206c6f636b206578706972657320616e64206d61792062652072656d6f7665642e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001061c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101061c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e3853746f7261676556657273696f6e00002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e01641c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e2ca02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e00190120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573748420686176652066756e647320746f20636f76657220746865206465706f7369742e00d8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e1901202d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e004820456d697473206050726f706f736564602e003c205765696768743a20604f28702960187365636f6e64082070726f706f73616c48436f6d706163743c50726f70496e6465783e4c7365636f6e64735f75707065725f626f756e6430436f6d706163743c7533323e28b8205369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e00050120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e6465721501206d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00cc202d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e4501202d20607365636f6e64735f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e207468652063757272656e74206e756d626572206f66207365636f6e6473206f6e2074686973290120202070726f706f73616c2e2045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e002101205765696768743a20604f28532960207768657265205320697320746865206e756d626572206f66207365636f6e647320612070726f706f73616c20616c7265616479206861732e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f7465644163636f756e74566f74653c42616c616e63654f663c543e3e24350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00e0202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e88202d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e003101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722068617320766f746564206f6e2e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578205101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e00fc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d4202d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e0040205765696768743a20604f283129602e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368243101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e00ec20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e001901205765696768743a20604f2856296020776974682056206e756d626572206f66207665746f65727320696e2074686520626c61636b6c697374206f662070726f706f73616c2ebc2020204465636f64696e6720766563206f66206c656e67746820562e2043686172676564206173206d6178696d756d6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a486173682c5901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e00f020546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e003c205765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a486173682c4901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e00ec20546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d8202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e003c205765696768743a20604f2831296028666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d6265723c5101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d420546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f982020206046617374547261636b566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e004420456d697473206053746172746564602e003c205765696768743a20604f28312960347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736824bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00dc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e003101202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e004020456d69747320605665746f6564602e000101205765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e1c542052656d6f76652061207265666572656e64756d2e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d8202d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e00482023205765696768743a20604f283129602e3463616e63656c5f717565756564041477686963683c5265666572656e64756d496e6465781ca02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00c8202d20607768696368603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004d01205765696768743a20604f284429602077686572652060446020697320746865206974656d7320696e207468652064697370617463682071756575652e205765696768746564206173206044203d203130602e2064656c65676174650c08746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e1c62616c616e63653042616c616e63654f663c543e503d012044656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e005901205468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865cc2074696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e00610120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a782020202d2062652064656c65676174696e6720616c72656164793b206f725d012020202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c6964617465649820202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e004901202d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e5901202d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e2074686545012020206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e5501202d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374c82020206e6f74206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e004c20456d697473206044656c656761746564602e004101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c65676174650030d020556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e00610120546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64e0206f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e00490120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265582063757272656e746c792064656c65676174696e672e005420456d6974732060556e64656c656761746564602e004101205765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173cc202020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c7300147420436c6561727320616c6c207075626c69632070726f706f73616c732e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e0040205765696768743a20604f283129602e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e2861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e005101205765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e646e6f74655f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e040d012053616d6520617320606e6f74655f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e586e6f74655f696d6d696e656e745f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e3045012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265410120696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e205768656e20746869732063616c6c206973207375636365737366756c2c20692e652e39012074686520707265696d61676520686173206e6f74206265656e2075706c6f61646564206265666f726520616e64206d61746368657320736f6d6520696d6d696e656e742070726f706f73616c2c40206e6f2066656520697320706169642e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c8202d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e005c20456d6974732060507265696d6167654e6f746564602e005101205765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e886e6f74655f696d6d696e656e745f707265696d6167655f6f7065726174696f6e616c0440656e636f6465645f70726f706f73616c1c5665633c75383e0431012053616d6520617320606e6f74655f696d6d696e656e745f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e34726561705f707265696d616765083470726f706f73616c5f686173681c543a3a486173686070726f706f73616c5f6c656e5f75707065725f626f756e6430436f6d706163743c7533323e3cf42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00d0202d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f6620612070726f706f73616c2e2d01202d206070726f706f73616c5f6c656e6774685f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e206c656e677468206f66207468652070726f706f73616c2e010120202045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e00510120546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d616765207761735d01206e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79b020776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e006020456d6974732060507265696d616765526561706564602e00b8205765696768743a20604f284429602077686572652044206973206c656e677468206f662070726f706f73616c2e18756e6c6f636b041874617267657430543a3a4163636f756e7449641ca420556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00bc202d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00c0205765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f74650414696e6465783c5265666572656e64756d496e6465786c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e00102049663a8c202d20746865207265666572656e64756d207761732063616e63656c6c65642c206f7280202d20746865207265666572656e64756d206973206f6e676f696e672c206f7294202d20746865207265666572656e64756d2068617320656e6465642073756368207468617401012020202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d82020202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f72882020202d20746865206163636f756e74206d61646520612073706c697420766f74656101202e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655c2066756e6473206265696e6720617661696c61626c652e00ac2049662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643af0202d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64e0202d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64c0202d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f7665725d01202e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c76655d01202a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de8206f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004d0120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f74658c207265676973746572656420666f72207265666572656e64756d2060696e646578602e00f8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e005901205765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465081874617267657430543a3a4163636f756e74496414696e6465783c5265666572656e64756d496e6465783c802052656d6f7665206120766f746520666f722061207265666572656e64756d2e0051012049662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f3101206072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c590120656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f729c20626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00cc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e005101202d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f72582020207265666572656e64756d2060696e646578602ef8202d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e005901205765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2edc2020205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e38656e6163745f70726f706f73616c083470726f706f73616c5f686173681c543a3a4861736814696e6465783c5265666572656e64756d496e64657804510120456e61637420612070726f706f73616c2066726f6d2061207265666572656e64756d2e20466f72206e6f77207765206a757374206d616b65207468652077656967687420626520746865206d6178696d756d2e24626c61636b6c697374083470726f706f73616c5f686173681c543a3a486173683c6d617962655f7265665f696e6465785c4f7074696f6e3c5265666572656e64756d496e6465783e3c4901205065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e67402070726f706f73656420616761696e2e0055012049662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e6755012072656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c6c207468656e2069742077696c6c2062652063616e63656c6c65642e00f020546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00fc202d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e4901202d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652c2063616e63656c6c65642e004501205765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d6520697420686173206154202020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c042870726f705f696e64657848436f6d706163743c50726f70496e6465783e1c4c2052656d6f766520612070726f706f73616c2e00050120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d4202d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e8205765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e28296001482050726f706f736564082450726f70496e6465781c42616c616e63650431012041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e205c5b70726f706f73616c5f696e6465782c206465706f7369745c5d185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e047d012041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e205c5b70726f706f73616c5f696e6465782c206465706f7369742c206465706f7369746f72735c5d3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404c42041207265666572656e64756d2068617320626567756e2e205c5b7265665f696e6465782c207468726573686f6c645c5d18506173736564043c5265666572656e64756d496e64657804e820412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e205c5b7265665f696e6465785c5d244e6f74506173736564043c5265666572656e64756d496e64657804e820412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e205c5b7265665f696e6465785c5d2443616e63656c6c6564043c5265666572656e64756d496e64657804bc2041207265666572656e64756d20686173206265656e2063616e63656c6c65642e205c5b7265665f696e6465785c5d204578656375746564083c5265666572656e64756d496e64657810626f6f6c04c820412070726f706f73616c20686173206265656e20656e61637465642e205c5b7265665f696e6465782c2069735f6f6b5c5d2444656c65676174656408244163636f756e744964244163636f756e74496404210120416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e205c5b77686f2c207461726765745c5d2c556e64656c65676174656404244163636f756e74496404f820416e205c5b6163636f756e745c5d206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d62657204110120416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e205c5b77686f2c2070726f706f73616c5f686173682c20756e74696c5c5d34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504610120412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e205c5b70726f706f73616c5f686173682c2077686f2c206465706f7369745c5d30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636508150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e94205c5b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369745c5d3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e646578080d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e74205c5b70726f706f73616c5f686173682c207265665f696e6465785c5d3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e646578080d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e74205c5b70726f706f73616c5f686173682c207265665f696e6465785c5d38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964082d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c656374656420627920746865207265617065722eb4205c5b70726f706f73616c5f686173682c2070726f76696465722c206465706f7369742c207265617065725c5d20556e6c6f636b656404244163636f756e74496404bc20416e205c5b6163636f756e745c5d20686173206265656e20756e6c6f636b6564207375636365737366756c6c792e2c426c61636b6c697374656404104861736804d820412070726f706f73616c205c5b686173685c5d20686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e203c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d62657210002f0d0014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210004e0c0004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210004e0c0004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e400000c16ff2862300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e5446617374547261636b566f74696e67506572696f6438543a3a426c6f636b4e756d626572108051010004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210004e0c0004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400010a5d4e800000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e204d6178566f7465730c753332106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e842056616c75654c6f7704382056616c756520746f6f206c6f773c50726f706f73616c4d697373696e6704602050726f706f73616c20646f6573206e6f7420657869737420426164496e646578043820556e6b6e6f776e20696e6465783c416c726561647943616e63656c656404982043616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c04582050726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c6973746564046c2050726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f7269747904ac204e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c696448617368043420496e76616c69642068617368284e6f50726f706f73616c0454204e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564049c204964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365304e6f7444656c6567617465640438204e6f742064656c656761746564444475706c6963617465507265696d616765045c20507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e740434204e6f7420696d6d696e656e7420546f6f4561726c79042820546f6f206561726c7920496d6d696e656e74042420496d6d696e656e743c507265696d6167654d697373696e67044c20507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964048820566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964044420496e76616c696420707265696d6167652c4e6f6e6557616974696e670454204e6f2070726f706f73616c732077616974696e67244e6f744c6f636b656404a42054686520746172676574206163636f756e7420646f6573206e6f7420686176652061206c6f636b2e284e6f744578706972656404f020546865206c6f636b206f6e20746865206163636f756e7420746f20626520756e6c6f636b656420686173206e6f742079657420657870697265642e204e6f74566f74657204c82054686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e04cc20546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67048c20546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e647304010120546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e6704a420546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f746573457869737408590120546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696cec207468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f77656404dc2054686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e736504982044656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e64045420496e76616c696420757070657220626f756e642e3c4d6178566f746573526561636865640484204d6178696d756d206e756d626572206f6620766f74657320726561636865642e38496e76616c69645769746e6573730490205468652070726f7669646564207769746e65737320646174612069732077726f6e672e40546f6f4d616e7950726f706f73616c730494204d6178696d756d206e756d626572206f662070726f706f73616c7320726561636865642e0b1c436f756e63696c014c496e7374616e636531436f6c6c656374697665182450726f706f73616c73010090426f756e6465645665633c543a3a486173682c20543a3a4d617850726f706f73616c733e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368683c5420617320436f6e6669673c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e744964040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c38f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e004d01205472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c690120666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061206665652e2c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e78510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e0065012049662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c6101206265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed8205c5b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645c5d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292eac205c5b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5c5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e6c205c5b70726f706f73616c5f686173682c207965732c206e6f5c5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e0c48546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665182450726f706f73616c73010090426f756e6465645665633c543a3a486173682c20543a3a4d617850726f706f73616c733e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368683c5420617320436f6e6669673c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e744964040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01182c7365745f6d656d626572730c2c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e246f6c645f636f756e742c4d656d626572436f756e746084205365742074686520636f6c6c6563746976652773206d656d626572736869702e004901202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e3901202d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652eac202020202020202020202020202020205573656420666f722077656967687420657374696d6174696f6e2e005820526571756972657320726f6f74206f726967696e2e005501204e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c206275742501202020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002c2023203c7765696768743e282023232057656967687454202d20604f284d50202b204e29602077686572653ae42020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e42020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299c2020202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e6465642918202d2044423a75012020202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e6720746865206d656d62657273f02020202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c7349012020202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c61012020202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e65302023203c2f7765696768743e1c65786563757465082070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e28f420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002c2023203c7765696768743e28202323205765696768748501202d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c60d8202d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c6028202d2031206576656e74302023203c2f7765696768743e1c70726f706f73650c247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c7c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e306c656e6774685f626f756e6430436f6d706163743c7533323e6cfc204164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e0088205265717569726573207468652073656e64657220746f206265206d656d6265722e00450120607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c2032602958206f722070757420757020666f7220766f74696e672e002c2023203c7765696768743e2820232320576569676874b0202d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c82020202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af820202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029010120202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602918202d2044423ab82020202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f42020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029ac2020202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0d0120202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029bc20202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029dc202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e8202020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029d0202020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029c0202020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d296029302020202d2031206576656e74302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c38f42041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e0090205265717569726573207468652073656e64657220746f2062652061206d656d6265722e004d01205472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c690120666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061206665652e2c2023203c7765696768743e28202323205765696768740d01202d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642918202d2044423ab02020202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029bc2020202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d29602928202d2031206576656e74302023203c2f7765696768743e14636c6f7365103470726f706f73616c5f686173681c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e5470726f706f73616c5f7765696768745f626f756e643c436f6d706163743c5765696768743e306c656e6774685f626f756e6430436f6d706163743c7533323e78510120436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e005901204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e004d012049662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973c02068617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e004d012049662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e73290120756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e0065012049662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c6101206265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e008d01202b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642070726f706f73616c2e6501202b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b6564207669618101202020202020202020202020202020202020206073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002c2023203c7765696768743e282023232057656967687478202d20604f2842202b204d202b205031202b20503229602077686572653ae42020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429e02020202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429cc2020202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea82020202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e6465642918202d2044423a110120202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f2831296029810120202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f64656320604f285032296029e020202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c602028605031602944202d20757020746f2033206576656e7473302023203c2f7765696768743e4c646973617070726f76655f70726f706f73616c043470726f706f73616c5f686173681c543a3a4861736834790120446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e742073746174652e008c204d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e003020506172616d65746572733a2101202a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002c2023203c7765696768743ee020436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c732c204442205765696768743a4c202a2052656164733a2050726f706f73616c73a0202a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f66302023203c2f7765696768743e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740c4d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292ed8205c5b6163636f756e742c2070726f706f73616c5f696e6465782c2070726f706f73616c5f686173682c207468726573686f6c645c5d14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740c09012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292eac205c5b6163636f756e742c2070726f706f73616c5f686173682c20766f7465642c207965732c206e6f5c5d20417070726f76656404104861736808c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d2c446973617070726f76656404104861736808d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e48205c5b70726f706f73616c5f686173685c5d204578656375746564081048617368384469737061746368526573756c740825012041206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d384d656d6265724578656375746564081048617368384469737061746368526573756c74084d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e68205c5b70726f706f73616c5f686173682c20726573756c745c5d18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7408590120412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e6c205c5b70726f706f73616c5f686173682c207965732c206e6f5c5d0028244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790405012054686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c730401012054686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c57656967687404d42054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e67746804d42054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e0d24456c656374696f6e730124456c656374696f6e73141c4d656d626572730100ac5665633c53656174486f6c6465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e04000c74205468652063757272656e7420656c6563746564206d656d626572732e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100ac5665633c53656174486f6c6465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e04001084205468652063757272656e742072657365727665642072756e6e6572732d75702e00590120496e76617269616e743a20416c7761797320736f72746564206261736564206f6e2072616e6b2028776f72736520746f2062657374292e2055706f6e2072656d6f76616c206f662061206d656d6265722c20746865bc206c6173742028692e652e205f626573745f292072756e6e65722d75702077696c6c206265207265706c616365642e2843616e646964617465730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400185901205468652070726573656e742063616e646964617465206c6973742e20412063757272656e74206d656d626572206f722072756e6e65722d75702063616e206e6576657220656e746572207468697320766563746f72d020616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e007c205365636f6e6420656c656d656e7420697320746865206465706f7369742e00b820496e76617269616e743a20416c7761797320736f72746564206261736564206f6e206163636f756e742069642e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010530543a3a4163636f756e74496484566f7465723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e00840000000000000000000000000000000000000000000000000000000000000000000cb820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e00c42054574f582d4e4f54453a205341464520617320604163636f756e7449646020697320612063727970746f20686173682e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5d0120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e20546869732063616e2062652063616c6c656420746fe4207365742074686520696e697469616c20766f7465732c206f722075706461746520616c7265616479206578697374696e6720766f7465732e0061012055706f6e20696e697469616c20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e642061206465706f73697420616d6f756e7420697351012072657365727665642e20546865206465706f736974206973206261736564206f6e20746865206e756d626572206f6620766f74657320616e642063616e2062652075706461746564206f7665722074696d652e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792e59012020202d206265206c657373207468616e20746865206e756d626572206f6620706f737369626c652063616e646964617465732e204e6f7465207468617420616c6c2063757272656e74206d656d6265727320616e641501202020202072756e6e6572732d75702061726520616c736f206175746f6d61746963616c6c792063616e6469646174657320666f7220746865206e65787420726f756e642e005101204966206076616c756560206973206d6f7265207468616e206077686f60277320746f74616c2062616c616e63652c207468656e20746865206d6178696d756d206f66207468652074776f20697320757365642e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e003020232323205761726e696e670059012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f202a2a4e4f542a2a20706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865ac206c6f636b20616e64206b65657020736f6d6520666f722066757274686572206f7065726174696f6e732e002c2023203c7765696768743e550120576520617373756d6520746865206d6178696d756d2077656967687420616d6f6e6720616c6c20332063617365733a20766f74655f657175616c2c20766f74655f6d6f726520616e6420766f74655f6c6573732e302023203c2f7765696768743e3072656d6f76655f766f7465720014702052656d6f766520606f726967696e60206173206120766f7465722e00bc20546869732072656d6f76657320746865206c6f636b20616e642072657475726e7320746865206465706f7369742e00010120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e656420616e64206265206120766f7465722e407375626d69745f63616e646964616379043c63616e6469646174655f636f756e7430436f6d706163743c7533323e3c1501205375626d6974206f6e6573656c6620666f722063616e6469646163792e204120666978656420616d6f756e74206f66206465706f736974206973207265636f726465642e00610120416c6c2063616e64696461746573206172652077697065642061742074686520656e64206f6620746865207465726d2e205468657920656974686572206265636f6d652061206d656d6265722f72756e6e65722d75702cd0206f72206c65617665207468652073797374656d207768696c65207468656972206465706f73697420697320736c61736865642e00c420546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642e003020232323205761726e696e67006101204576656e20696620612063616e64696461746520656e6473207570206265696e672061206d656d6265722c2074686579206d7573742063616c6c205b6043616c6c3a3a72656e6f756e63655f63616e646964616379605d5d0120746f20676574207468656972206465706f736974206261636b2e204c6f73696e67207468652073706f7420696e20616e20656c656374696f6e2077696c6c20616c77617973206c65616420746f206120736c6173682e002c2023203c7765696768743e0d0120546865206e756d626572206f662063757272656e742063616e64696461746573206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379042872656e6f756e63696e672852656e6f756e63696e674451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a004d01202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c20746865206465706f736974206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e6501202d20606f726967696e6020697320612063757272656e742072756e6e65722d75702e20496e207468697320636173652c20746865206465706f73697420697320756e72657365727665642c2072657475726e656420616e64902020206f726967696e2069732072656d6f76656420617320612072756e6e65722d75702e5901202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c20746865206465706f73697420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e550120202053696d696c617220746f205b6072656d6f76655f6d656d62657273605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c794d01202020757365642e20496620746865207072696d652069732072656e6f756e63696e672c207468656e206e6f207072696d652077696c6c20657869737420756e74696c20746865206e65787420726f756e642e00490120546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265207369676e65642c20616e642068617665206f6e65206f66207468652061626f766520726f6c65732e002c2023203c7765696768743ee4205468652074797065206f662072656e6f756e63696e67206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e3472656d6f76655f6d656d626572080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653c6861735f7265706c6163656d656e7410626f6f6c385d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c61636573207468650101206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20656c656374696f6e20697320737461727465642e00bc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e550120496620776520686176652061207265706c6163656d656e742c20776520757365206120736d616c6c207765696768742e20456c73652c2073696e63652074686973206973206120726f6f742063616c6c20616e64d42077696c6c20676f20696e746f2070687261676d656e2c20776520617373756d652066756c6c20626c6f636b20666f72206e6f772e302023203c2f7765696768743e50636c65616e5f646566756e63745f766f74657273082c5f6e756d5f766f746572730c753332305f6e756d5f646566756e63740c75333228490120436c65616e20616c6c20766f746572732077686f2061726520646566756e63742028692e652e207468657920646f206e6f7420736572766520616e7920707572706f736520617420616c6c292e20546865b0206465706f736974206f66207468652072656d6f76656420766f74657273206172652072657475726e65642e000501205468697320697320616e20726f6f742066756e6374696f6e20746f2062652075736564206f6e6c7920666f7220636c65616e696e67207468652073746174652e00bc20546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e002c2023203c7765696768743e61012054686520746f74616c206e756d626572206f6620766f7465727320616e642074686f736520746861742061726520646566756e6374206d7573742062652070726f7669646564206173207769746e65737320646174612e302023203c2f7765696768743e011c1c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e1459012041206e6577207465726d2077697468205c5b6e65775f6d656d626572735c5d2e205468697320696e64696361746573207468617420656e6f7567682063616e64696461746573206578697374656420746f2072756e59012074686520656c656374696f6e2c206e6f74207468617420656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e6564490120666f72207468697320707572706f73652e204120604e65775465726d285c5b5c5d296020696e64696361746573207468617420736f6d652063616e6469646174657320676f7420746865697220626f6e64590120736c617368656420616e64206e6f6e65207765726520656c65637465642c207768696c73742060456d7074795465726d60206d65616e732074686174206e6f2063616e64696461746573206578697374656420746f3020626567696e20776974682e24456d7074795465726d00083501204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e205468697320697320646966666572656e742066726f6dcc20604e65775465726d285c5b5c5d29602e2053656520746865206465736372697074696f6e206f6620604e65775465726d602e34456c656374696f6e4572726f720004e820496e7465726e616c206572726f722068617070656e6564207768696c6520747279696e6720746f20706572666f726d20656c656374696f6e2e304d656d6265724b69636b656404244163636f756e7449640855012041205c5b6d656d6265725c5d20686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f72342060456d7074795465726d602e2452656e6f756e63656404244163636f756e744964049c20536f6d656f6e65206861732072656e6f756e6365642074686569722063616e6469646163792e4043616e646964617465536c617368656408244163636f756e7449641c42616c616e6365105d012041205c5b63616e6469646174655c5d2077617320736c6173686564206279205c5b616d6f756e745c5d2064756520746f206661696c696e6720746f206f627461696e20612073656174206173206d656d626572206f722c2072756e6e65722d75702e00e8204e6f74652074686174206f6c64206d656d6265727320616e642072756e6e6572732d75702061726520616c736f2063616e646964617465732e4453656174486f6c646572536c617368656408244163636f756e7449641c42616c616e63650459012041205c5b7365617420686f6c6465725c5d2077617320736c6173686564206279205c5b616d6f756e745c5d206279206265696e6720666f72636566756c6c792072656d6f7665642066726f6d20746865207365742e1c2050616c6c65744964384c6f636b4964656e74696669657220706872656c65637404d0204964656e74696669657220666f722074686520656c656374696f6e732d70687261676d656e2070616c6c65742773206c6f636b3443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d0300000000000000000004050120486f77206d7563682073686f756c64206265206c6f636b656420757020696e206f7264657220746f207375626d6974206f6e6527732063616e6469646163792e38566f74696e67426f6e64426173653042616c616e63654f663c543e4000f0436de36a0100000000000000000010942042617365206465706f736974206173736f636961746564207769746820766f74696e672e00550120546869732073686f756c642062652073656e7369626c79206869676820746f2065636f6e6f6d6963616c6c7920656e73757265207468652070616c6c65742063616e6e6f742062652061747461636b656420627994206372656174696e67206120676967616e746963206e756d626572206f6620766f7465732e40566f74696e67426f6e64466163746f723042616c616e63654f663c543e400000cc7b9fae000000000000000000000411012054686520616d6f756e74206f6620626f6e642074686174206e65656420746f206265206c6f636b656420666f72206561636820766f746520283332206279746573292e38446573697265644d656d626572730c753332100d0000000470204e756d626572206f66206d656d6265727320746f20656c6563742e404465736972656452756e6e65727355700c75333210070000000478204e756d626572206f662072756e6e6572735f757020746f206b6565702e305465726d4475726174696f6e38543a3a426c6f636b4e756d62657210801303000c510120486f77206c6f6e6720656163682073656174206973206b6570742e205468697320646566696e657320746865206e65787420626c6f636b206e756d62657220617420776869636820616e20656c656374696f6e5d0120726f756e642077696c6c2068617070656e2e2049662073657420746f207a65726f2c206e6f20656c656374696f6e732061726520657665722074726967676572656420616e6420746865206d6f64756c652077696c6c5020626520696e2070617373697665206d6f64652e4430556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3852756e6e657255705375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e244e6f744d656d6265720438204e6f742061206d656d6265722e48496e76616c69645769746e6573734461746104e4205468652070726f766964656420636f756e74206f66206e756d626572206f662063616e6469646174657320697320696e636f72726563742e40496e76616c6964566f7465436f756e7404d0205468652070726f766964656420636f756e74206f66206e756d626572206f6620766f74657320697320696e636f72726563742e44496e76616c696452656e6f756e63696e67040101205468652072656e6f756e63696e67206f726967696e2070726573656e74656420612077726f6e67206052656e6f756e63696e676020706172616d657465722e48496e76616c69645265706c6163656d656e740401012050726564696374696f6e20726567617264696e67207265706c6163656d656e74206166746572206d656d6265722072656d6f76616c2069732077726f6e672e0e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970081c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000030543a3a4163636f756e744964040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e011c286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00a0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e74496414c02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a4204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e001101205072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b6579040c6e657730543a3a4163636f756e74496414d82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e002101205072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d65040c77686f30543a3a4163636f756e7449640cc02053657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d65000c982052656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a8204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e000834416c72656164794d656d626572044820416c72656164792061206d656d6265722e244e6f744d656d6265720438204e6f742061206d656d6265722e0f1c4772616e647061011c4772616e6470611814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004001059012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66240d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e00110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e306e6f74655f7374616c6c6564081464656c617938543a3a426c6f636b4e756d6265726c626573745f66696e616c697a65645f626c6f636b5f6e756d62657238543a3a426c6f636b4e756d6265721c1d01204e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c69747920676164676574206861732901207374616c6c65642e20546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e672101206f6620746865206e6578742073657373696f6e2c20746f20626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e205468652064656c617915012073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d6520746861742074686520626c6f636b207369676e616c6c696e6720746865290120666f72636564206368616e67652077696c6c206e6f742062652072652d6f726765642028652e672e203130303020626c6f636b73292e20546865204752414e44504120766f7465727329012077696c6c20737461727420746865206e657720617574686f7269747920736574207573696e672074686520676976656e2066696e616c697a656420626c6f636b20617320626173652e5c204f6e6c792063616c6c61626c6520627920726f6f742e010c384e6577417574686f7269746965730434417574686f726974794c69737404d8204e657720617574686f726974792073657420686173206265656e206170706c6965642e205c5b617574686f726974795f7365745c5d1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e001c2c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e10205472656173757279012054726561737572790c3450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789c50726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100a8426f756e6465645665633c50726f706f73616c496e6465782c20543a3a4d6178417070726f76616c733e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e010c3470726f706f73655f7370656e64081476616c756560436f6d706163743c42616c616e63654f663c542c20493e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129b4202d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460ec202d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e7460302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e24fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129d0202d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d4202d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e285d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e50202d20436f6d706c65786974793a204f2831292e90202d20446252656164733a206050726f706f73616c73602c2060417070726f76616c73605c202d20446257726974653a2060417070726f76616c7360302023203c2f7765696768743e011c2050726f706f736564043450726f706f73616c496e6465780484204e65772070726f706f73616c2e205c5b70726f706f73616c5f696e6465785c5d205370656e64696e67041c42616c616e6365043d01205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e205c5b6275646765745f72656d61696e696e675c5d1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964041d0120536f6d652066756e64732068617665206265656e20616c6c6f63617465642e205c5b70726f706f73616c5f696e6465782c2061776172642c2062656e65666963696172795c5d2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504250120412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205c5b70726f706f73616c5f696e6465782c20736c61736865645c5d144275726e74041c42616c616e636504b020536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e205c5b6275726e5c5d20526f6c6c6f766572041c42616c616e6365083101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e54205c5b6275646765745f72656d61696e696e675c5d1c4465706f736974041c42616c616e636504b020536f6d652066756e64732068617665206265656e206465706f73697465642e205c5b6465706f7369745c5d143050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3c42616c616e63654f663c542c20493e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080700000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449642050616c6c657449642070792f7472737279041901205468652074726561737572792773206d6f64756c652069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e0c70496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e6465780494204e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c73048420546f6f206d616e7920617070726f76616c7320696e207468652071756575652e1124436f6e7472616374730124436f6e74726163747314305072697374696e65436f64650001062c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001062c436f6465486173683c543e4c5072656661625761736d4d6f64756c653c543e0004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010530543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e0004000ca82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e3444656c6574696f6e51756575650100505665633c44656c65746564436f6e74726163743e040010c8204576696374656420636f6e7472616374732074686174206177616974206368696c6420747269652064656c6574696f6e2e004901204368696c6420747269652064656c6574696f6e2069732061206865617679206f7065726174696f6e20646570656e64696e67206f6e2074686520616d6f756e74206f662073746f72616765206974656d7359012073746f72656420696e207361696420747269652e205468657265666f72652074686973206f7065726174696f6e20697320706572666f726d6564206c617a696c7920696e20606f6e5f696e697469616c697a65602e01101063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e54696e7374616e74696174655f776974685f636f64651424656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e10636f64651c5665633c75383e10646174611c5665633c75383e1073616c741c5665633c75383e54350120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d2074686520737570706c6965642060636f646560206f7074696f6e616c6c79207472616e7366657272696e673820736f6d652062616c616e63652e000501205468697320697320746865206f6e6c792066756e6374696f6e20746861742063616e206465706c6f79206e657720636f646520746f2074686520636861696e2e0034202320506172616d6574657273006101202a2060656e646f776d656e74603a205468652062616c616e636520746f207472616e736665722066726f6d2074686520606f726967696e6020746f20746865206e65776c79206372656174656420636f6e74726163742e1901202a20606761735f6c696d6974603a2054686520676173206c696d697420656e666f72636564207768656e20657865637574696e672074686520636f6e7374727563746f722ed0202a2060636f6465603a2054686520636f6e747261637420636f646520746f206465706c6f7920696e207261772062797465732ef8202a206064617461603a2054686520696e707574206461746120746f207061737320746f2074686520636f6e747261637420636f6e7374727563746f722e3501202a206073616c74603a205573656420666f722074686520616464726573732064657269766174696f6e2e20536565205b6050616c6c65743a3a636f6e74726163745f61646472657373605d2e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a007501202d2054686520737570706c6965642060636f64656020697320696e737472756d656e7465642c206465706c6f7965642c20616e6420612060636f64655f6861736860206973206372656174656420666f72207468617420636f64652e5d01202d204966207468652060636f64655f686173686020616c726561647920657869737473206f6e2074686520636861696e2074686520756e6465726c79696e672060636f6465602077696c6c206265207368617265642e4d01202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e6465722c20636f64655f6861736820616e64207468652073616c742e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732ed4202d205468652060656e646f776d656e7460206973207472616e7366657272656420746f20746865206e6577206163636f756e742e4501202d2054686520606465706c6f79602066756e6374696f6e20697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e2c696e7374616e74696174651424656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d69743c436f6d706163743c5765696768743e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e1073616c741c5665633c75383e14010120496e7374616e746961746573206120636f6e74726163742066726f6d20612070726576696f75736c79206465706c6f796564207761736d2062696e6172792e00390120546869732066756e6374696f6e206973206964656e746963616c20746f205b6053656c663a3a696e7374616e74696174655f776974685f636f6465605d2062757420776974686f7574207468654d0120636f6465206465706c6f796d656e7420737465702e20496e73746561642c207468652060636f64655f6861736860206f6620616e206f6e2d636861696e206465706c6f796564207761736d2062696e61727948206d75737420626520737570706c6965642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e244d0120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b39012070726f6475636572206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e004d0120496e2063617365206f662061207375636365737366756c206576696374696f6e206e6f20666565732061726520636861726765642066726f6d207468652073656e6465722e20486f77657665722c20746865450120726577617264206973206361707065642062792074686520746f74616c20616d6f756e74206f662072656e7420746861742077617320706169642062792074686520636f6e7472616374207768696c65382069742077617320616c6976652e00550120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c205b604572726f723a3a436f6e74726163744e6f74457669637461626c65605dec2069732072657475726e656420616e64207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e012030496e7374616e74696174656408244163636f756e744964244163636f756e74496404390120436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e205c5b6465706c6f7965722c20636f6e74726163745c5d1c4576696374656404244163636f756e74496404190120436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e205c5b636f6e74726163745c5d285465726d696e6174656408244163636f756e744964244163636f756e74496430e820436f6e747261637420686173206265656e207465726d696e6174656420776974686f7574206c656176696e67206120746f6d6273746f6e652e68205c5b636f6e74726163742c2062656e65666963696172795c5d0024202320506172616d7300c0202d2060636f6e7472616374603a2054686520636f6e7472616374207468617420776173207465726d696e617465642e3101202d206062656e6566696369617279603a20546865206163636f756e7420746861742072656365697665642074686520636f6e7472616374732072656d61696e696e672062616c616e63652e001c2023204e6f7465002d0120546865206f6e6c792077617920666f72206120636f6e747261637420746f2062652072656d6f76656420776974686f7574206120746f6d6273746f6e6520616e6420656d697474696e67ac2074686973206576656e742069732062792063616c6c696e6720607365616c5f7465726d696e617465602e20526573746f72656410244163636f756e744964244163636f756e74496410486173681c42616c616e636524bc20526573746f726174696f6e206f66206120636f6e747261637420686173206265656e207375636365737366756c2eb8205c5b726573746f7265722c20646573742c20636f64655f686173682c2072656e745f616c6c6f77616e63655c5d0024202320506172616d7300d0202d2060726573746f726572603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e74726163742ebc202d206064657374603a204163636f756e74204944206f662074686520726573746f72656420636f6e74726163742ecc202d2060636f64655f68617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163742ef4202d206072656e745f616c6c6f77616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e74726163742e28436f646553746f72656404104861736804f020436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e205c5b636f64655f686173685c5d3c5363686564756c6555706461746564040c75333218c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e30205c5b76657273696f6e5c5d0024202320506172616d7300d0202d206076657273696f6e603a205468652076657273696f6e206f6620746865206e65776c7920736574207363686564756c652e3c436f6e7472616374456d697474656408244163636f756e7449641c5665633c75383e20a0204120637573746f6d206576656e7420656d69747465642062792074686520636f6e74726163742e4c205c5b636f6e74726163742c20646174615c5d0024202320506172616d7300cc202d2060636f6e7472616374603a2054686520636f6e7472616374207468617420656d697474656420746865206576656e742e3101202d206064617461603a204461746120737570706c6965642062792074686520636f6e74726163742e204d657461646174612067656e65726174656420647572696e6720636f6e7472616374b82020202020202020202020636f6d70696c6174696f6e206973206e656564656420746f206465636f64652069742e2c436f646552656d6f76656404104861736810b0204120636f6465207769746820746865207370656369666965642068617368207761732072656d6f7665642e38205c5b636f64655f686173685c5d00550120546869732068617070656e73207768656e20746865206c61737420636f6e747261637420746861742075736573207468697320636f64652068617368207761732072656d6f766564206f7220657669637465642e28205363686564756c652c5363686564756c653c543ed1090400000000020000000100008000000010000000001000000001000020000000200000000040000000000200020000008e0f0000b04602009a8c0300a9720000767600005e380000ea5e00000753000097000000579e030088130500b60000007a170000c11100005721000099370000483a0000d0110000d8d12c08bc4300005c430000bb2e0000a942000000260000b72300009c370000ad540000de540000ca5400000354000018550000e553000011550000c053000007540000da540000a0530000e85300008d5400004a690000bd680000a56a000096670000b053000013540000055400006a5500009255000060550000f455000033550000cae32900000000007a332a00000000004041290000000000a6fb5d000000000060c02a0000000000e6d6290000000000065329000000000062002a0000000000d425290000000000b0522a00000000005cb3540000000000b41c1600000000008057640000000000000100000000000008f6380000000000710200000000000078d68a210000000098d6de2a000000007c75640900000000466d6f000000000070baac0000000000ec73de07000000007406000000000000922c190000000000fc9f1d00000000008618ee0900000000450200000000000082dc6108000000003e573102000000002704000000000000cc94430b000000009406e1100000000096fa930800000000dc010000000000009c020000000000001843c12400000000f001000000000000b80200000000000094070000000000008a9b2a0000000000561200000000000046432b0000000000ab0c000000000000c08c260000000000b005000000000000acd2260000000000b005000000000000046820436f7374207363686564756c6520616e64206c696d6974732e4c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000f0e8857a9c0200000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e484465706f736974506572436f6e74726163743042616c616e63654f663c543e4000f0e8857a9c02000000000000000000202101205468652062616c616e636520657665727920636f6e7472616374206e6565647320746f206465706f73697420746f207374617920616c69766520696e646566696e6974656c792e005101205468697320697320646966666572656e742066726f6d20746865205b6053656c663a3a546f6d6273746f6e654465706f736974605d20626563617573652074686973206f6e6c79206e6565647320746f2062654501206465706f7369746564207768696c652074686520636f6e747261637420697320616c6976652e20436f73747320666f72206164646974696f6e616c2073746f726167652061726520616464656420746f402074686973206261736520636f73742e006d01205468697320697320612073696d706c652077617920746f20656e73757265207468617420636f6e747261637473207769746820656d7074792073746f72616765206576656e7475616c6c79206765742064656c657465642062797101206d616b696e67207468656d207061792072656e742e2054686973206372656174657320616e20696e63656e7469766520746f2072656d6f7665207468656d206561726c7920696e206f7264657220746f20736176652072656e742e544465706f73697450657253746f72616765427974653042616c616e63654f663c543e400060defb740500000000000000000000185501205468652062616c616e6365206120636f6e7472616374206e6565647320746f206465706f736974207065722073746f72616765206279746520746f207374617920616c69766520696e646566696e6974656c792e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e544465706f73697450657253746f726167654974656d3042616c616e63654f663c543e4000f0ab75a40d000000000000000000000c5501205468652062616c616e6365206120636f6e7472616374206e6565647320746f206465706f736974207065722073746f72616765206974656d20746f207374617920616c69766520696e646566696e6974656c792e00310120497420776f726b73207468652073616d65206173205b6053656c663a3a4465706f73697450657253746f7261676542797465605d2062757420666f722073746f72616765206974656d732e3052656e744672616374696f6e1c50657262696c6c1085040000140d0120546865206672616374696f6e206f6620746865206465706f73697420746861742073686f756c6420626520757365642061732072656e742070657220626c6f636b2e005101205768656e206120636f6e7472616374206861736e277420656e6f7567682062616c616e6365206465706f736974656420746f207374617920616c69766520696e646566696e6974656c79206974206e65656473450120746f207061792070657220626c6f636b20666f72207468652073746f7261676520697420636f6e73756d65732074686174206973206e6f7420636f766572656420627920746865206465706f7369742e590120546869732064657465726d696e657320686f77206869676820746869732072656e74207061796d656e742069732070657220626c6f636b2061732061206672616374696f6e206f6620746865206465706f7369742e3c5375726368617267655265776172643042616c616e63654f663c543e40005cb2ec22000000000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e4844656c6574696f6e517565756544657074680c753332101a04000004f420546865206d6178696d756d206e756d626572206f6620747269657320746861742063616e2062652071756575656420666f722064656c6574696f6e2e4c44656c6574696f6e5765696768744c696d6974185765696768742000d0ed902e000000044d0120546865206d6178696d756d20616d6f756e74206f662077656967687420746861742063616e20626520636f6e73756d65642070657220626c6f636b20666f72206c617a7920747269652072656d6f76616c2e8858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e204f75744f6647617304bc2054686520657865637574656420636f6e7472616374206578686175737465642069747320676173206c696d69742e504f7574707574427566666572546f6f536d616c6c04050120546865206f75747075742062756666657220737570706c69656420746f206120636f6e7472616374204150492063616c6c2077617320746f6f20736d616c6c2e6442656c6f7753756273697374656e63655468726573686f6c6410210120506572666f726d696e672074686520726571756573746564207472616e7366657220776f756c6420686176652062726f756768742074686520636f6e74726163742062656c6f773d01207468652073756273697374656e6365207468726573686f6c642e204e6f207472616e7366657220697320616c6c6f77656420746f20646f207468697320696e206f7264657220746f20616c6c6f77450120666f72206120746f6d6273746f6e6520746f20626520637265617465642e2055736520607365616c5f7465726d696e6174656020746f2072656d6f7665206120636f6e747261637420776974686f757470206c656176696e67206120746f6d6273746f6e6520626568696e642e504e6577436f6e74726163744e6f7446756e64656408390120546865206e65776c79206372656174656420636f6e74726163742069732062656c6f77207468652073756273697374656e6365207468726573686f6c6420616674657220657865637574696e6721012069747320636f6e74727563746f722e204e6f20636f6e7472616374732061726520616c6c6f77656420746f2065786973742062656c6f772074686174207468726573686f6c642e385472616e736665724661696c65640c250120506572666f726d696e672074686520726571756573746564207472616e73666572206661696c656420666f72206120726561736f6e206f726967696e6174696e6720696e2074686531012063686f73656e2063757272656e637920696d706c656d656e746174696f6e206f66207468652072756e74696d652e204d6f73742070726f6261626c79207468652062616c616e63652069738c20746f6f206c6f77206f72206c6f636b732061726520706c61636564206f6e2069742e4c4d617843616c6c44657074685265616368656408250120506572666f726d696e6720612063616c6c207761732064656e6965642062656361757365207468652063616c6c696e67206465707468207265616368656420746865206c696d697498206f6620776861742069732073706563696669656420696e20746865207363686564756c652e40436f6e74726163744e6f74466f756e6404c0204e6f20636f6e74726163742077617320666f756e64206174207468652073706563696669656420616464726573732e4c436f6e74726163744973546f6d6273746f6e6510b0204120746f6d6273746f6e65206578697374206174207468652073706563696669656420616464726573732e00410120546f6d6273746f6e652063616e6e6f742062652063616c6c65642e20416e796f6e652063616e2075736520607365616c5f726573746f72655f746f6020696e206f7264657220746f20726576697665582074686520636f6e74726163742c2074686f7567682e2c52656e744e6f7450616964182501205468652063616c6c656420636f6e747261637420646f6573206e6f74206861766520656e6f7567682062616c616e636520746f2070617920666f72206974732073746f726167652e0039012054686520636f6e74726163742072616e206f7574206f662062616c616e636520616e64206973207468657265666f726520656c696769626c6520666f72206576696374696f6e20696e746f20612d0120746f6d6273746f6e652e20416e796f6e652063616e2065766963742074686520636f6e7472616374206279207375626d697474696e6720612060636c61696d5f737572636861726765602d012065787472696e7369632e20416c7465726e61746976656c792c206120706c61696e2062616c616e6365207472616e736665722063616e206265207573656420696e206f7264657220746ff420696e6372656173652074686520636f6e7472616374732066756e647320736f20746861742069742063616e2062652063616c6c656420616761696e2e30436f6465546f6f4c617267650841012054686520636f646520737570706c69656420746f2060696e7374616e74696174655f776974685f636f646560206578636565647320746865206c696d69742073706563696669656420696e20746865482063757272656e74207363686564756c652e30436f64654e6f74466f756e6404c8204e6f20636f646520636f756c6420626520666f756e642061742074686520737570706c69656420636f646520686173682e2c4f75744f66426f756e6473042901204120627566666572206f757473696465206f662073616e64626f78206d656d6f7279207761732070617373656420746f206120636f6e7472616374204150492066756e6374696f6e2e384465636f64696e674661696c6564042d0120496e7075742070617373656420746f206120636f6e7472616374204150492066756e6374696f6e206661696c656420746f206465636f646520617320657870656374656420747970652e3c436f6e747261637454726170706564048c20436f6e7472616374207472617070656420647572696e6720657865637574696f6e2e3456616c7565546f6f4c6172676504d0205468652073697a6520646566696e656420696e2060543a3a4d617856616c756553697a6560207761732065786365656465642e605465726d696e617465645768696c655265656e7472616e74081d01205465726d696e6174696f6e206f66206120636f6e7472616374206973206e6f7420616c6c6f776564207768696c652074686520636f6e747261637420697320616c72656164793501206f6e207468652063616c6c20737461636b2e2043616e2062652074726967676572656420627920607365616c5f7465726d696e61746560206f7220607365616c5f726573746f72655f746f2e38496e707574466f7277617264656404450120607365616c5f63616c6c6020666f72776172646564207468697320636f6e74726163747320696e7075742e204974207468657265666f7265206973206e6f206c6f6e67657220617661696c61626c652e5052616e646f6d5375626a656374546f6f4c6f6e6704dc20546865207375626a6563742070617373656420746f20607365616c5f72616e646f6d60206578636565647320746865206c696d69742e34546f6f4d616e79546f706963730421012054686520616d6f756e74206f6620746f706963732070617373656420746f20607365616c5f6465706f7369745f6576656e747360206578636565647320746865206c696d69742e3c4475706c6963617465546f706963730431012054686520746f706963732070617373656420746f20607365616c5f6465706f7369745f6576656e74736020636f6e7461696e73206174206c65617374206f6e65206475706c69636174652e404e6f436861696e457874656e73696f6e0c49012054686520636861696e20646f6573206e6f742070726f76696465206120636861696e20657874656e73696f6e2e2043616c6c696e672074686520636861696e20657874656e73696f6e20726573756c7473510120696e2074686973206572726f722e204e6f74652074686174207468697320757375616c6c79202073686f756c646e27742068617070656e206173206465706c6f79696e67207375636820636f6e747261637473342069732072656a65637465642e4444656c6574696f6e517565756546756c6c1405012052656d6f76616c206f66206120636f6e7472616374206661696c65642062656361757365207468652064656c6574696f6e2071756575652069732066756c6c2e00550120546869732063616e2068617070656e207768656e206569746865722063616c6c696e67205b6050616c6c65743a3a636c61696d5f737572636861726765605d206f7220607365616c5f7465726d696e617465602e5101205468652071756575652069732066696c6c65642062792064656c6574696e6720636f6e74726163747320616e6420656d7074696564206279206120666978656420616d6f756e74206561636820626c6f636b2e250120547279696e6720616761696e20647572696e6720616e6f7468657220626c6f636b20697320746865206f6e6c792077617920746f207265736f6c766520746869732069737375652e50436f6e74726163744e6f74457669637461626c65102d01204120636f6e747261637420636f756c64206e6f74206265206576696374656420626563617573652069742068617320656e6f7567682062616c616e636520746f207061792072656e742e00250120546869732063616e2062652072657475726e65642066726f6d205b6050616c6c65743a3a636c61696d5f737572636861726765605d20626563617573652074686520746172676574c420636f6e74726163742068617320656e6f7567682062616c616e636520746f2070617920666f72206974732072656e742e4053746f7261676545786861757374656410350120412073746f72616765206d6f64696669636174696f6e20657868617573746564207468652033326269742074797065207468617420686f6c6473207468652073746f726167652073697a652e00350120546869732063616e206569746865722068617070656e207768656e2074686520616363756d756c617465642073746f7261676520696e20627974657320697320746f6f206c61726765206f72ac207768656e206e756d626572206f662073746f72616765206974656d7320697320746f6f206c617267652e444475706c6963617465436f6e747261637404cc204120636f6e74726163742077697468207468652073616d65204163636f756e74496420616c7265616479206578697374732e5c5465726d696e61746564496e436f6e7374727563746f720cbc204120636f6e74726163742073656c66206465737472756374656420696e2069747320636f6e7374727563746f722e00290120546869732063616e2062652074726967676572656420627920612063616c6c20746f20607365616c5f7465726d696e61746560206f7220607365616c5f726573746f72655f746f602e5c44656275674d657373616765496e76616c69645554463804410120546865206465627567206d6573736167652073706563696669656420746f20607365616c5f64656275675f6d6573736167656020646f657320636f6e7461696e20696e76616c6964205554462d382e405265656e7472616e636544656e69656404110120412063616c6c20747269656420746f20696e766f6b65206120636f6e7472616374207468617420697320666c6167676564206173206e6f6e2d7265656e7472616e742e12105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e0110107375646f041063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e547375646f5f756e636865636b65645f776569676874081063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e1c5f776569676874185765696768742839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e310120546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b4205375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292ed0202d2054686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c14537564696404384469737061746368526573756c74048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d284b65794368616e67656404244163636f756e74496404010120546865205c5b7375646f65725c5d206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e6504384469737061746368526573756c74048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e741320496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e6465783856616c696461746f7249643c543e0c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e6174757265242c2023203c7765696768743e4101202d20436f6d706c65786974793a20604f284b202b20452960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e290101202020616e642045206973206c656e677468206f6620606865617274626561742e6e6574776f726b5f73746174652e65787465726e616c5f61646472657373608c2020202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60b02020202d20604f284529603a206465636f64696e672f656e636f64696e67206f66206c656e677468206045603d01202d20446252656164733a2070616c6c65745f73657373696f6e206056616c696461746f7273602c2070616c6c65745f73657373696f6e206043757272656e74496e646578602c20604b657973602c5c202020605265636569766564486561727462656174736084202d2044625772697465733a206052656365697665644865617274626561747360302023203c2f7765696768743e010c444865617274626561745265636569766564042c417574686f7269747949640405012041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f72697479496460205c5b617574686f726974795f69645c5d1c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e043d012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265205c5b6f66666c696e655c5d2e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e1448417574686f72697479446973636f76657279000000000015204f6666656e63657301204f6666656e6365730c1c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e0001041c4f6666656e636508104b696e64384f706171756554696d65536c6f740c550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e50205c5b6b696e642c2074696d65736c6f745c5d2e00001628486973746f726963616c0000000000176052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e0000000018204964656e7469747901204964656e7469747910284964656e746974794f6600010530543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e0004000c210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f6600010230543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e013c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e00010120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743e2901202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e64656420616e6420636f64652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f4c2d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2858202b205827202b2052296021012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e64656429e42020202d20776865726520605260206a756467656d656e74732d636f756e7420287265676973747261722d636f756e742d626f756e6465642984202d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e2501202d204f6e652073746f72616765206d75746174696f6e2028636f6465632d7265616420604f285827202b205229602c20636f6465632d777269746520604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e54902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e00b4202d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e002c2023203c7765696768743e34202d20604f2850202b20532960e82020202d20776865726520605060206f6c642d737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e732e18202d2044423ae02020202d206050202b2053602073746f72616765206d75746174696f6e732028636f64656320636f6d706c657869747920604f2831296029c02020202d204f6e652073746f7261676520726561642028636f64656320636f6d706c657869747920604f28502960292ec42020202d204f6e652073746f726167652077726974652028636f64656320636f6d706c657869747920604f28532960292ed42020202d204f6e652073746f726167652d6578697374732028604964656e746974794f663a3a636f6e7461696e735f6b657960292e302023203c2f7765696768743e38636c6561725f6964656e7469747900483d0120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e44202d20604f2852202b2053202b20582960d02020202d20776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e25012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e646564292e8c202d204f6e652062616c616e63652d756e72657365727665206f7065726174696f6e2ecc202d206032602073746f7261676520726561647320616e64206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65bc2053656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e30202d204f6e65206576656e74302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e341d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496434c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee4202d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647334ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00fc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e1c6164645f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106461746110446174611cb0204164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656e616d655f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651064617461104461746110d020416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656d6f76655f737562040c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651cc42052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e20717569745f7375620028902052656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b820746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564402073757065722d6964656e746974792e004901204e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d150120636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e01282c4964656e7469747953657404244163636f756e7449640411012041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e205c5b77686f5c5d3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e63650415012041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e205c5b77686f2c206465706f7369745c5d384964656e746974794b696c6c656408244163636f756e7449641c42616c616e6365040d012041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e205c5b77686f2c206465706f7369745c5d484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e6465780405012041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e205c5b77686f2c207265676973747261725f696e6465785c5d504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e64657804f02041206a756467656d656e74207265717565737420776173207265747261637465642e205c5b77686f2c207265676973747261725f696e6465785c5d384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e6465780409012041206a756467656d656e742077617320676976656e2062792061207265676973747261722e205c5b7461726765742c207265676973747261725f696e6465785c5d3852656769737472617241646465640438526567697374726172496e64657804ac204120726567697374726172207761732061646465642e205c5b7265676973747261725f696e6465785c5d405375624964656e7469747941646465640c244163636f756e744964244163636f756e7449641c42616c616e63650455012041207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e7469747952656d6f7665640c244163636f756e744964244163636f756e7449641c42616c616e6365080d012041207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e5c205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e746974795265766f6b65640c244163636f756e744964244163636f756e7449641c42616c616e6365081d012041207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d207468652901206d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e205c5b7375622c206d61696e2c206465706f7369745c5d183042617369634465706f7369743042616c616e63654f663c543e400080c6a47e8d0300000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e74697479304669656c644465706f7369743042616c616e63654f663c543e4000a031a95fe300000000000000000000042d012054686520616d6f756e742068656c64206f6e206465706f73697420706572206164646974696f6e616c206669656c6420666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f7369743042616c616e63654f663c543e400080f420e6b5000000000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637471012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c206265290120616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e74730c7533321064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e4c4d61784164646974696f6e616c4669656c64730c7533321064000000086501204d6178696d756d206e756d626572206f66206164646974696f6e616c206669656c64732074686174206d61792062652073746f72656420696e20616e2049442e204e656564656420746f20626f756e642074686520492f4fe020726571756972656420746f2061636365737320616e206964656e746974792c206275742063616e2062652070726574747920686967682e344d6178526567697374726172730c7533321014000000085101204d61786d696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e4048546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473047020546f6f206d616e79206164646974696f6e616c206669656c64732e44546f6f4d616e795265676973747261727304ec204d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d65640474204163636f756e7420494420697320616c7265616479206e616d65642e184e6f7453756204742053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564048c205375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e191c536f6369657479011c536f6369657479401c466f756e646572000030543a3a4163636f756e7449640400044820546865206669727374206d656d6265722e1452756c657300001c543a3a48617368040008510120412068617368206f66207468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e2043616e206f6e6c7920626520736574206f6e636520616e6454206f6e6c792062792074686520666f756e6465722e2843616e6469646174657301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e0400043901205468652063757272656e7420736574206f662063616e646964617465733b206269646465727320746861742061726520617474656d7074696e6720746f206265636f6d65206d656d626572732e4c53757370656e64656443616e6469646174657300010530543a3a4163636f756e744964e42842616c616e63654f663c542c20493e2c204269644b696e643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e2900040004842054686520736574206f662073757370656e6465642063616e646964617465732e0c506f7401003c42616c616e63654f663c542c20493e400000000000000000000000000000000004410120416d6f756e74206f66206f7572206163636f756e742062616c616e63652074686174206973207370656369666963616c6c7920666f7220746865206e65787420726f756e642773206269642873292e1048656164000030543a3a4163636f756e744964040004e820546865206d6f7374207072696d6172792066726f6d20746865206d6f737420726563656e746c7920617070726f766564206d656d626572732e1c4d656d626572730100445665633c543a3a4163636f756e7449643e04000494205468652063757272656e7420736574206f66206d656d626572732c206f7264657265642e4053757370656e6465644d656d6265727301010530543a3a4163636f756e74496410626f6f6c00040004782054686520736574206f662073757370656e646564206d656d626572732e104269647301009c5665633c4269643c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e3e040004e8205468652063757272656e7420626964732c2073746f726564206f726465726564206279207468652076616c7565206f6620746865206269642e20566f756368696e6700010530543a3a4163636f756e74496438566f756368696e6753746174757300040004e4204d656d626572732063757272656e746c7920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e1c5061796f75747301010530543a3a4163636f756e744964985665633c28543a3a426c6f636b4e756d6265722c2042616c616e63654f663c542c20493e293e000400044d012050656e64696e67207061796f7574733b206f72646572656420627920626c6f636b206e756d6265722c20776974682074686520616d6f756e7420746861742073686f756c642062652070616964206f75742e1c537472696b657301010530543a3a4163636f756e7449642c537472696b65436f756e7400100000000004dc20546865206f6e676f696e67206e756d626572206f66206c6f73696e6720766f746573206361737420627920746865206d656d6265722e14566f74657300020530543a3a4163636f756e74496430543a3a4163636f756e74496410566f746505040004d020446f75626c65206d61702066726f6d2043616e646964617465202d3e20566f746572202d3e20284d617962652920566f74652e20446566656e646572000030543a3a4163636f756e744964040004c42054686520646566656e64696e67206d656d6265722063757272656e746c79206265696e67206368616c6c656e6765642e34446566656e646572566f74657300010530543a3a4163636f756e74496410566f7465000400046020566f74657320666f722074686520646566656e6465722e284d61784d656d6265727301000c753332100000000004dc20546865206d6178206e756d626572206f66206d656d6265727320666f722074686520736f6369657479206174206f6e652074696d652e01300c626964041476616c75653c42616c616e63654f663c542c20493e84e020412075736572206f757473696465206f662074686520736f63696574792063616e206d616b6520612062696420666f7220656e7472792e003901205061796d656e743a206043616e6469646174654465706f736974602077696c6c20626520726573657276656420666f72206d616b696e672061206269642e2049742069732072657475726e6564f0207768656e2074686520626964206265636f6d65732061206d656d6265722c206f7220696620746865206269642063616c6c732060756e626964602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a5901202d206076616c7565603a2041206f6e652074696d65207061796d656e74207468652062696420776f756c64206c696b6520746f2072656365697665207768656e206a6f696e696e672074686520736f63696574792e002c2023203c7765696768743e5501204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520726573657276652944202d2053746f726167652052656164733aec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f284329c820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d2948202d2053746f72616765205772697465733a810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3a2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6820092d204f6e65206576656e7420666f72206e6577206269642efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e14756e626964040c706f730c7533324cd82041206269646465722063616e2072656d6f76652074686569722062696420666f7220656e74727920696e746f20736f63696574792e010120427920646f696e6720736f2c20746865792077696c6c20686176652074686569722063616e646964617465206465706f7369742072657475726e6564206f728420746865792077696c6c20756e766f75636820746865697220766f75636865722e00fc205061796d656e743a2054686520626964206465706f73697420697320756e7265736572766564206966207468652075736572206d6164652061206269642e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206269646465722e003020506172616d65746572733a1901202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2077616e747320746f20756e6269642e002c2023203c7765696768743eb0204b65793a204220286c656e206f662062696473292c2058202862616c616e636520756e72657365727665290d01202d204f6e652073746f72616765207265616420616e6420777269746520746f20726574726965766520616e64207570646174652074686520626964732e204f2842294501202d20456974686572206f6e6520756e726573657276652062616c616e636520616374696f6e204f285829206f72206f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2842202b205829302023203c2f7765696768743e14766f7563680c0c77686f30543a3a4163636f756e7449641476616c75653c42616c616e63654f663c542c20493e0c7469703c42616c616e63654f663c542c20493eb045012041732061206d656d6265722c20766f75636820666f7220736f6d656f6e6520746f206a6f696e20736f636965747920627920706c6163696e67206120626964206f6e20746865697220626568616c662e005501205468657265206973206e6f206465706f73697420726571756972656420746f20766f75636820666f722061206e6577206269642c206275742061206d656d6265722063616e206f6e6c7920766f75636820666f725d01206f6e652062696420617420612074696d652e2049662074686520626964206265636f6d657320612073757370656e6465642063616e64696461746520616e6420756c74696d6174656c792072656a65637465642062794101207468652073757370656e73696f6e206a756467656d656e74206f726967696e2c20746865206d656d6265722077696c6c2062652062616e6e65642066726f6d20766f756368696e6720616761696e2e005901204173206120766f756368696e67206d656d6265722c20796f752063616e20636c61696d206120746970206966207468652063616e6469646174652069732061636365707465642e2054686973207469702077696c6c51012062652070616964206173206120706f7274696f6e206f66207468652072657761726420746865206d656d6265722077696c6c207265636569766520666f72206a6f696e696e672074686520736f63696574792e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733acc202d206077686f603a2054686520757365722077686f20796f7520776f756c64206c696b6520746f20766f75636820666f722e5101202d206076616c7565603a2054686520746f74616c2072657761726420746f2062652070616964206265747765656e20796f7520616e64207468652063616e6469646174652069662074686579206265636f6d65642061206d656d62657220696e2074686520736f63696574792e4901202d2060746970603a20596f757220637574206f662074686520746f74616c206076616c756560207061796f7574207768656e207468652063616e64696461746520697320696e64756374656420696e746f15012074686520736f63696574792e2054697073206c6172676572207468616e206076616c7565602077696c6c206265207361747572617465642075706f6e207061796f75742e002c2023203c7765696768743e0101204b65793a204220286c656e206f662062696473292c204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d626572732944202d2053746f726167652052656164733ac820092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c206d656d626572732e204f284d29090120092d204f6e652073746f72616765207265616420746f20636865636b206d656d626572206973206e6f7420616c726561647920766f756368696e672e204f283129ec20092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e6465642063616e6469646174652e204f283129e020092d204f6e652073746f72616765207265616420746f20636865636b20666f722073757370656e646564206d656d6265722e204f283129dc20092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e7420626964732e204f284229f420092d204f6e652073746f72616765207265616420746f20726574726965766520616c6c2063757272656e742063616e646964617465732e204f28432948202d2053746f72616765205772697465733a0d0120092d204f6e652073746f7261676520777269746520746f20696e7365727420766f756368696e672073746174757320746f20746865206d656d6265722e204f283129810120092d204f6e652073746f72616765206d757461746520746f206164642061206e65772062696420746f2074686520766563746f72204f2842292028544f444f3a20706f737369626c65206f7074696d697a6174696f6e20772f207265616429010120092d20557020746f206f6e652073746f726167652072656d6f76616c206966206269642e6c656e2829203e204d41585f4249445f434f554e542e204f2831295c202d204e6f7461626c6520436f6d7075746174696f6e3ac020092d204f286c6f67204d292073656172636820746f20636865636b2073656e6465722069732061206d656d6265722e2d0120092d204f2842202b2043202b206c6f67204d292073656172636820746f20636865636b2075736572206973206e6f7420616c726561647920612070617274206f6620736f63696574792ec420092d204f286c6f672042292073656172636820746f20696e7365727420746865206e65772062696420736f727465642e78202d2045787465726e616c204d6f64756c65204f7065726174696f6e733a9c20092d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e204f285829210120092d20557020746f206f6e652062616c616e636520756e72657365727665206f7065726174696f6e20696620626964732e6c656e2829203e204d41585f4249445f434f554e542e28202d204576656e74733a6020092d204f6e65206576656e7420666f7220766f7563682efc20092d20557020746f206f6e65206576656e7420666f72204175746f556e626964206966206269642e6c656e2829203e204d41585f4249445f434f554e542e00c420546f74616c20436f6d706c65786974793a204f284d202b2042202b2043202b206c6f674d202b206c6f6742202b205829302023203c2f7765696768743e1c756e766f756368040c706f730c753332442d01204173206120766f756368696e67206d656d6265722c20756e766f7563682061206269642e2054686973206f6e6c7920776f726b73207768696c6520766f7563686564207573657220697394206f6e6c792061206269646465722028616e64206e6f7420612063616e646964617465292e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206120766f756368696e67206d656d6265722e003020506172616d65746572733a2d01202d2060706f73603a20506f736974696f6e20696e207468652060426964736020766563746f72206f6620746865206269642077686f2073686f756c6420626520756e766f75636865642e002c2023203c7765696768743e54204b65793a204220286c656e206f662062696473290901202d204f6e652073746f726167652072656164204f28312920746f20636865636b20746865207369676e6572206973206120766f756368696e67206d656d6265722eec202d204f6e652073746f72616765206d757461746520746f20726574726965766520616e64207570646174652074686520626964732e204f28422994202d204f6e6520766f756368696e672073746f726167652072656d6f76616c2e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f284229302023203c2f7765696768743e10766f7465082463616e6469646174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c617070726f766510626f6f6c4c882041732061206d656d6265722c20766f7465206f6e20612063616e6469646174652e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733a0d01202d206063616e646964617465603a205468652063616e646964617465207468617420746865206d656d62657220776f756c64206c696b6520746f20626964206f6e2ef4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265d82020202020202020202020202020617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743ebc204b65793a204320286c656e206f662063616e64696461746573292c204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722e58202d204f6e65206163636f756e74206c6f6f6b75702e2d01202d204f6e652073746f726167652072656164204f28432920616e64204f2843292073656172636820746f20636865636b2074686174207573657220697320612063616e6469646174652ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204329302023203c2f7765696768743e34646566656e6465725f766f7465041c617070726f766510626f6f6c408c2041732061206d656d6265722c20766f7465206f6e2074686520646566656e6465722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d6265722e003020506172616d65746572733af4202d2060617070726f7665603a204120626f6f6c65616e2077686963682073617973206966207468652063616e6469646174652073686f756c64206265a420617070726f766564202860747275656029206f722072656a656374656420286066616c736560292e002c2023203c7765696768743e68202d204b65793a204d20286c656e206f66206d656d62657273291d01202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b20757365722069732061206d656d6265722ebc202d204f6e652073746f7261676520777269746520746f2061646420766f746520746f20766f7465732e204f28312934202d204f6e65206576656e742e007820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d29302023203c2f7765696768743e187061796f757400504501205472616e7366657220746865206669727374206d617475726564207061796f757420666f72207468652073656e64657220616e642072656d6f76652069742066726f6d20746865207265636f7264732e006901204e4f54453a20546869732065787472696e736963206e6565647320746f2062652063616c6c6564206d756c7469706c652074696d657320746f20636c61696d206d756c7469706c65206d617475726564207061796f7574732e002101205061796d656e743a20546865206d656d6265722077696c6c20726563656976652061207061796d656e7420657175616c20746f207468656972206669727374206d61747572656478207061796f757420746f20746865697220667265652062616c616e63652e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642061206d656d62657220776974684c207061796f7574732072656d61696e696e672e002c2023203c7765696768743e1d01204b65793a204d20286c656e206f66206d656d62657273292c205020286e756d626572206f66207061796f75747320666f72206120706172746963756c6172206d656d626572292501202d204f6e652073746f726167652072656164204f284d2920616e64204f286c6f67204d292073656172636820746f20636865636b207369676e65722069732061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28502920746f2067657420616c6c207061796f75747320666f722061206d656d6265722ee4202d204f6e652073746f726167652072656164204f28312920746f20676574207468652063757272656e7420626c6f636b206e756d6265722e8c202d204f6e652063757272656e6379207472616e736665722063616c6c2e204f2858291101202d204f6e652073746f72616765207772697465206f722072656d6f76616c20746f2075706461746520746865206d656d6265722773207061796f7574732e204f285029009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2050202b205829302023203c2f7765696768743e14666f756e640c1c666f756e64657230543a3a4163636f756e7449642c6d61785f6d656d626572730c7533321472756c65731c5665633c75383e4c4c20466f756e642074686520736f63696574792e00f0205468697320697320646f6e65206173206120646973637265746520616374696f6e20696e206f7264657220746f20616c6c6f7720666f72207468651901206d6f64756c6520746f20626520696e636c7564656420696e746f20612072756e6e696e6720636861696e20616e642063616e206f6e6c7920626520646f6e65206f6e63652e001d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f466f756e6465725365744f726967696e5f2e003020506172616d65746572733a1901202d2060666f756e64657260202d20546865206669727374206d656d62657220616e642068656164206f6620746865206e65776c7920666f756e64656420736f63696574792e1501202d20606d61785f6d656d6265727360202d2054686520696e697469616c206d6178206e756d626572206f66206d656d6265727320666f722074686520736f63696574792ef4202d206072756c657360202d205468652072756c6573206f66207468697320736f636965747920636f6e6365726e696e67206d656d626572736869702e002c2023203c7765696768743ee0202d2054776f2073746f72616765206d75746174657320746f207365742060486561646020616e642060466f756e646572602e204f283129f4202d204f6e652073746f7261676520777269746520746f2061646420746865206669727374206d656d62657220746f20736f63696574792e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e1c756e666f756e6400348c20416e6e756c2074686520666f756e64696e67206f662074686520736f63696574792e005d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205369676e65642c20616e6420746865207369676e696e67206163636f756e74206d75737420626520626f74685901207468652060466f756e6465726020616e6420746865206048656164602e205468697320696d706c6965732074686174206974206d6179206f6e6c7920626520646f6e65207768656e207468657265206973206f6e6520206d656d6265722e002c2023203c7765696768743e68202d2054776f2073746f72616765207265616473204f2831292e78202d20466f75722073746f726167652072656d6f76616c73204f2831292e34202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e586a756467655f73757370656e6465645f6d656d626572080c77686f30543a3a4163636f756e7449641c666f726769766510626f6f6c6c2d0120416c6c6f772073757370656e73696f6e206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e646564206d656d6265722e00590120496620612073757370656e646564206d656d62657220697320666f72676976656e2c2077652073696d706c7920616464207468656d206261636b2061732061206d656d6265722c206e6f7420616666656374696e67cc20616e79206f6620746865206578697374696e672073746f72616765206974656d7320666f722074686174206d656d6265722e00490120496620612073757370656e646564206d656d6265722069732072656a65637465642c2072656d6f766520616c6c206173736f6369617465642073746f72616765206974656d732c20696e636c7564696e670101207468656972207061796f7574732c20616e642072656d6f766520616e7920766f7563686564206269647320746865792063757272656e746c7920686176652e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ab4202d206077686f60202d205468652073757370656e646564206d656d62657220746f206265206a75646765642e3501202d2060666f726769766560202d204120626f6f6c65616e20726570726573656e74696e672077686574686572207468652073757370656e73696f6e206a756467656d656e74206f726967696e2501202020202020202020202020202020666f726769766573202860747275656029206f722072656a6563747320286066616c7365602920612073757370656e646564206d656d6265722e002c2023203c7765696768743ea4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d6265727329f8202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e646564206d656d6265722e204f2831297101202d20557020746f206f6e652073746f72616765207772697465204f284d292077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d626572206261636b20746f20736f63696574792ef8202d20557020746f20332073746f726167652072656d6f76616c73204f28312920746f20636c65616e20757020612072656d6f766564206d656d6265722e4501202d20557020746f206f6e652073746f72616765207772697465204f2842292077697468204f2842292073656172636820746f2072656d6f766520766f7563686564206269642066726f6d20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e70202d204f6e652073746f726167652072656d6f76616c2e204f2831297c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e008820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b204229302023203c2f7765696768743e646a756467655f73757370656e6465645f63616e646964617465080c77686f30543a3a4163636f756e744964246a756467656d656e74244a756467656d656e74a0350120416c6c6f772073757370656e646564206a756467656d656e74206f726967696e20746f206d616b65206a756467656d656e74206f6e20612073757370656e6465642063616e6469646174652e005d0120496620746865206a756467656d656e742069732060417070726f7665602c20776520616464207468656d20746f20736f63696574792061732061206d656d62657220776974682074686520617070726f70726961746574207061796d656e7420666f72206a6f696e696e6720736f63696574792e00550120496620746865206a756467656d656e74206973206052656a656374602c2077652065697468657220736c61736820746865206465706f736974206f6620746865206269642c20676976696e67206974206261636b110120746f2074686520736f63696574792074726561737572792c206f722077652062616e2074686520766f75636865722066726f6d20766f756368696e6720616761696e2e005d0120496620746865206a756467656d656e7420697320605265626964602c20776520707574207468652063616e646964617465206261636b20696e207468652062696420706f6f6c20616e64206c6574207468656d20676f94207468726f7567682074686520696e64756374696f6e2070726f6365737320616761696e2e00410120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d20746865205f53757370656e73696f6e4a756467656d656e744f726967696e5f2e003020506172616d65746572733ac0202d206077686f60202d205468652073757370656e6465642063616e64696461746520746f206265206a75646765642ec4202d20606a756467656d656e7460202d2060417070726f7665602c206052656a656374602c206f7220605265626964602e002c2023203c7765696768743ef4204b65793a204220286c656e206f662062696473292c204d20286c656e206f66206d656d62657273292c2058202862616c616e636520616374696f6e29f0202d204f6e652073746f72616765207265616420746f20636865636b206077686f6020697320612073757370656e6465642063616e6469646174652ec8202d204f6e652073746f726167652072656d6f76616c206f66207468652073757370656e6465642063616e6469646174652e40202d20417070726f7665204c6f676963150120092d204f6e652073746f72616765207265616420746f206765742074686520617661696c61626c6520706f7420746f2070617920757365727320776974682e204f283129dc20092d204f6e652073746f7261676520777269746520746f207570646174652074686520617661696c61626c6520706f742e204f283129e820092d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f283129b420092d204f6e652073746f72616765207265616420746f2067657420616c6c206d656d626572732e204f284d29a020092d20557020746f206f6e6520756e726573657276652063757272656e637920616374696f6e2eb020092d20557020746f2074776f206e65772073746f726167652077726974657320746f207061796f7574732e4d0120092d20557020746f206f6e652073746f726167652077726974652077697468204f286c6f67204d292062696e6172792073656172636820746f206164642061206d656d62657220746f20736f63696574792e3c202d2052656a656374204c6f676963dc20092d20557020746f206f6e6520726570617472696174652072657365727665642063757272656e637920616374696f6e2e204f2858292d0120092d20557020746f206f6e652073746f7261676520777269746520746f2062616e2074686520766f756368696e67206d656d6265722066726f6d20766f756368696e6720616761696e2e38202d205265626964204c6f676963410120092d2053746f72616765206d75746174652077697468204f286c6f672042292062696e6172792073656172636820746f20706c616365207468652075736572206261636b20696e746f20626964732ed4202d20557020746f206f6e65206164646974696f6e616c206576656e7420696620756e766f7563682074616b657320706c6163652e5c202d204f6e652073746f726167652072656d6f76616c2e7c202d204f6e65206576656e7420666f7220746865206a756467656d656e742e009820546f74616c20436f6d706c65786974793a204f284d202b206c6f674d202b2042202b205829302023203c2f7765696768743e3c7365745f6d61785f6d656d62657273040c6d61780c753332381d0120416c6c6f777320726f6f74206f726967696e20746f206368616e676520746865206d6178696d756d206e756d626572206f66206d656d6265727320696e20736f63696574792eb4204d6178206d656d6265727368697020636f756e74206d7573742062652067726561746572207468616e20312e00dc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652066726f6d205f524f4f545f2e003020506172616d65746572733ae4202d20606d617860202d20546865206d6178696d756d206e756d626572206f66206d656d6265727320666f722074686520736f63696574792e002c2023203c7765696768743eb0202d204f6e652073746f7261676520777269746520746f2075706461746520746865206d61782e204f28312934202d204f6e65206576656e742e005c20546f74616c20436f6d706c65786974793a204f283129302023203c2f7765696768743e01401c466f756e64656404244163636f756e74496404e82054686520736f636965747920697320666f756e6465642062792074686520676976656e206964656e746974792e205c5b666f756e6465725c5d0c42696408244163636f756e7449641c42616c616e63650861012041206d656d6265727368697020626964206a7573742068617070656e65642e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e64207468656972206f666665729c20697320746865207365636f6e642e205c5b63616e6469646174655f69642c206f666665725c5d14566f7563680c244163636f756e7449641c42616c616e6365244163636f756e7449640861012041206d656d6265727368697020626964206a7573742068617070656e656420627920766f756368696e672e2054686520676976656e206163636f756e74206973207468652063616e646964617465277320494420616e647901207468656972206f6666657220697320746865207365636f6e642e2054686520766f756368696e67207061727479206973207468652074686972642e205c5b63616e6469646174655f69642c206f666665722c20766f756368696e675c5d244175746f556e62696404244163636f756e7449640419012041205c5b63616e6469646174655c5d207761732064726f70706564202864756520746f20616e20657863657373206f66206269647320696e207468652073797374656d292e14556e62696404244163636f756e74496404c02041205c5b63616e6469646174655c5d207761732064726f70706564202862792074686569722072657175657374292e1c556e766f75636804244163636f756e7449640409012041205c5b63616e6469646174655c5d207761732064726f70706564202862792072657175657374206f662077686f20766f756368656420666f72207468656d292e20496e64756374656408244163636f756e744964385665633c4163636f756e7449643e08590120412067726f7570206f662063616e646964617465732068617665206265656e20696e6475637465642e205468652062617463682773207072696d617279206973207468652066697273742076616c75652c20746865d420626174636820696e2066756c6c20697320746865207365636f6e642e205c5b7072696d6172792c2063616e646964617465735c5d6053757370656e6465644d656d6265724a756467656d656e7408244163636f756e74496410626f6f6c04d020412073757370656e646564206d656d62657220686173206265656e206a75646765642e205c5b77686f2c206a75646765645c5d4843616e64696461746553757370656e64656404244163636f756e744964048c2041205c5b63616e6469646174655c5d20686173206265656e2073757370656e6465643c4d656d62657253757370656e64656404244163636f756e74496404802041205c5b6d656d6265725c5d20686173206265656e2073757370656e646564284368616c6c656e67656404244163636f756e74496404842041205c5b6d656d6265725c5d20686173206265656e206368616c6c656e67656410566f74650c244163636f756e744964244163636f756e74496410626f6f6c04c8204120766f746520686173206265656e20706c61636564205c5b63616e6469646174652c20766f7465722c20766f74655c5d30446566656e646572566f746508244163636f756e74496410626f6f6c04f8204120766f746520686173206265656e20706c6163656420666f72206120646566656e64696e67206d656d626572205c5b766f7465722c20766f74655c5d344e65774d61784d656d62657273040c75333204a02041206e6577205c5b6d61785c5d206d656d62657220636f756e7420686173206265656e2073657424556e666f756e64656404244163636f756e744964048820536f636965747920697320756e666f756e6465642e205c5b666f756e6465725c5d1c4465706f736974041c42616c616e636504f820536f6d652066756e64732077657265206465706f736974656420696e746f2074686520736f6369657479206163636f756e742e205c5b76616c75655c5d204043616e6469646174654465706f7369743c42616c616e63654f663c542c20493e400080c6a47e8d0300000000000000000004fc20546865206d696e696d756d20616d6f756e74206f662061206465706f73697420726571756972656420666f7220612062696420746f206265206d6164652e4857726f6e6753696465446564756374696f6e3c42616c616e63654f663c542c20493e400080f420e6b5000000000000000000000855012054686520616d6f756e74206f662074686520756e70616964207265776172642074686174206765747320646564756374656420696e207468652063617365207468617420656974686572206120736b6570746963c020646f65736e277420766f7465206f7220736f6d656f6e6520766f74657320696e207468652077726f6e67207761792e284d6178537472696b65730c753332100a00000008750120546865206e756d626572206f662074696d65732061206d656d626572206d617920766f7465207468652077726f6e672077617920286f72206e6f7420617420616c6c2c207768656e207468657920617265206120736b65707469632978206265666f72652074686579206265636f6d652073757370656e6465642e2c506572696f645370656e643c42616c616e63654f663c542c20493e400000c52ebca2b1000000000000000000042d012054686520616d6f756e74206f6620696e63656e7469766520706169642077697468696e206561636820706572696f642e20446f65736e277420696e636c75646520566f7465725469702e38526f746174696f6e506572696f6438543a3a426c6f636b4e756d626572100077010004110120546865206e756d626572206f6620626c6f636b73206265747765656e2063616e6469646174652f6d656d6265727368697020726f746174696f6e20706572696f64732e3c4368616c6c656e6765506572696f6438543a3a426c6f636b4e756d626572108013030004d020546865206e756d626572206f6620626c6f636b73206265747765656e206d656d62657273686970206368616c6c656e6765732e2050616c6c657449642050616c6c657449642070792f736f63696504682054686520736f636965746965732773206d6f64756c65206964484d617843616e646964617465496e74616b650c753332100a0000000490204d6178696d756d2063616e64696461746520696e74616b652070657220726f756e642e482c426164506f736974696f6e049020416e20696e636f727265637420706f736974696f6e207761732070726f76696465642e244e6f744d656d62657204582055736572206973206e6f742061206d656d6265722e34416c72656164794d656d6265720468205573657220697320616c72656164792061206d656d6265722e2453757370656e646564044c20557365722069732073757370656e6465642e304e6f7453757370656e646564045c2055736572206973206e6f742073757370656e6465642e204e6f5061796f7574044c204e6f7468696e6720746f207061796f75742e38416c7265616479466f756e646564046420536f636965747920616c726561647920666f756e6465642e3c496e73756666696369656e74506f74049c204e6f7420656e6f75676820696e20706f7420746f206163636570742063616e6469646174652e3c416c7265616479566f756368696e6704e8204d656d62657220697320616c726561647920766f756368696e67206f722062616e6e65642066726f6d20766f756368696e6720616761696e2e2c4e6f74566f756368696e670460204d656d626572206973206e6f7420766f756368696e672e104865616404942043616e6e6f742072656d6f7665207468652068656164206f662074686520636861696e2e1c466f756e646572046c2043616e6e6f742072656d6f76652074686520666f756e6465722e28416c7265616479426964047420557365722068617320616c7265616479206d6164652061206269642e40416c726561647943616e6469646174650474205573657220697320616c726561647920612063616e6469646174652e304e6f7443616e64696461746504642055736572206973206e6f7420612063616e6469646174652e284d61784d656d62657273048420546f6f206d616e79206d656d6265727320696e2074686520736f63696574792e284e6f74466f756e646572047c205468652063616c6c6572206973206e6f742074686520666f756e6465722e1c4e6f74486561640470205468652063616c6c6572206973206e6f742074686520686561642e1a205265636f7665727901205265636f766572790c2c5265636f76657261626c6500010530543a3a4163636f756e744964e85265636f76657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e0004000409012054686520736574206f66207265636f76657261626c65206163636f756e747320616e64207468656972207265636f7665727920636f6e66696775726174696f6e2e404163746976655265636f76657269657300020530543a3a4163636f756e74496430543a3a4163636f756e744964e84163746976655265636f766572793c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e050400106820416374697665207265636f7665727920617474656d7074732e001501204669727374206163636f756e7420697320746865206163636f756e7420746f206265207265636f76657265642c20616e6420746865207365636f6e64206163636f756e74ac20697320746865207573657220747279696e6720746f207265636f76657220746865206163636f756e742e1450726f787900010230543a3a4163636f756e74496430543a3a4163636f756e7449640004000c9020546865206c697374206f6620616c6c6f7765642070726f7879206163636f756e74732e00f8204d61702066726f6d2074686520757365722077686f2063616e2061636365737320697420746f20746865207265636f7665726564206163636f756e742e01243061735f7265636f7665726564081c6163636f756e7430543a3a4163636f756e7449641063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e34a42053656e6420612063616c6c207468726f7567682061207265636f7665726564206163636f756e742e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a2501202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f752077616e7420746f206d616b6520612063616c6c206f6e2d626568616c662d6f662e0101202d206063616c6c603a205468652063616c6c20796f752077616e7420746f206d616b65207769746820746865207265636f7665726564206163636f756e742e002c2023203c7765696768743e94202d2054686520776569676874206f6620746865206063616c6c60202b2031302c3030302e0901202d204f6e652073746f72616765206c6f6f6b757020746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e347365745f7265636f766572656408106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e744964341d0120416c6c6f7720524f4f5420746f2062797061737320746865207265636f766572792070726f6365737320616e642073657420616e20612072657363756572206163636f756e747420666f722061206c6f7374206163636f756e74206469726563746c792e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f524f4f545f2e003020506172616d65746572733ab8202d20606c6f7374603a2054686520226c6f7374206163636f756e742220746f206265207265636f76657265642e1d01202d206072657363756572603a20546865202272657363756572206163636f756e74222077686963682063616e2063616c6c20617320746865206c6f7374206163636f756e742e002c2023203c7765696768743e64202d204f6e652073746f72616765207772697465204f28312930202d204f6e65206576656e74302023203c2f7765696768743e3c6372656174655f7265636f766572790c1c667269656e6473445665633c543a3a4163636f756e7449643e247468726573686f6c640c7531363064656c61795f706572696f6438543a3a426c6f636b4e756d6265726c5d01204372656174652061207265636f7665727920636f6e66696775726174696f6e20666f7220796f7572206163636f756e742e2054686973206d616b657320796f7572206163636f756e74207265636f76657261626c652e003101205061796d656e743a2060436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732062616c616e636549012077696c6c20626520726573657276656420666f722073746f72696e6720746865207265636f7665727920636f6e66696775726174696f6e2e2054686973206465706f7369742069732072657475726e6564bc20696e2066756c6c207768656e2074686520757365722063616c6c73206072656d6f76655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2501202d2060667269656e6473603a2041206c697374206f6620667269656e647320796f7520747275737420746f20766f75636820666f72207265636f7665727920617474656d7074732ed420202053686f756c64206265206f72646572656420616e6420636f6e7461696e206e6f206475706c69636174652076616c7565732e3101202d20607468726573686f6c64603a20546865206e756d626572206f6620667269656e64732074686174206d75737420766f75636820666f722061207265636f7665727920617474656d70741d012020206265666f726520746865206163636f756e742063616e206265207265636f76657265642e2053686f756c64206265206c657373207468616e206f7220657175616c20746f94202020746865206c656e677468206f6620746865206c697374206f6620667269656e64732e3d01202d206064656c61795f706572696f64603a20546865206e756d626572206f6620626c6f636b732061667465722061207265636f7665727920617474656d707420697320696e697469616c697a6564e820202074686174206e6565647320746f2070617373206265666f726520746865206163636f756e742063616e206265207265636f76657265642e002c2023203c7765696768743e68202d204b65793a204620286c656e206f6620667269656e6473292d01202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973206e6f7420616c7265616479207265636f76657261626c652e204f2831292eec202d204120636865636b20746861742074686520667269656e6473206c69737420697320736f7274656420616e6420756e697175652e204f2846299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f2858299c202d204f6e652073746f726167652077726974652e204f2831292e20436f646563204f2846292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e44696e6974696174655f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496458ec20496e697469617465207468652070726f6365737320666f72207265636f766572696e672061207265636f76657261626c65206163636f756e742e001d01205061796d656e743a20605265636f766572794465706f736974602062616c616e63652077696c6c20626520726573657276656420666f7220696e6974696174696e67207468652501207265636f766572792070726f636573732e2054686973206465706f7369742077696c6c20616c7761797320626520726570617472696174656420746f20746865206163636f756e74b820747279696e6720746f206265207265636f76657265642e205365652060636c6f73655f7265636f76657279602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e2054686973206163636f756e7401012020206e6565647320746f206265207265636f76657261626c652028692e652e20686176652061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743ef8202d204f6e652073746f72616765207265616420746f20636865636b2074686174206163636f756e74206973207265636f76657261626c652e204f2846295101202d204f6e652073746f72616765207265616420746f20636865636b20746861742074686973207265636f766572792070726f63657373206861736e277420616c726561647920737461727465642e204f2831299c202d204f6e652063757272656e63792072657365727665206f7065726174696f6e2e204f285829e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831296c202d204f6e652073746f726167652077726974652e204f2831292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e38766f7563685f7265636f7665727908106c6f737430543a3a4163636f756e7449641c7265736375657230543a3a4163636f756e74496464290120416c6c6f7720612022667269656e6422206f662061207265636f76657261626c65206163636f756e7420746f20766f75636820666f7220616e20616374697665207265636f76657279682070726f6365737320666f722074686174206163636f756e742e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d75737420626520612022667269656e64227420666f7220746865207265636f76657261626c65206163636f756e742e003020506172616d65746572733ad4202d20606c6f7374603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f207265636f7665722e1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f2072657363756520746865206c6f7374206163636f756e74207468617420796f755420202077616e7420746f20766f75636820666f722e0025012054686520636f6d62696e6174696f6e206f662074686573652074776f20706172616d6574657273206d75737420706f696e7420746f20616e20616374697665207265636f76657279242070726f636573732e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629ec202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c6572206973206120667269656e642e204f286c6f6746291d01202d204f6e652062696e6172792073656172636820746f20636f6e6669726d2063616c6c657220686173206e6f7420616c726561647920766f75636865642e204f286c6f6756299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e00a420546f74616c20436f6d706c65786974793a204f2846202b206c6f6746202b2056202b206c6f675629302023203c2f7765696768743e38636c61696d5f7265636f76657279041c6163636f756e7430543a3a4163636f756e74496450f420416c6c6f772061207375636365737366756c207265736375657220746f20636c61696d207468656972207265636f7665726564206163636f756e742e002d0120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061202272657363756572221d012077686f20686173207375636365737366756c6c7920636f6d706c6574656420746865206163636f756e74207265636f766572792070726f636573733a20636f6c6c6563746564310120607468726573686f6c6460206f72206d6f726520766f75636865732c20776169746564206064656c61795f706572696f646020626c6f636b732073696e636520696e6974696174696f6e2e003020506172616d65746572733a2d01202d20606163636f756e74603a20546865206c6f7374206163636f756e74207468617420796f752077616e7420746f20636c61696d20686173206265656e207375636365737366756c6c79502020207265636f766572656420627920796f752e002c2023203c7765696768743efc204b65793a204620286c656e206f6620667269656e647320696e20636f6e666967292c205620286c656e206f6620766f756368696e6720667269656e6473291d01202d204f6e652073746f72616765207265616420746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846292101202d204f6e652073746f72616765207265616420746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629e4202d204f6e652073746f72616765207265616420746f20676574207468652063757272656e7420626c6f636b206e756d6265722e204f2831299c202d204f6e652073746f726167652077726974652e204f2831292c20436f646563204f2856292e34202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205629302023203c2f7765696768743e38636c6f73655f7265636f76657279041c7265736375657230543a3a4163636f756e7449645015012041732074686520636f6e74726f6c6c6572206f662061207265636f76657261626c65206163636f756e742c20636c6f736520616e20616374697665207265636f76657279682070726f6365737320666f7220796f7572206163636f756e742e002101205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e2c20746865207265636f76657261626c65206163636f756e742077696c6c2072656365697665f820746865207265636f76657279206465706f73697420605265636f766572794465706f7369746020706c616365642062792074686520726573637565722e00050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061f0207265636f76657261626c65206163636f756e74207769746820616e20616374697665207265636f766572792070726f6365737320666f722069742e003020506172616d65746572733a1101202d206072657363756572603a20546865206163636f756e7420747279696e6720746f207265736375652074686973207265636f76657261626c65206163636f756e742e002c2023203c7765696768743e84204b65793a205620286c656e206f6620766f756368696e6720667269656e6473293d01202d204f6e652073746f7261676520726561642f72656d6f766520746f206765742074686520616374697665207265636f766572792070726f636573732e204f2831292c20436f646563204f285629c0202d204f6e652062616c616e63652063616c6c20746f20726570617472696174652072657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2856202b205829302023203c2f7765696768743e3c72656d6f76655f7265636f7665727900545d012052656d6f766520746865207265636f766572792070726f6365737320666f7220796f7572206163636f756e742e205265636f7665726564206163636f756e747320617265207374696c6c2061636365737369626c652e001501204e4f54453a205468652075736572206d757374206d616b65207375726520746f2063616c6c2060636c6f73655f7265636f7665727960206f6e20616c6c206163746976650901207265636f7665727920617474656d707473206265666f72652063616c6c696e6720746869732066756e6374696f6e20656c73652069742077696c6c206661696c2e002501205061796d656e743a2042792063616c6c696e6720746869732066756e6374696f6e20746865207265636f76657261626c65206163636f756e742077696c6c20756e7265736572766598207468656972207265636f7665727920636f6e66696775726174696f6e206465706f7369742ef4202860436f6e6669674465706f7369744261736560202b2060467269656e644465706f736974466163746f7260202a20235f6f665f667269656e64732900050120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64206d7573742062652061e4207265636f76657261626c65206163636f756e742028692e652e206861732061207265636f7665727920636f6e66696775726174696f6e292e002c2023203c7765696768743e60204b65793a204620286c656e206f6620667269656e6473292901202d204f6e652073746f72616765207265616420746f206765742074686520707265666978206974657261746f7220666f7220616374697665207265636f7665726965732e204f2831293901202d204f6e652073746f7261676520726561642f72656d6f766520746f2067657420746865207265636f7665727920636f6e66696775726174696f6e2e204f2831292c20436f646563204f2846299c202d204f6e652062616c616e63652063616c6c20746f20756e72657365727665642e204f28582934202d204f6e65206576656e742e006c20546f74616c20436f6d706c65786974793a204f2846202b205829302023203c2f7765696768743e4063616e63656c5f7265636f7665726564041c6163636f756e7430543a3a4163636f756e7449642ce02043616e63656c20746865206162696c69747920746f20757365206061735f7265636f76657265646020666f7220606163636f756e74602e00150120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207265676973746572656420746fe82062652061626c6520746f206d616b652063616c6c73206f6e20626568616c66206f6620746865207265636f7665726564206163636f756e742e003020506172616d65746572733a1901202d20606163636f756e74603a20546865207265636f7665726564206163636f756e7420796f75206172652061626c6520746f2063616c6c206f6e2d626568616c662d6f662e002c2023203c7765696768743e1101202d204f6e652073746f72616765206d75746174696f6e20746f20636865636b206163636f756e74206973207265636f7665726564206279206077686f602e204f283129302023203c2f7765696768743e01183c5265636f766572794372656174656404244163636f756e74496404dc2041207265636f766572792070726f6365737320686173206265656e2073657420757020666f7220616e205c5b6163636f756e745c5d2e445265636f76657279496e6974696174656408244163636f756e744964244163636f756e744964082d012041207265636f766572792070726f6365737320686173206265656e20696e6974696174656420666f72206c6f7374206163636f756e742062792072657363756572206163636f756e742e48205c5b6c6f73742c20726573637565725c5d3c5265636f76657279566f75636865640c244163636f756e744964244163636f756e744964244163636f756e744964085d012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20766f756368656420666f722062792073656e6465722e68205c5b6c6f73742c20726573637565722c2073656e6465725c5d385265636f76657279436c6f73656408244163636f756e744964244163636f756e7449640821012041207265636f766572792070726f6365737320666f72206c6f7374206163636f756e742062792072657363756572206163636f756e7420686173206265656e20636c6f7365642e48205c5b6c6f73742c20726573637565725c5d404163636f756e745265636f766572656408244163636f756e744964244163636f756e744964080501204c6f7374206163636f756e7420686173206265656e207375636365737366756c6c79207265636f76657265642062792072657363756572206163636f756e742e48205c5b6c6f73742c20726573637565725c5d3c5265636f7665727952656d6f76656404244163636f756e74496404e02041207265636f766572792070726f6365737320686173206265656e2072656d6f76656420666f7220616e205c5b6163636f756e745c5d2e1044436f6e6669674465706f736974426173653042616c616e63654f663c543e4000406352bfc60100000000000000000010550120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a65206973a8206032202b2073697a656f6628426c6f636b4e756d6265722c2042616c616e636529602062797465732e4c467269656e644465706f736974466163746f723042616c616e63654f663c543e4000203d88792d000000000000000000000c69012054686520616d6f756e74206f662063757272656e6379206e656564656420706572206164646974696f6e616c2075736572207768656e206372656174696e672061207265636f7665727920636f6e66696775726174696f6e2e00690120546869732069732068656c6420666f7220616464696e67206073697a656f66284163636f756e7449642960206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e284d6178467269656e64730c753136080900040d0120546865206d6178696d756d20616d6f756e74206f6620667269656e647320616c6c6f77656420696e2061207265636f7665727920636f6e66696775726174696f6e2e3c5265636f766572794465706f7369743042616c616e63654f663c543e4000406352bfc6010000000000000000001c1d0120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72207374617274696e672061207265636f766572792e0035012054686973206973207072696d6172696c792068656c6420666f7220646574657272696e67206d616c6963696f7573207265636f7665727920617474656d7074732c20616e642073686f756c642901206861766520612076616c7565206c6172676520656e6f7567682074686174206120626164206163746f7220776f756c642063686f6f7365206e6f7420746f20706c61636520746869732901206465706f7369742e20497420616c736f206163747320746f2066756e64206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069734101206073697a656f6628426c6f636b4e756d6265722c2042616c616e6365202b2054202a204163636f756e74496429602062797465732e2057686572652054206973206120636f6e666967757261626c652c207468726573686f6c642e40284e6f74416c6c6f77656404f42055736572206973206e6f7420616c6c6f77656420746f206d616b6520612063616c6c206f6e20626568616c66206f662074686973206163636f756e74345a65726f5468726573686f6c640490205468726573686f6c64206d7573742062652067726561746572207468616e207a65726f404e6f74456e6f756768467269656e647304d420467269656e6473206c697374206d7573742062652067726561746572207468616e207a65726f20616e64207468726573686f6c64284d6178467269656e647304ac20467269656e6473206c697374206d757374206265206c657373207468616e206d617820667269656e6473244e6f74536f7274656404cc20467269656e6473206c697374206d75737420626520736f7274656420616e642066726565206f66206475706c696361746573384e6f745265636f76657261626c6504a02054686973206163636f756e74206973206e6f742073657420757020666f72207265636f7665727948416c72656164795265636f76657261626c6504b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f7665727938416c72656164795374617274656404e02041207265636f766572792070726f636573732068617320616c7265616479207374617274656420666f722074686973206163636f756e74284e6f745374617274656404d02041207265636f766572792070726f6365737320686173206e6f74207374617274656420666f7220746869732072657363756572244e6f74467269656e6404ac2054686973206163636f756e74206973206e6f74206120667269656e642077686f2063616e20766f7563682c44656c6179506572696f64041d012054686520667269656e64206d757374207761697420756e74696c207468652064656c617920706572696f6420746f20766f75636820666f722074686973207265636f7665727938416c7265616479566f756368656404c0205468697320757365722068617320616c726561647920766f756368656420666f722074686973207265636f76657279245468726573686f6c6404ec20546865207468726573686f6c6420666f72207265636f766572696e672074686973206163636f756e7420686173206e6f74206265656e206d65742c5374696c6c41637469766504010120546865726520617265207374696c6c20616374697665207265636f7665727920617474656d7074732074686174206e65656420746f20626520636c6f73656430416c726561647950726f787904b02054686973206163636f756e7420697320616c72656164792073657420757020666f72207265636f76657279204261645374617465047c20536f6d6520696e7465726e616c2073746174652069732062726f6b656e2e1b1c56657374696e67011c56657374696e67041c56657374696e6700010230543a3a4163636f756e744964a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e011010766573740034bc20556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e00610120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c68206c6f636b656420756e64657220746869732070616c6c65742e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20322052656164732c203220577269746573fc20202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d010120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d302023203c2f7765696768743e28766573745f6f7468657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653cbc20556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501202d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c68206c6f636b656420756e64657220746869732070616c6c65742e00d420456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c203320577269746573f420202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f820202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74302023203c2f7765696768743e3c7665737465645f7472616e7366657208187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e406820437265617465206120766573746564207472616e736665722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e001501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20332052656164732c2033205772697465733d0120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d410120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d302023203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365207363686564756c65a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e446420466f726365206120766573746564207472616e736665722e00c820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00ec202d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e1501202d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732e0101202d2060616d6f756e74603a2054686520616d6f756e74206f662066756e647320746f207472616e7366657220616e642077696c6c206265207665737465642ef4202d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e006020456d697473206056657374696e6743726561746564602e002c2023203c7765696768743e28202d20604f283129602e78202d2044625765696768743a20342052656164732c203420577269746573350120202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74390120202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e74302023203c2f7765696768743e01083856657374696e675570646174656408244163636f756e7449641c42616c616e63650c59012054686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e646963617465206d6f72652066756e64732061726520617661696c61626c652e2054686519012062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e58205c5b6163636f756e742c20756e7665737465645c5d4056657374696e67436f6d706c6574656404244163636f756e744964041d0120416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e204e6f20667572746865722076657374696e672063616e2068617070656e2e04444d696e5665737465645472616e736665723042616c616e63654f663c543e400000c16ff2862300000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e0c284e6f7456657374696e67048820546865206163636f756e7420676976656e206973206e6f742076657374696e672e5c4578697374696e6756657374696e675363686564756c65045d0120416e206578697374696e672076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e7420746861742063616e6e6f7420626520636c6f6262657265642e24416d6f756e744c6f7704090120416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e1c245363686564756c657201245363686564756c65720c184167656e646101010538543a3a426c6f636b4e756d62657271015665633c4f7074696f6e3c5363686564756c65643c3c5420617320436f6e6669673e3a3a43616c6c2c20543a3a426c6f636b4e756d6265722c20543a3a0a50616c6c6574734f726967696e2c20543a3a4163636f756e7449643e3e3e000400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001051c5665633c75383e6c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e0118207363686564756c6510107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e287420416e6f6e796d6f75736c79207363686564756c652061207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7390202d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64615020202020202d2057726974653a204167656e64613d01202d2057696c6c20757365206261736520776569676874206f662032352077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e1863616e63656c08107768656e38543a3a426c6f636b4e756d62657214696e6465780c75333228982043616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64617020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f6e616d6564140869641c5665633c75383e107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e285c205363686564756c652061206e616d6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c738c202d2042617365205765696768743a2032392e36202b202e313539202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704d01202d2057696c6c20757365206261736520776569676874206f662033352077686963682073686f756c6420626520676f6f6420666f72206d6f7265207468616e203330207363686564756c65642063616c6c73302023203c2f7765696768743e3063616e63656c5f6e616d6564040869641c5665633c75383e287c2043616e63656c2061206e616d6564207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f61667465721014616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e14ac20416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002c2023203c7765696768743e582053616d65206173205b607363686564756c65605d2e302023203c2f7765696768743e507363686564756c655f6e616d65645f6166746572140869641c5665633c75383e14616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e1494205363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002c2023203c7765696768743e702053616d65206173205b607363686564756c655f6e616d6564605d2e302023203c2f7765696768743e010c245363686564756c6564082c426c6f636b4e756d6265720c7533320494205363686564756c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d2043616e63656c6564082c426c6f636b4e756d6265720c75333204902043616e63656c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d28446973706174636865640c605461736b416464726573733c426c6f636b4e756d6265723e3c4f7074696f6e3c5665633c75383e3e384469737061746368526573756c7404ac204469737061746368656420736f6d65207461736b2e205c5b7461736b2c2069642c20726573756c745c5d0010404661696c6564546f5363686564756c650468204661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e6404802043616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e5061737404a820476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e676504f42052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e1d1450726f7879011450726f7879081c50726f7869657301010530543a3a4163636f756e744964a50128426f756e6465645665633c50726f7879446566696e6974696f6e3c543a3a4163636f756e7449642c20543a3a50726f7879547970652c20543a3a0a20426c6f636b4e756d6265723e2c20543a3a4d617850726f786965732c3e2c2042616c616e63654f663c543e29004400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e747301010530543a3a4163636f756e744964a10128426f756e6465645665633c416e6e6f756e63656d656e743c543a3a4163636f756e7449642c2043616c6c486173684f663c543e2c20543a3a0a20426c6f636b4e756d6265723e2c20543a3a4d617850656e64696e672c3e2c2042616c616e63654f663c543e2c290044000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01281470726f78790c107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e3c51012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e246164645f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d62657234490120526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1501202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792e0101202d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e5101202d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c7920626518207a65726f2e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3072656d6f76655f70726f78790c2064656c656761746530543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d6265722cac20556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a2901202d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e4501202d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e3872656d6f76655f70726f786965730028b820556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901205741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e747320637265617465642062792060616e6f6e796d6f7573602c20686f776576657220696620646f6e652c207468656e5d012074686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e24616e6f6e796d6f75730c2870726f78795f7479706530543a3a50726f7879547970651464656c617938543a3a426c6f636b4e756d62657214696e6465780c7531365c3d0120537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64010120696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e0070205265717569726573206120605369676e656460206f726967696e2e005501202d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468655101206e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f7c20616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e5501202d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d656101207472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a757374442077616e7420746f20757365206030602e5101202d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c7920626518207a65726f2e005501204661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659c2073616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e8204661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e9020544f444f3a204d69676874206265206f76657220636f756e74696e6720312072656164386b696c6c5f616e6f6e796d6f7573141c737061776e657230543a3a4163636f756e7449642870726f78795f7479706530543a3a50726f78795479706514696e6465780c753136186865696768745c436f6d706163743c543a3a426c6f636b4e756d6265723e246578745f696e64657830436f6d706163743c7533323e50b82052656d6f76657320612070726576696f75736c7920737061776e656420616e6f6e796d6f75732070726f78792e004d01205741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c2062653820696e61636365737369626c652e005d01205265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746fac2060616e6f6e796d6f757360207769746820636f72726573706f6e64696e6720706172616d65746572732e005101202d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060616e6f6e796d6f75736020746f206372656174652074686973206163636f756e742e5101202d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e2050726f6261626c79206030602e0501202d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e4101202d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e4d01202d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e004d01204661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c79206372656174656420616e6f6e796d6f7573f4206163636f756e742077686f73652060616e6f6e796d6f7573602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e002c2023203c7765696768743e01012057656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e302023203c2f7765696768743e20616e6e6f756e636508107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e540901205075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e0061012054686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d707465642901206966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e001501204e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000d0120546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c2061731d012060416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656d6f76655f616e6e6f756e63656d656e7408107265616c30543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40742052656d6f7665206120676976656e20616e6e6f756e63656d656e742e005d01204d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e3420746865206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e1901202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e4c72656a6563745f616e6e6f756e63656d656e74082064656c656761746530543a3a4163636f756e7449642463616c6c5f686173683443616c6c486173684f663c543e40b42052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e006501204d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c656761746573290120286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733af8202d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ec0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e3c70726f78795f616e6e6f756e636564102064656c656761746530543a3a4163636f756e744964107265616c30543a3a4163636f756e74496440666f7263655f70726f78795f74797065504f7074696f6e3c543a3a50726f7879547970653e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e4451012044697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f7567683420606164645f70726f7879602e00ac2052656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003020506172616d65746572733a1101202d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e6501202d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed4202d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002c2023203c7765696768743e642057656967687420697320612066756e6374696f6e206f663a9c202d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea4202d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e302023203c2f7765696768743e010c3450726f7879457865637574656404384469737061746368526573756c7404ec20412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e205c5b726573756c745c5d2e40416e6f6e796d6f75734372656174656410244163636f756e744964244163636f756e7449642450726f7879547970650c75313608ec20416e6f6e796d6f7573206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e690120646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e205c5b616e6f6e796d6f75732c2077686f2c2070726f78795f747970652c20646973616d626967756174696f6e5f696e6465785c5d24416e6e6f756e6365640c244163636f756e744964244163636f756e744964104861736804510120416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e205c5b7265616c2c2070726f78792c2063616c6c5f686173685c5d184050726f78794465706f736974426173653042616c616e63654f663c543e4000f09e544c390000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f723042616c616e63654f663c543e400060aa7714b40000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00690120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f2061207072652d6578697374696e6761012073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b6520696e746f206163636f756e74c020603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965730c753332102000000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e670c753332102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f736974426173653042616c616e63654f663c543e4000f09e544c39000000000000000000000c310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00690120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c79203136206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f723042616c616e63654f663c543e4000c054ef28680100000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e201c546f6f4d616e790425012054686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e6404782050726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f787904d02053656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c6504250120412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650470204163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e0419012043616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e63656404d420416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f787904682043616e6e6f74206164642073656c662061732070726f78792e1e204d756c746973696701204d756c746973696708244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e1443616c6c73000106205b75383b2033325da0284f706171756543616c6c2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e290004000001105061735f6d756c74695f7468726573686f6c645f3108446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e1063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e40550120496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e004101202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f66207468650501206d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00bc20526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e002c2023203c7765696768743e1d01204f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d48202d204442205765696768743a204e6f6e654c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e2061735f6d756c746918247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c284f706171756543616c6c2873746f72655f63616c6c10626f6f6c286d61785f77656967687418576569676874b8590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a250120202020202d2052656164733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c6029290120202020202d205772697465733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c60294c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e40617070726f76655f61735f6d756c746914247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d286d61785f7765696768741857656967687490590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743abc20202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745dc020202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d6859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a190120202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c731d0120202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c73302023203c2f7765696768743e01102c4e65774d756c74697369670c244163636f756e744964244163636f756e7449642043616c6c48617368041d012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e205c5b617070726f76696e672c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967417070726f76616c10244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c4861736808cc2041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652eb8205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967457865637574656414244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c48617368384469737061746368526573756c740459012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d444d756c746973696743616e63656c6c656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c486173680461012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e205c5b63616e63656c6c696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d0c2c4465706f736974426173653042616c616e63654f663c543e4000f01c0adbed0100000000000000000018710120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f2073746f72656c20612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f723042616c616e63654f663c543e400000cc7b9fae000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f726965730c75313608640004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e38404d696e696d756d5468726573686f6c640480205468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f7704d420546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f72656404a420546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e1f20426f756e7469657301205472656173757279102c426f756e7479436f756e7401002c426f756e7479496e646578100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e746965730001052c426f756e7479496e646578c8426f756e74793c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e000400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e730001052c426f756e7479496e6465781c5665633c75383e000400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c730100405665633c426f756e7479496e6465783e040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e01243870726f706f73655f626f756e7479081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c6465736372697074696f6e1c5665633c75383e30582050726f706f73652061206e657720626f756e74792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c20617355012060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e2049742077696c6c20626520756e72657365727665642075706f6e20617070726f76616c2c68206f7220736c6173686564207768656e2072656a65637465642e00fc202d206063757261746f72603a205468652063757261746f72206163636f756e742077686f6d2077696c6c206d616e616765207468697320626f756e74792e68202d2060666565603a205468652063757261746f72206665652e2901202d206076616c7565603a2054686520746f74616c207061796d656e7420616d6f756e74206f66207468697320626f756e74792c2063757261746f722066656520696e636c756465642ec4202d20606465736372697074696f6e603a20546865206465736372697074696f6e206f66207468697320626f756e74792e38617070726f76655f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e20610120417070726f7665206120626f756e74792070726f706f73616c2e2041742061206c617465722074696d652c2074686520626f756e74792077696c6c2062652066756e64656420616e64206265636f6d6520616374697665ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e3c70726f706f73655f63757261746f720c24626f756e74795f696450436f6d706163743c426f756e7479496e6465783e1c63757261746f728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650c66656554436f6d706163743c42616c616e63654f663c543e3e1c942041737369676e20612063757261746f7220746f20612066756e64656420626f756e74792e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e40756e61737369676e5f63757261746f720424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e488020556e61737369676e2063757261746f722066726f6d206120626f756e74792e00210120546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656420627920746865206052656a6563744f726967696e602061207369676e6564206f726967696e2e00690120496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e602c20776520617373756d652074686174207468652063757261746f72206973206d616c6963696f75730d01206f7220696e6163746976652e204173206120726573756c742c2077652077696c6c20736c617368207468652063757261746f72207768656e20706f737369626c652e00650120496620746865206f726967696e206973207468652063757261746f722c2077652074616b6520746869732061732061207369676e20746865792061726520756e61626c6520746f20646f207468656972206a6f6220616e64610120746865792077696c6c696e676c7920676976652075702e20576520636f756c6420736c617368207468656d2c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f207265636f7665722074686569723901206465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966206974206973206162757365642e290061012046696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e6520696620616e64206f6e6c79206966207468652063757261746f722069732022696e616374697665222e205468697320616c6c6f7773650120616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f7574207468617420612063757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e643d012077652073686f756c64207069636b2061206e65772063757261746f722e20496e20746869732063617365207468652063757261746f722073686f756c6420616c736f20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e386163636570745f63757261746f720424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e209820416363657074207468652063757261746f7220726f6c6520666f72206120626f756e74792e2d012041206465706f7369742077696c6c2062652072657365727665642066726f6d2063757261746f7220616e6420726566756e642075706f6e207375636365737366756c207061796f75742e0094204d6179206f6e6c792062652063616c6c65642066726f6d207468652063757261746f722e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e3061776172645f626f756e74790824626f756e74795f696450436f6d706163743c426f756e7479496e6465783e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528990120417761726420626f756e747920746f20612062656e6566696369617279206163636f756e742e205468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647320616674657220612064656c61792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f2061776172642e1d01202d206062656e6566696369617279603a205468652062656e6566696369617279206163636f756e742077686f6d2077696c6c207265636569766520746865207061796f75742e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e30636c61696d5f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e24f020436c61696d20746865207061796f75742066726f6d20616e206177617264656420626f756e7479206166746572207061796f75742064656c61792e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652062656e6566696369617279206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f20636c61696d2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e30636c6f73655f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e283d012043616e63656c20612070726f706f736564206f722061637469766520626f756e74792e20416c6c207468652066756e64732077696c6c2062652073656e7420746f20747265617375727920616e64d0207468652063757261746f72206465706f7369742077696c6c20626520756e726573657276656420696620706f737369626c652e00cc204f6e6c792060543a3a52656a6563744f726967696e602069732061626c6520746f2063616e63656c206120626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f2063616e63656c2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e50657874656e645f626f756e74795f6578706972790824626f756e74795f696450436f6d706163743c426f756e7479496e6465783e1c5f72656d61726b1c5665633c75383e28b020457874656e6420746865206578706972792074696d65206f6620616e2061637469766520626f756e74792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f20657874656e642e90202d206072656d61726b603a206164646974696f6e616c20696e666f726d6174696f6e2e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e011c38426f756e747950726f706f736564042c426f756e7479496e646578047c204e657720626f756e74792070726f706f73616c2e205c5b696e6465785c5d38426f756e747952656a6563746564082c426f756e7479496e6465781c42616c616e6365041101204120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205c5b696e6465782c20626f6e645c5d48426f756e7479426563616d65416374697665042c426f756e7479496e64657804e4204120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e205c5b696e6465785c5d34426f756e747941776172646564082c426f756e7479496e646578244163636f756e74496404f4204120626f756e7479206973206177617264656420746f20612062656e65666963696172792e205c5b696e6465782c2062656e65666963696172795c5d34426f756e7479436c61696d65640c2c426f756e7479496e6465781c42616c616e6365244163636f756e744964040d01204120626f756e747920697320636c61696d65642062792062656e65666963696172792e205c5b696e6465782c207061796f75742c2062656e65666963696172795c5d38426f756e747943616e63656c6564042c426f756e7479496e6465780484204120626f756e74792069732063616e63656c6c65642e205c5b696e6465785c5d38426f756e7479457874656e646564042c426f756e7479496e646578049c204120626f756e74792065787069727920697320657874656e6465642e205c5b696e6465785c5d1c48446174614465706f736974506572427974653042616c616e63654f663c543e400010a5d4e8000000000000000000000004fc2054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e20626f756e7479206465736372697074696f6e2e44426f756e74794465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c617938543a3a426c6f636b4e756d6265721080700000045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e48426f756e7479557064617465506572696f6438543a3a426c6f636b4e756d6265721000270600046c20426f756e7479206475726174696f6e20696e20626c6f636b732e50426f756e747943757261746f724465706f7369741c5065726d696c6c1020a10700046d012050657263656e74616765206f66207468652063757261746f722066656520746861742077696c6c20626520726573657276656420757066726f6e74206173206465706f73697420666f7220626f756e74792063757261746f722e48426f756e747956616c75654d696e696d756d3042616c616e63654f663c543e4000406352bfc6010000000000000000000470204d696e696d756d2076616c756520666f72206120626f756e74792e4c4d6178696d756d526561736f6e4c656e6774680c75333210004000000488204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e2470496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e6465780494204e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e40556e657870656374656453746174757304842054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720460205265717569726520626f756e74792063757261746f722e30496e76616c696456616c7565045820496e76616c696420626f756e74792076616c75652e28496e76616c6964466565045020496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740870204120626f756e7479207061796f75742069732070656e64696e672efc20546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e245072656d61747572650449012054686520626f756e746965732063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e201054697073012054726561737572790810546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e0118387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173c02060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743ecc202d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e942020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e2774202d20446252656164733a2060526561736f6e73602c2060546970736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960dc2020202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e90202d20446252656164733a206054697073602c20606f726967696e206163636f756e7460c0202d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e7460302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c756554436f6d706163743c42616c616e63654f663c543e3e58f4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e5501202d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732ec02020202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e6774682060546009012020202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e0d0120202020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ee42020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e6774682060526080202d20446252656164733a206054697070657273602c2060526561736f6e736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c756554436f6d706163743c42616c616e63654f663c543e3e64b4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e15012020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e00610120202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d4202020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e74202d20446252656164733a206054697070657273602c206054697073604c202d2044625772697465733a20605469707360302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368446020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e9c2020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602eac202d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260dc202d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e64657260302023203c2f7765696768743e24736c6173685f7469700410686173681c543a3a4861736830982052656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f8204173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e008820456d6974732060546970536c617368656460206966207375636365737366756c2e002c2023203c7765696768743e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e302023203c2f7765696768743e0114184e657754697004104861736804cc2041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e205c5b7469705f686173685c5d28546970436c6f73696e670410486173680411012041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e205c5b7469705f686173685c5d24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504f02041207469702073756767657374696f6e20686173206265656e20636c6f7365642e205c5b7469705f686173682c2077686f2c207061796f75745c5d3054697052657472616374656404104861736804c82041207469702073756767657374696f6e20686173206265656e207265747261637465642e205c5b7469705f686173685c5d28546970536c61736865640c1048617368244163636f756e7449641c42616c616e63650405012041207469702073756767657374696f6e20686173206265656e20736c61736865642e205c5b7469705f686173682c2066696e6465722c206465706f7369745c5d1430546970436f756e74646f776e38543a3a426c6f636b4e756d62657210807000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e48446174614465706f736974506572427974653042616c616e63654f663c543e400010a5d4e800000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e4c4d6178696d756d526561736f6e4c656e6774680c75333210004000000488204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e1830526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e211841737365747301184173736574731014417373657400010228543a3a41737365744964f8417373657444657461696c733c543a3a42616c616e63652c20543a3a4163636f756e7449642c204465706f73697442616c616e63654f663c542c20493e3e00040004542044657461696c73206f6620616e2061737365742e1c4163636f756e7401020228543a3a4173736574496430543a3a4163636f756e74496488417373657442616c616e63653c543a3a42616c616e63652c20543a3a45787472613e02280000000000000000000004e420546865206e756d626572206f6620756e697473206f66206173736574732068656c6420627920616e7920676976656e206163636f756e742e24417070726f76616c7300030c28543a3a4173736574496430543a3a4163636f756e74496430543a3a4163636f756e7449640c020202b0417070726f76616c3c543a3a42616c616e63652c204465706f73697442616c616e63654f663c542c20493e3e04000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d6574616461746101010228543a3a41737365744964190141737365744d657461646174613c4465706f73697442616c616e63654f663c542c20493e2c20426f756e6465645665633c75382c20543a3a537472696e674c696d69743e0a3e005000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e015c186372656174650c0869644c436f6d706163743c543a3a417373657449643e1461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c6d696e5f62616c616e636528543a3a42616c616e63654cec2049737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e0029012054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e00290120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d75737420686176652073756666696369656e742066756e647320667265652e00c02046756e6473206f662073656e64657220617265207265736572766564206279206041737365744465706f736974602e003020506172616d65746572733a5d01202d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966794c20616e206578697374696e672061737365742e5d01202d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f662065616368a0206d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e009c20456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f2831296030666f7263655f637265617465100869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653469735f73756666696369656e7410626f6f6c2c6d696e5f62616c616e63654c436f6d706163743c543a3a42616c616e63653e4cfc2049737375652061206e657720636c617373206f662066756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b82054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a820546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e00a020556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e005d01202d20606964603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e2075736520746f206964656e746966794c20616e206578697374696e672061737365742e5d01202d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e737d01206f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e6720607472616e736665725f6f776e657273686970604020616e6420607365745f7465616d602e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e00b020456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f283129601c64657374726f79080869644c436f6d706163743c543a3a417373657449643e1c7769746e6573733844657374726f795769746e65737348902044657374726f79206120636c617373206f662066756e6769626c65206173736574732e00590120546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686564206f776e6572206f662074686520617373657420606964602e005101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652064657374726f7965642e2054686973206d757374206964656e7469667920616e206578697374696e671c2061737365742e00a420456d697473206044657374726f79656460206576656e74207768656e207375636365737366756c2e004901204e4f54453a2049742063616e2062652068656c7066756c20746f20666972737420667265657a6520616e206173736574206265666f72652064657374726f79696e6720697420736f207468617420796f754d012063616e2070726f76696465206163637572617465207769746e65737320696e666f726d6174696f6e20616e642070726576656e742075736572732066726f6d206d616e6970756c6174696e67207374617465b420696e20612077617920746861742063616e206d616b652069742068617264657220746f2064657374726f792e0078205765696768743a20604f2863202b2070202b206129602077686572653ac4202d206063203d20287769746e6573732e6163636f756e7473202d207769746e6573732e73756666696369656e7473296070202d206073203d207769746e6573732e73756666696369656e74736068202d206061203d207769746e6573732e617070726f76616c7360106d696e740c0869644c436f6d706163743c543a3a417373657449643e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e308c204d696e7420617373657473206f66206120706172746963756c617220636c6173732e003d0120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f662074686520617373657420606964602e000101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206d696e7465642e1101202d206062656e6566696369617279603a20546865206163636f756e7420746f206265206372656469746564207769746820746865206d696e746564206173736574732ec8202d2060616d6f756e74603a2054686520616d6f756e74206f662074686520617373657420746f206265206d696e7465642e009820456d697473206049737375656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f283129605901204d6f6465733a205072652d6578697374696e672062616c616e6365206f66206062656e6566696369617279603b204163636f756e74207072652d6578697374656e6365206f66206062656e6566696369617279602e106275726e0c0869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e3c490120526564756365207468652062616c616e6365206f66206077686f60206279206173206d75636820617320706f737369626c6520757020746f2060616d6f756e746020617373657473206f6620606964602e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204d616e61676572206f662074686520617373657420606964602e00dc204261696c732077697468206042616c616e63655a65726f6020696620746865206077686f6020697320616c726561647920646561642e000101202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74206275726e65642ea4202d206077686f603a20546865206163636f756e7420746f20626520646562697465642066726f6d2e2d01202d2060616d6f756e74603a20546865206d6178696d756d20616d6f756e74206279207768696368206077686f6027732062616c616e63652073686f756c6420626520726564756365642e00550120456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e20496620746869732074616b6573207468652062616c616e636520746f2062656c6f77207468653d01206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74206275726e656420697320696e6372656173656420746f2074616b6520697420746f207a65726f2e003c205765696768743a20604f283129600d01204d6f6465733a20506f73742d6578697374656e6365206f66206077686f603b20507265202620706f7374205a6f6d6269652d737461747573206f66206077686f602e207472616e736665720c0869644c436f6d706163743c543a3a417373657449643e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e48d4204d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e005c204f726967696e206d757374206265205369676e65642e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642ea0202d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e5501202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64650120607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e6101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77c020746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605501204d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f66282060746172676574602e4c7472616e736665725f6b6565705f616c6976650c0869644c436f6d706163743c543a3a417373657449643e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e485d01204d6f766520736f6d65206173736574732066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722c206b656570696e67207468652073656e646572206163636f756e7420616c6976652e005c204f726967696e206d757374206265205369676e65642e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642ea0202d2060746172676574603a20546865206163636f756e7420746f2062652063726564697465642e5501202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652073656e64657227732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e64650120607461726765746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e6101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652073656e6465722062616c616e63652061626f7665207a65726f206275742062656c6f77c020746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605501204d6f6465733a205072652d6578697374656e6365206f662060746172676574603b20506f73742d6578697374656e6365206f662073656e6465723b204163636f756e74207072652d6578697374656e6365206f66282060746172676574602e38666f7263655f7472616e73666572100869644c436f6d706163743c543a3a417373657449643e18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e4cb8204d6f766520736f6d65206173736574732066726f6d206f6e65206163636f756e7420746f20616e6f746865722e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e001501202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206861766520736f6d6520616d6f756e74207472616e736665727265642e9c202d2060736f75726365603a20546865206163636f756e7420746f20626520646562697465642e98202d206064657374603a20546865206163636f756e7420746f2062652063726564697465642e5d01202d2060616d6f756e74603a2054686520616d6f756e74206279207768696368207468652060736f757263656027732062616c616e6365206f66206173736574732073686f756c64206265207265647563656420616e645d012060646573746027732062616c616e636520696e637265617365642e2054686520616d6f756e742061637475616c6c79207472616e73666572726564206d617920626520736c696768746c79206772656174657220696e5101207468652063617365207468617420746865207472616e7366657220776f756c64206f74686572776973652074616b65207468652060736f75726365602062616c616e63652061626f7665207a65726f20627574d82062656c6f7720746865206d696e696d756d2062616c616e63652e204d7573742062652067726561746572207468616e207a65726f2e00650120456d69747320605472616e73666572726564602077697468207468652061637475616c20616d6f756e74207472616e736665727265642e20496620746869732074616b65732074686520736f757263652062616c616e6365610120746f2062656c6f7720746865206d696e696d756d20666f72207468652061737365742c207468656e2074686520616d6f756e74207472616e7366657272656420697320696e6372656173656420746f2074616b652069742420746f207a65726f2e003c205765696768743a20604f283129605501204d6f6465733a205072652d6578697374656e6365206f66206064657374603b20506f73742d6578697374656e6365206f662060736f75726365603b204163636f756e74207072652d6578697374656e6365206f6620206064657374602e18667265657a65080869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528e420446973616c6c6f77206675727468657220756e70726976696c65676564207472616e73666572732066726f6d20616e206163636f756e742e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e8c202d206077686f603a20546865206163636f756e7420746f2062652066726f7a656e2e004020456d697473206046726f7a656e602e003c205765696768743a20604f283129601074686177080869644c436f6d706163743c543a3a417373657449643e0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636528d020416c6c6f7720756e70726976696c65676564207472616e73666572732066726f6d20616e206163636f756e7420616761696e2e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e94202d206077686f603a20546865206163636f756e7420746f20626520756e66726f7a656e2e004020456d6974732060546861776564602e003c205765696768743a20604f2831296030667265657a655f6173736574040869644c436f6d706163743c543a3a417373657449643e24f420446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f722074686520617373657420636c6173732e003901204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2e004020456d697473206046726f7a656e602e003c205765696768743a20604f2831296028746861775f6173736574040869644c436f6d706163743c543a3a417373657449643e24c820416c6c6f7720756e70726976696c65676564207472616e736665727320666f722074686520617373657420616761696e2e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f206265207468617765642e004020456d6974732060546861776564602e003c205765696768743a20604f28312960487472616e736665725f6f776e657273686970080869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652878204368616e676520746865204f776e6572206f6620616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742ea0202d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742e005820456d69747320604f776e65724368616e676564602e003c205765696768743a20604f28312960207365745f7465616d100869644c436f6d706163743c543a3a417373657449643e186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636530c8204368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00c8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f2062652066726f7a656e2ea8202d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742ea0202d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eb0202d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e005420456d69747320605465616d4368616e676564602e003c205765696768743a20604f28312960307365745f6d65746164617461100869644c436f6d706163743c543a3a417373657449643e106e616d651c5665633c75383e1873796d626f6c1c5665633c75383e20646563696d616c73087538407c2053657420746865206d6574616461746120666f7220616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00dc2046756e6473206f662073656e64657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a550120604d657461646174614465706f73697442617365202b204d657461646174614465706f73697450657242797465202a20286e616d652e6c656e202b2073796d626f6c2e6c656e29602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e00bc202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e5101202d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e5101202d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3101202d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e005420456d69747320604d65746164617461536574602e003c205765696768743a20604f2831296038636c6561725f6d65746164617461040869644c436f6d706163743c543a3a417373657449643e2c8420436c65617220746865206d6574616461746120666f7220616e2061737365742e003101204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f662074686520617373657420606964602e00a820416e79206465706f73697420697320667265656420666f7220746865206173736574206f776e65722e00b8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e006420456d69747320604d65746164617461436c6561726564602e003c205765696768743a20604f2831296048666f7263655f7365745f6d65746164617461140869644c436f6d706163743c543a3a417373657449643e106e616d651c5665633c75383e1873796d626f6c1c5665633c75383e20646563696d616c730875382469735f66726f7a656e10626f6f6c38bc20466f72636520746865206d6574616461746120666f7220616e20617373657420746f20736f6d652076616c75652e0070204f726967696e206d75737420626520466f7263654f726967696e2e006c20416e79206465706f736974206973206c65667420616c6f6e652e00bc202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f207570646174652e5101202d20606e616d65603a20546865207573657220667269656e646c79206e616d65206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e5101202d206073796d626f6c603a205468652065786368616e67652073796d626f6c20666f7220746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3101202d2060646563696d616c73603a20546865206e756d626572206f6620646563696d616c732074686973206173736574207573657320746f20726570726573656e74206f6e6520756e69742e005420456d69747320604d65746164617461536574602e005501205765696768743a20604f284e202b20532960207768657265204e20616e6420532061726520746865206c656e677468206f6620746865206e616d6520616e642073796d626f6c20726573706563746976656c792e50666f7263655f636c6561725f6d65746164617461040869644c436f6d706163743c543a3a417373657449643e2c8420436c65617220746865206d6574616461746120666f7220616e2061737365742e0070204f726967696e206d75737420626520466f7263654f726967696e2e006420416e79206465706f7369742069732072657475726e65642e00b8202d20606964603a20546865206964656e746966696572206f662074686520617373657420746f20636c6561722e006420456d69747320604d65746164617461436c6561726564602e003c205765696768743a20604f2831296048666f7263655f61737365745f737461747573200869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c6d696e5f62616c616e63654c436f6d706163743c543a3a42616c616e63653e3469735f73756666696369656e7410626f6f6c2469735f66726f7a656e10626f6f6c589c20416c746572207468652061747472696275746573206f66206120676976656e2061737365742e0078204f726967696e206d7573742062652060466f7263654f726967696e602e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742ea0202d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea8202d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742ea0202d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eb0202d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e5101202d20606d696e5f62616c616e6365603a20546865206d696e696d756d2062616c616e6365206f662074686973206e6577206173736574207468617420616e792073696e676c65206163636f756e74206d757374410120686176652e20496620616e206163636f756e7427732062616c616e636520697320726564756365642062656c6f7720746869732c207468656e20697420636f6c6c617073657320746f207a65726f2e5501202d206069735f73756666696369656e74603a20576865746865722061206e6f6e2d7a65726f2062616c616e6365206f662074686973206173736574206973206465706f736974206f662073756666696369656e7451012076616c756520746f206163636f756e7420666f722074686520737461746520626c6f6174206173736f6369617465642077697468206974732062616c616e63652073746f726167652e2049662073657420746f5901206074727565602c207468656e206e6f6e2d7a65726f2062616c616e636573206d61792062652073746f72656420776974686f757420612060636f6e73756d657260207265666572656e63652028616e642074687573510120616e20454420696e207468652042616c616e6365732070616c6c6574206f7220776861746576657220656c7365206973207573656420746f20636f6e74726f6c20757365722d6163636f756e74207374617465242067726f777468292e4101202d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e3820696e737472756374696f6e732e00ec20456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e003c205765696768743a20604f2831296040617070726f76655f7472616e736665720c0869644c436f6d706163743c543a3a417373657449643e2064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e50310120417070726f766520616e20616d6f756e74206f6620617373657420666f72207472616e7366657220627920612064656c6567617465642074686972642d7061727479206163636f756e742e005c204f726967696e206d757374206265205369676e65642e00510120456e737572657320746861742060417070726f76616c4465706f7369746020776f727468206f66206043757272656e6379602069732072657365727665642066726f6d207369676e696e67206163636f756e74590120666f722074686520707572706f7365206f6620686f6c64696e672074686520617070726f76616c2e20496620736f6d65206e6f6e2d7a65726f20616d6f756e74206f662061737365747320697320616c72656164794d0120617070726f7665642066726f6d207369676e696e67206163636f756e7420746f206064656c6567617465602c207468656e20697420697320746f70706564207570206f7220756e726573657276656420746f58206d656574207468652072696768742076616c75652e004901204e4f54453a20546865207369676e696e67206163636f756e7420646f6573206e6f74206e65656420746f206f776e2060616d6f756e7460206f66206173736574732061742074686520706f696e74206f6648206d616b696e6720746869732063616c6c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e1101202d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e736665722061737365742e4d01202d2060616d6f756e74603a2054686520616d6f756e74206f662061737365742074686174206d6179206265207472616e73666572726564206279206064656c6567617465602e204966207468657265206973e420616c726561647920616e20617070726f76616c20696e20706c6163652c207468656e207468697320616374732061646469746976656c792e009420456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e003c205765696768743a20604f283129603c63616e63656c5f617070726f76616c080869644c436f6d706163743c543a3a417373657449643e2064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365344d012043616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e004101204f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c616365206265747765656e207369676e657220616e6430206064656c6567617465602e004d0120556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e0901202d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e009820456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e003c205765696768743a20604f2831296054666f7263655f63616e63656c5f617070726f76616c0c0869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365344d012043616e63656c20616c6c206f6620736f6d6520617373657420617070726f76656420666f722064656c656761746564207472616e7366657220627920612074686972642d7061727479206163636f756e742e004d01204f726967696e206d7573742062652065697468657220466f7263654f726967696e206f72205369676e6564206f726967696e207769746820746865207369676e6572206265696e67207468652041646d696e6c206163636f756e74206f662074686520617373657420606964602e004d0120556e726573657276657320616e79206465706f7369742070726576696f75736c792072657365727665642062792060617070726f76655f7472616e736665726020666f722074686520617070726f76616c2e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e0901202d206064656c6567617465603a20546865206163636f756e742064656c656761746564207065726d697373696f6e20746f207472616e736665722061737365742e009820456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e003c205765696768743a20604f28312960447472616e736665725f617070726f766564100869644c436f6d706163743c543a3a417373657449643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c64657374696e6174696f6e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518616d6f756e744c436f6d706163743c543a3a42616c616e63653e485101205472616e7366657220736f6d652061737365742062616c616e63652066726f6d20612070726576696f75736c792064656c656761746564206163636f756e7420746f20736f6d652074686972642d706172747924206163636f756e742e004d01204f726967696e206d757374206265205369676e656420616e64207468657265206d75737420626520616e20617070726f76616c20696e20706c6163652062792074686520606f776e65726020746f2074686520207369676e65722e005d012049662074686520656e7469726520616d6f756e7420617070726f76656420666f72207472616e73666572206973207472616e736665727265642c207468656e20616e79206465706f7369742070726576696f75736c79b82072657365727665642062792060617070726f76655f7472616e736665726020697320756e72657365727665642e0094202d20606964603a20546865206964656e746966696572206f66207468652061737365742e6501202d20606f776e6572603a20546865206163636f756e742077686963682070726576696f75736c7920617070726f76656420666f722061207472616e73666572206f66206174206c656173742060616d6f756e746020616e64c02066726f6d207768696368207468652061737365742062616c616e63652077696c6c2062652077697468647261776e2e6501202d206064657374696e6174696f6e603a20546865206163636f756e7420746f207768696368207468652061737365742062616c616e6365206f662060616d6f756e74602077696c6c206265207472616e736665727265642eb8202d2060616d6f756e74603a2054686520616d6f756e74206f662061737365747320746f207472616e736665722e00a020456d69747320605472616e73666572726564417070726f76656460206f6e20737563636573732e003c205765696768743a20604f2831296001481c437265617465640c1c41737365744964244163636f756e744964244163636f756e74496404ec20536f6d6520617373657420636c6173732077617320637265617465642e205c5b61737365745f69642c2063726561746f722c206f776e65725c5d184973737565640c1c41737365744964244163636f756e7449641c42616c616e636504ec20536f6d65206173736574732077657265206973737565642e205c5b61737365745f69642c206f776e65722c20746f74616c5f737570706c795c5d2c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636504f420536f6d65206173736574732077657265207472616e736665727265642e205c5b61737365745f69642c2066726f6d2c20746f2c20616d6f756e745c5d184275726e65640c1c41737365744964244163636f756e7449641c42616c616e636504e420536f6d652061737365747320776572652064657374726f7965642e205c5b61737365745f69642c206f776e65722c2062616c616e63655c5d2c5465616d4368616e676564101c41737365744964244163636f756e744964244163636f756e744964244163636f756e74496404050120546865206d616e6167656d656e74207465616d206368616e676564205c5b61737365745f69642c206973737565722c2061646d696e2c20667265657a65725c5d304f776e65724368616e676564081c41737365744964244163636f756e744964049820546865206f776e6572206368616e676564205c5b61737365745f69642c206f776e65725c5d1846726f7a656e081c41737365744964244163636f756e74496404c420536f6d65206163636f756e74206077686f60207761732066726f7a656e2e205c5b61737365745f69642c2077686f5c5d18546861776564081c41737365744964244163636f756e74496404c420536f6d65206163636f756e74206077686f6020776173207468617765642e205c5b61737365745f69642c2077686f5c5d2c417373657446726f7a656e041c4173736574496404bc20536f6d65206173736574206061737365745f696460207761732066726f7a656e2e205c5b61737365745f69645c5d2c4173736574546861776564041c4173736574496404bc20536f6d65206173736574206061737365745f69646020776173207468617765642e205c5b61737365745f69645c5d2444657374726f796564041c41737365744964047820416e20617373657420636c617373207761732064657374726f7965642e30466f72636543726561746564081c41737365744964244163636f756e74496404e020536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e205c5b61737365745f69642c206f776e65725c5d2c4d65746164617461536574141c417373657449641c5665633c75383e1c5665633c75383e08753810626f6f6c046101204e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e205c5b61737365745f69642c206e616d652c2073796d626f6c2c20646563696d616c732c2069735f66726f7a656e5c5d3c4d65746164617461436c6561726564041c4173736574496404d4204d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e205c5b61737365745f69645c5d40417070726f7665645472616e73666572101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636508350120284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e9c205c5b61737365745f69642c20736f757263652c2064656c65676174652c20616d6f756e745c5d44417070726f76616c43616e63656c6c65640c1c41737365744964244163636f756e744964244163636f756e74496408f420416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e60205c5b69642c206f776e65722c2064656c65676174655c5d4c5472616e73666572726564417070726f766564141c41737365744964244163636f756e744964244163636f756e744964244163636f756e7449641c42616c616e63650c350120416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e60206279642074686520617070726f766564206064656c6567617465602e94205c5b69642c206f776e65722c2064656c65676174652c2064657374696e6174696f6e5c5d4841737365745374617475734368616e676564041c4173736574496408fc20416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e1c205c5b69645c5d00302842616c616e63654c6f77041901204163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e2c42616c616e63655a65726f04702042616c616e63652073686f756c64206265206e6f6e2d7a65726f2e304e6f5065726d697373696f6e04ec20546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e047c2054686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e047820546865206f726967696e206163636f756e742069732066726f7a656e2e14496e557365047c2054686520617373657420494420697320616c72656164792074616b656e2e284261645769746e657373047020496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0490204d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e284e6f50726f7669646572046501204e6f2070726f7669646572207265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742e2c4261644d65746164617461046020496e76616c6964206d6574616461746120676976656e2e28556e617070726f76656404c8204e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c644469650439012054686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e220c4d6d72014c4d65726b6c654d6f756e7461696e52616e67650c20526f6f74486173680100583c5420617320436f6e6669673c493e3e3a3a486173688000000000000000000000000000000000000000000000000000000000000000000458204c6174657374204d4d5220526f6f7420686173682e384e756d6265724f664c656176657301000c75363420000000000000000004b02043757272656e742073697a65206f6620746865204d4d5220286e756d626572206f66206c6561766573292e144e6f6465730001060c753634583c5420617320436f6e6669673c493e3e3a3a48617368000400108020486173686573206f6620746865206e6f64657320696e20746865204d4d522e002d01204e6f7465207468697320636f6c6c656374696f6e206f6e6c7920636f6e7461696e73204d4d52207065616b732c2074686520696e6e6572206e6f6465732028616e64206c656176657329bc20617265207072756e656420616e64206f6e6c792073746f72656420696e20746865204f6666636861696e2044422e00000000231c4c6f7474657279011c4c6f747465727918304c6f7474657279496e64657801000c7533321000000000001c4c6f74746572790000ac4c6f7474657279436f6e6669673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e3e040004ac2054686520636f6e66696775726174696f6e20666f72207468652063757272656e74206c6f74746572792e305061727469636970616e747301010530543a3a4163636f756e74496454287533322c205665633c43616c6c496e6465783e29001400000000000419012055736572732077686f2068617665207075726368617365642061207469636b65742e20284c6f747465727920496e6465782c205469636b6574732050757263686173656429305469636b657473436f756e7401000c7533321000000000047820546f74616c206e756d626572206f66207469636b65747320736f6c642e1c5469636b6574730001050c75333230543a3a4163636f756e74496400040010542045616368207469636b65742773206f776e65722e006101204d6179206861766520726573696475616c2073746f726167652066726f6d2070726576696f7573206c6f747465726965732e2055736520605469636b657473436f756e746020746f20736565207768696368206f6e657390206172652061637475616c6c792076616c6964207469636b6574206d617070696e67732e2c43616c6c496e64696365730100385665633c43616c6c496e6465783e0400083901205468652063616c6c732073746f72656420696e20746869732070616c6c657420746f206265207573656420696e20616e20616374697665206c6f747465727920696620636f6e666967757265646c2062792060436f6e6669673a3a56616c696461746543616c6c602e0110286275795f7469636b6574041063616c6c60426f783c3c5420617320436f6e6669673e3a3a43616c6c3e2c8c204275792061207469636b657420746f20656e74657220746865206c6f74746572792e00050120546869732065787472696e7369632061637473206173206120706173737468726f7567682066756e6374696f6e20666f72206063616c6c602e20496e20616c6c0d0120736974756174696f6e73207768657265206063616c6c6020616c6f6e6520776f756c6420737563636565642c20746869732065787472696e7369632073686f756c642420737563636565642e001101204966206063616c6c60206973207375636365737366756c2c207468656e2077652077696c6c20617474656d707420746f2070757263686173652061207469636b65742c1501207768696368206d6179206661696c2073696c656e746c792e20546f206465746563742073756363657373206f662061207469636b65742070757263686173652c20796f75b02073686f756c64206c697374656e20666f722074686520605469636b6574426f7567687460206576656e742e00c820546869732065787472696e736963206d7573742062652063616c6c65642062792061207369676e6564206f726967696e2e247365745f63616c6c73041463616c6c73605665633c3c5420617320436f6e6669673e3a3a43616c6c3e181501205365742063616c6c7320696e2073746f726167652077686963682063616e206265207573656420746f2070757263686173652061206c6f7474657279207469636b65742e00210120546869732066756e6374696f6e206f6e6c79206d61747465727320696620796f752075736520746865206056616c696461746543616c6c6020696d706c656d656e746174696f6e29012070726f766964656420627920746869732070616c6c65742c20776869636820757365732073746f7261676520746f2064657465726d696e65207468652076616c69642063616c6c732e00d420546869732065787472696e736963206d7573742062652063616c6c656420627920746865204d616e61676572206f726967696e2e3473746172745f6c6f7474657279101470726963653042616c616e63654f663c543e186c656e67746838543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d6265721872657065617410626f6f6c28c82053746172742061206c6f7474657279207573696e67207468652070726f766964656420636f6e66696775726174696f6e2e00d820546869732065787472696e736963206d7573742062652063616c6c65642062792074686520604d616e616765724f726967696e602e003020506172616d65746572733a00a0202a20607072696365603a2054686520636f7374206f6620612073696e676c65207469636b65742e3d01202a20606c656e677468603a20486f77206c6f6e6720746865206c6f74746572792073686f756c642072756e20666f72207374617274696e67206174207468652063757272656e7420626c6f636b2e4901202a206064656c6179603a20486f77206c6f6e6720616674657220746865206c6f747465727920656e642077652073686f756c642077616974206265666f7265207069636b696e6720612077696e6e65722ee4202a2060726570656174603a20496620746865206c6f74746572792073686f756c6420726570656174207768656e20636f6d706c657465642e2c73746f705f726570656174001001012049662061206c6f747465727920697320726570656174696e672c20796f752063616e20757365207468697320746f2073746f7020746865207265706561742ec020546865206c6f74746572792077696c6c20636f6e74696e756520746f2072756e20746f20636f6d706c6574696f6e2e00d820546869732065787472696e736963206d7573742062652063616c6c65642062792074686520604d616e616765724f726967696e602e0110384c6f7474657279537461727465640004702041206c6f747465727920686173206265656e2073746172746564213043616c6c73557064617465640004882041206e657720736574206f662063616c6c732068617665206265656e20736574211857696e6e657208244163636f756e7449641c42616c616e6365046820412077696e6e657220686173206265656e2063686f73656e21305469636b6574426f7567687408244163636f756e7449642443616c6c496e64657804682041207469636b657420686173206265656e20626f7567687421082050616c6c657449642050616c6c657449642070792f6c6f74746f046020546865204c6f747465727927732070616c6c6574206964204d617843616c6c730c753332100a00000004dc20546865206d6178206e756d626572206f662063616c6c7320617661696c61626c6520696e20612073696e676c65206c6f74746572792e1c344e6f74436f6e66696775726564048c2041206c6f747465727920686173206e6f74206265656e20636f6e666967757265642e28496e50726f677265737304882041206c6f747465727920697320616c726561647920696e2070726f67726573732e30416c7265616479456e64656404742041206c6f74746572792068617320616c726561647920656e6465642e2c496e76616c696443616c6c04ac205468652063616c6c206973206e6f742076616c696420666f7220616e206f70656e206c6f74746572792e50416c726561647950617274696369706174696e6704f420596f752061726520616c72656164792070617274696369706174696e6720696e20746865206c6f7474657279207769746820746869732063616c6c2e30546f6f4d616e7943616c6c73049420546f6f206d616e792063616c6c7320666f7220612073696e676c65206c6f74746572792e38456e636f64696e674661696c6564045c204661696c656420746f20656e636f64652063616c6c73241047696c74011047696c74102c5175657565546f74616c730100605665633c287533322c2042616c616e63654f663c543e293e04001461012054686520746f74616c73206f66206974656d7320616e642062616c616e6365732077697468696e20656163682071756575652e2053617665732061206c6f74206f662073746f7261676520726561647320696e20746865802063617365206f66207370617273656c79207061636b6564207175657565732e006d012054686520766563746f7220697320696e6465786564206279206475726174696f6e20696e2060506572696f6460732c206f6666736574206279206f6e652c20736f20696e666f726d6174696f6e206f6e20746865207175657565d42077686f7365206475726174696f6e206973206f6e652060506572696f646020776f756c642062652073746f72616765206030602e185175657565730101020c753332a05665633c47696c744269643c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e0004000439012054686520717565756573206f66206269647320726561647920746f206265636f6d652067696c74732e20496e6465786564206279206475726174696f6e2028696e2060506572696f646073292e2c416374697665546f74616c01007841637469766547696c7473546f74616c3c42616c616e63654f663c543e3e9000000000000000000000000000000000000000000000000000000000000000000000000004d020496e666f726d6174696f6e2072656c6174696e6720746f207468652067696c74732063757272656e746c79206163746976652e184163746976650001022c416374697665496e646578a50141637469766547696c743c42616c616e63654f663c543e2c3c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a4163636f756e7449642c3c0a54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d6265723e000400042101205468652063757272656e746c79206163746976652067696c74732c20696e6465786564206163636f7264696e6720746f20746865206f72646572206f66206372656174696f6e2e011024706c6163655f6269640818616d6f756e7454436f6d706163743c42616c616e63654f663c543e3e206475726174696f6e0c753332349420506c61636520612062696420666f7220612067696c7420746f206265206973737565642e004101204f726967696e206d757374206265205369676e65642c20616e64206163636f756e74206d7573742068617665206174206c656173742060616d6f756e746020696e20667265652062616c616e63652e003d01202d2060616d6f756e74603a2054686520616d6f756e74206f6620746865206269643b2074686573652066756e64732077696c6c2062652072657365727665642e20496620746865206269642069734101207375636365737366756c6c7920656c65766174656420696e746f20616e206973737565642067696c742c207468656e2074686573652066756e64732077696c6c20636f6e74696e756520746f206265fc20726573657276656420756e74696c207468652067696c7420657870697265732e204d757374206265206174206c6561737420604d696e467265657a65602e5901202d20606475726174696f6e603a20546865206e756d626572206f6620706572696f647320666f72207768696368207468652066756e64732077696c6c206265206c6f636b6564206966207468652067696c742069735d01206973737565642e2049742077696c6c20657870697265206f6e6c79206166746572207468697320706572696f642068617320656c61707365642061667465722074686520706f696e74206f662069737375616e63652ed8204d7573742062652067726561746572207468616e203120616e64206e6f206d6f7265207468616e20605175657565436f756e74602e003820436f6d706c657869746965733ab0202d20605175657565735b6475726174696f6e5d2e6c656e28296020286a7573742074616b65206d6178292e2c726574726163745f6269640818616d6f756e7454436f6d706163743c42616c616e63654f663c543e3e206475726174696f6e0c7533321c84205265747261637420612070726576696f75736c7920706c61636564206269642e006101204f726967696e206d757374206265205369676e65642c20616e6420746865206163636f756e742073686f756c6420686176652070726576696f75736c79206973737565642061207374696c6c2d6163746976652062696470206f662060616d6f756e746020666f7220606475726174696f6e602e00b0202d2060616d6f756e74603a2054686520616d6f756e74206f66207468652070726576696f7573206269642ec0202d20606475726174696f6e603a20546865206475726174696f6e206f66207468652070726576696f7573206269642e287365745f746172676574041874617267657450436f6d706163743c5065727175696e74696c6c3e189420536574207461726765742070726f706f7274696f6e206f662067696c742d66756e64732e0078204f726967696e206d757374206265206041646d696e4f726967696e602e005d01202d2060746172676574603a20546865207461726765742070726f706f7274696f6e206f6620656666656374697665206973737565642066756e647320746861742073686f756c6420626520756e6465722067696c74734420617420616e79206f6e652074696d652e10746861770414696e64657850436f6d706163743c416374697665496e6465783e1c59012052656d6f766520616e206163746976652062757420657870697265642067696c742e2052657365727665642066756e647320756e6465722067696c742061726520667265656420616e642062616c616e63652069735d012061646a757374656420746f20656e737572652074686174207468652066756e64732067726f77206f7220736872696e6b20746f206d61696e7461696e20746865206571756976616c656e742070726f706f7274696f6e84206f662065666665637469766520746f74616c206973737565642066756e64732e006101204f726967696e206d757374206265205369676e656420616e6420746865206163636f756e74206d75737420626520746865206f776e6572206f66207468652067696c74206f662074686520676976656e20696e6465782e00bc202d2060696e646578603a2054686520696e646578206f66207468652067696c7420746f206265207468617765642e011024426964506c616365640c244163636f756e7449643042616c616e63654f663c543e0c753332087c20412062696420776173207375636365737366756c6c7920706c616365642e70205c5b2077686f2c20616d6f756e742c206475726174696f6e205c5d304269645265747261637465640c244163636f756e7449643042616c616e63654f663c543e0c75333208090120412062696420776173207375636365737366756c6c792072656d6f76656420286265666f7265206265696e6720616363657074656420617320612067696c74292e70205c5b2077686f2c20616d6f756e742c206475726174696f6e205c5d2847696c74497373756564102c416374697665496e64657838543a3a426c6f636b4e756d626572244163636f756e7449643042616c616e63654f663c543e0831012041206269642077617320616363657074656420617320612067696c742e205468652062616c616e6365206d6179206e6f742062652072656c656173656420756e74696c206578706972792e84205c5b20696e6465782c206578706972792c2077686f2c20616d6f756e74205c5d2847696c74546861776564102c416374697665496e646578244163636f756e7449643042616c616e63654f663c543e3042616c616e63654f663c543e088420416e20657870697265642067696c7420686173206265656e207468617765642ed4205c5b20696e6465782c2077686f2c206f726967696e616c5f616d6f756e742c206164646974696f6e616c5f616d6f756e74205c5d1c285175657565436f756e740c753332102c010000085d01204e756d626572206f66206475726174696f6e2071756575657320696e20746f74616c2e2054686973207365747320746865206d6178696d756d206475726174696f6e20737570706f727465642c2077686963682069738c20746869732076616c7565206d756c7469706c6965642062792060506572696f64602e2c4d617851756575654c656e0c75333210e803000004f0204d6178696d756d206e756d626572206f66206974656d732074686174206d617920626520696e2065616368206475726174696f6e2071756575652e304669666f51756575654c656e0c75333210f40100000c090120506f7274696f6e206f662074686520717565756520776869636820697320667265652066726f6d206f72646572696e6720616e64206a7573742061204649464f2e009c204d757374206265206e6f2067726561746572207468616e20604d617851756575654c656e602e18506572696f6438543a3a426c6f636b4e756d62657210002f0d0008410120546865206261736520706572696f6420666f7220746865206475726174696f6e207175657565732e20546869732069732074686520636f6d6d6f6e206d756c7469706c65206163726f737320616c6ccc20737570706f7274656420667265657a696e67206475726174696f6e7320746861742063616e206265206269642075706f6e2e244d696e467265657a653042616c616e63654f663c543e400000c16ff2862300000000000000000018550120546865206d696e696d756d20616d6f756e74206f662066756e64732074686174206d6179206265206f66666572656420746f20667265657a6520666f7220612067696c742e204e6f746520746861742074686973510120646f6573206e6f742061637475616c6c79206c696d69742074686520616d6f756e74207768696368206d61792062652066726f7a656e20696e20612067696c742073696e63652067696c7473206d617920626519012073706c697420757020696e206f7264657220746f207361746973667920746865206465736972656420616d6f756e74206f662066756e647320756e6465722067696c74732e0065012049742073686f756c64206265206174206c656173742062696720656e6f75676820746f20656e737572652074686174207468657265206973206e6f20706f737369626c652073746f72616765207370616d2061747461636b64206f722071756575652d66696c6c696e672061747461636b2e30496e74616b65506572696f6438543a3a426c6f636b4e756d626572100a00000014590120546865206e756d626572206f6620626c6f636b73206265747765656e20636f6e736563757469766520617474656d70747320746f206973737565206d6f72652067696c747320696e20616e206566666f727420746f9c2067657420746f207468652074617267657420616d6f756e7420746f2062652066726f7a656e2e005d012041206c61726765722076616c756520726573756c747320696e2066657765722073746f726167652068697473206561636820626c6f636b2c20627574206120736c6f77657220706572696f6420746f2067657420746f3020746865207461726765742e344d6178496e74616b65426964730c753332100a0000000c550120546865206d6178696d756d20616d6f756e74206f66206269647320746861742063616e206265207475726e656420696e746f206973737565642067696c7473206561636820626c6f636b2e2041206c617267657261012076616c75652068657265206d65616e73206c657373206f662074686520626c6f636b20617661696c61626c6520666f72207472616e73616374696f6e732073686f756c64207468657265206265206120676c7574206f66b4206269647320746f206d616b6520696e746f2067696c747320746f20726561636820746865207461726765742e20404475726174696f6e546f6f536d616c6c04a820546865206475726174696f6e206f662074686520626964206973206c657373207468616e206f6e652e384475726174696f6e546f6f42696704f820546865206475726174696f6e20697320746865206269642069732067726561746572207468616e20746865206e756d626572206f66207175657565732e38416d6f756e74546f6f536d616c6c04e02054686520616d6f756e74206f662074686520626964206973206c657373207468616e20746865206d696e696d756d20616c6c6f7765642e24426964546f6f4c6f770865012054686520717565756520666f7220746865206269642773206475726174696f6e2069732066756c6c20616e642074686520616d6f756e742062696420697320746f6f206c6f7720746f2067657420696e207468726f7567686c207265706c6163696e6720616e206578697374696e67206269642e1c556e6b6e6f776e045c2047696c7420696e64657820697320756e6b6e6f776e2e204e6f744f776e6572046c204e6f7420746865206f776e6572206f66207468652067696c742e284e6f744578706972656404742047696c74206e6f74207965742061742065787069727920646174652e204e6f74466f756e6404ac2054686520676976656e2062696420666f722072657472616374696f6e206973206e6f7420666f756e642e251c556e6971756573011c556e69717565731814436c61737300010228543a3a436c6173734964c8436c61737344657461696c733c543a3a4163636f756e7449642c204465706f73697442616c616e63654f663c542c20493e3e000400046c2044657461696c73206f6620616e20617373657420636c6173732e1c4163636f756e7400030c30543a3a4163636f756e74496428543a3a436c617373496434543a3a496e7374616e636549640c020202082829040008610120546865206173736574732068656c6420627920616e7920676976656e206163636f756e743b20736574206f757420746869732077617920736f207468617420617373657473206f776e656420627920612073696e676c656c206163636f756e742063616e20626520656e756d6572617465642e14417373657400020228543a3a436c617373496434543a3a496e7374616e63654964d4496e7374616e636544657461696c733c543a3a4163636f756e7449642c204465706f73697442616c616e63654f663c542c20493e3e02040004d4205468652061737365747320696e206578697374656e636520616e64207468656972206f776e6572736869702064657461696c732e3c436c6173734d657461646174614f6600010228543a3a436c6173734964d4436c6173734d657461646174613c4465706f73697442616c616e63654f663c542c20493e2c20543a3a537472696e674c696d69743e0004000470204d65746164617461206f6620616e20617373657420636c6173732e48496e7374616e63654d657461646174614f6600020228543a3a436c617373496434543a3a496e7374616e63654964e0496e7374616e63654d657461646174613c4465706f73697442616c616e63654f663c542c20493e2c20543a3a537472696e674c696d69743e020400047c204d65746164617461206f6620616e20617373657420696e7374616e63652e2441747472696275746500030c28543a3a436c6173734964544f7074696f6e3c543a3a496e7374616e636549643e6c426f756e6465645665633c75382c20543a3a4b65794c696d69743e0c020202dc28426f756e6465645665633c75382c20543a3a56616c75654c696d69743e2c204465706f73697442616c616e63654f663c542c20493e2904000470204d65746164617461206f6620616e20617373657420636c6173732e0158186372656174650814636c6173734c436f6d706163743c543a3a436c61737349643e1461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636540fc2049737375652061206e657720636c617373206f66206e6f6e2d66756e6769626c65206173736574732066726f6d2061207075626c6963206f726967696e2e0029012054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c7920616e6420697473206f776e657220697320746865206f726967696e2e00290120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d75737420686176652073756666696369656e742066756e647320667265652e00b4206041737365744465706f736974602066756e6473206f662073656e646572206172652072657365727665642e003020506172616d65746572733a5501202d2060636c617373603a20546865206964656e746966696572206f6620746865206e657720617373657420636c6173732e2054686973206d757374206e6f742062652063757272656e746c7920696e207573652e5d01202d206061646d696e603a205468652061646d696e206f66207468697320636c617373206f66206173736574732e205468652061646d696e2069732074686520696e697469616c2061646472657373206f662065616368a0206d656d626572206f662074686520617373657420636c61737327732061646d696e207465616d2e009c20456d69747320604372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f2831296030666f7263655f6372656174650c14636c6173734c436f6d706163743c543a3a436c61737349643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636530667265655f686f6c64696e6710626f6f6c400d012049737375652061206e657720636c617373206f66206e6f6e2d66756e6769626c65206173736574732066726f6d20612070726976696c65676564206f726967696e2e00b82054686973206e657720617373657420636c61737320686173206e6f2061737365747320696e697469616c6c792e00a820546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e602e00a020556e6c696b652060637265617465602c206e6f2066756e6473206172652072657365727665642e003d01202d2060636c617373603a20546865206964656e746966696572206f6620746865206e65772061737365742e2054686973206d757374206e6f742062652063757272656e746c7920696e207573652e5d01202d20606f776e6572603a20546865206f776e6572206f66207468697320636c617373206f66206173736574732e20546865206f776e6572206861732066756c6c20737570657275736572207065726d697373696f6e732901206f76657220746869732061737365742c20627574206d6179206c61746572206368616e676520616e6420636f6e66696775726520746865207065726d697373696f6e73207573696e679420607472616e736665725f6f776e6572736869706020616e6420607365745f7465616d602e00b020456d6974732060466f7263654372656174656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f283129601c64657374726f790814636c6173734c436f6d706163743c543a3a436c61737349643e1c7769746e6573733844657374726f795769746e6573733c902044657374726f79206120636c617373206f662066756e6769626c65206173736574732e00610120546865206f726967696e206d75737420636f6e666f726d20746f2060466f7263654f726967696e60206f72206d75737420626520605369676e65646020616e64207468652073656e646572206d7573742062652074686570206f776e6572206f66207468652061737365742060636c617373602e00f8202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c61737320746f2062652064657374726f7965642e4901202d20607769746e657373603a20496e666f726d6174696f6e206f6e2074686520696e7374616e636573206d696e74656420696e2074686520617373657420636c6173732e2054686973206d7573742062652420636f72726563742e00a420456d697473206044657374726f79656460206576656e74207768656e207375636365737366756c2e0068205765696768743a20604f286e202b206d29602077686572653a68202d20606e203d207769746e6573732e696e7374616e636573608c202d20606d203d207769746e6573732e696e7374616e63655f6d6574616461746173606c202d206061203d207769746e6573732e6174747269627574657360106d696e740c14636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652cb8204d696e7420616e20617373657420696e7374616e6365206f66206120706172746963756c617220636c6173732e00490120546865206f726967696e206d757374206265205369676e656420616e64207468652073656e646572206d7573742062652074686520497373756572206f66207468652061737365742060636c617373602e00c0202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f206265206d696e7465642ef0202d2060696e7374616e6365603a2054686520696e7374616e63652076616c7565206f662074686520617373657420746f206265206d696e7465642ee0202d206062656e6566696369617279603a2054686520696e697469616c206f776e6572206f6620746865206d696e7465642061737365742e009820456d697473206049737375656460206576656e74207768656e207375636365737366756c2e003c205765696768743a20604f28312960106275726e0c14636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e2c636865636b5f6f776e6572ac4f7074696f6e3c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e34842044657374726f7920612073696e676c6520617373657420696e7374616e63652e003d01204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f66207468652061737365742060636c617373602e00c0202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f206265206275726e65642ed8202d2060696e7374616e6365603a2054686520696e7374616e6365206f662074686520617373657420746f206265206275726e65642e5501202d2060636865636b5f6f776e6572603a2049662060536f6d6560207468656e20746865206f7065726174696f6e2077696c6c206661696c2077697468206057726f6e674f776e65726020756e6c65737320746865802020206173736574206973206f776e656420627920746869732076616c75652e00b820456d69747320604275726e6564602077697468207468652061637475616c20616d6f756e74206275726e65642e003c205765696768743a20604f2831296080204d6f6465733a2060636865636b5f6f776e65722e69735f736f6d652829602e207472616e736665720c14636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e10646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653cc8204d6f766520616e2061737365742066726f6d207468652073656e646572206163636f756e7420746f20616e6f746865722e00f8204f726967696e206d757374206265205369676e656420616e6420746865207369676e696e67206163636f756e74206d757374206265206569746865723a88202d207468652041646d696e206f66207468652061737365742060636c617373603b94202d20746865204f776e6572206f66207468652061737365742060696e7374616e6365603b6101202d2074686520617070726f7665642064656c656761746520666f72207468652061737365742060696e7374616e6365602028696e207468697320636173652c2074686520617070726f76616c206973207265736574292e002c20417267756d656e74733ad4202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f206265207472616e736665727265642eec202d2060696e7374616e6365603a2054686520696e7374616e6365206f662074686520617373657420746f206265207472616e736665727265642ee4202d206064657374603a20546865206163636f756e7420746f2072656365697665206f776e657273686970206f66207468652061737365742e005420456d69747320605472616e73666572726564602e003c205765696768743a20604f283129602472656465706f7369740814636c6173734c436f6d706163743c543a3a436c61737349643e24696e7374616e636573485665633c543a3a496e7374616e636549643e44a02052656576616c7561746520746865206465706f73697473206f6e20736f6d65206173736574732e003d01204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468652061737365742060636c617373602e00c0202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f2062652066726f7a656e2e5101202d2060696e7374616e636573603a2054686520696e7374616e636573206f662074686520617373657420636c6173732077686f7365206465706f736974732077696c6c2062652072656576616c75617465642e005901204e4f54453a205468697320657869737473206173206120626573742d6566666f72742066756e6374696f6e2e20416e7920617373657420696e7374616e6365732077686963682061726520756e6b6e6f776e206f723d0120696e207468652063617365207468617420746865206f776e6572206163636f756e7420646f6573206e6f7420686176652072657365727661626c652066756e647320746f2070617920666f7220616101206465706f73697420696e637265617365206172652069676e6f7265642e2047656e6572616c6c7920746865206f776e65722069736e277420676f696e6720746f2063616c6c2074686973206f6e20696e7374616e63657359012077686f7365206578697374696e67206465706f736974206973206c657373207468616e2074686520726566726573686564206465706f73697420617320697420776f756c64206f6e6c7920636f7374207468656d2c7c20736f2069742773206f66206c6974746c6520636f6e73657175656e63652e0055012049742077696c6c207374696c6c2072657475726e20616e206572726f7220696e20746865206361736520746861742074686520636c61737320697320756e6b6e6f776e206f6620746865207369676e657220697368206e6f74207065726d697474656420746f2063616c6c2069742e0074205765696768743a20604f28696e7374616e6365732e6c656e2829296018667265657a650814636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e28f420446973616c6c6f77206675727468657220756e70726976696c65676564207472616e73666572206f6620616e20617373657420696e7374616e63652e004501204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f66207468652061737365742060636c617373602e00c0202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f2062652066726f7a656e2ed8202d2060696e7374616e6365603a2054686520696e7374616e6365206f662074686520617373657420746f2062652066726f7a656e2e004020456d697473206046726f7a656e602e003c205765696768743a20604f2831296010746861770814636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e28d42052652d616c6c6f7720756e70726976696c65676564207472616e73666572206f6620616e20617373657420696e7374616e63652e004501204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f66207468652061737365742060636c617373602e00c0202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f206265207468617765642ed8202d2060696e7374616e6365603a2054686520696e7374616e6365206f662074686520617373657420746f206265207468617765642e004020456d6974732060546861776564602e003c205765696768743a20604f2831296030667265657a655f636c6173730414636c6173734c436f6d706163743c543a3a436c61737349643e24050120446973616c6c6f77206675727468657220756e70726976696c65676564207472616e736665727320666f7220612077686f6c6520617373657420636c6173732e004501204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c642062652074686520467265657a6572206f66207468652061737365742060636c617373602e00a4202d2060636c617373603a2054686520617373657420636c61737320746f2062652066726f7a656e2e005420456d6974732060436c61737346726f7a656e602e003c205765696768743a20604f2831296028746861775f636c6173730414636c6173734c436f6d706163743c543a3a436c61737349643e24e42052652d616c6c6f7720756e70726976696c65676564207472616e736665727320666f7220612077686f6c6520617373657420636c6173732e003d01204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c64206265207468652041646d696e206f66207468652061737365742060636c617373602e008c202d2060636c617373603a2054686520636c61737320746f206265207468617765642e005420456d6974732060436c617373546861776564602e003c205765696768743a20604f28312960487472616e736665725f6f776e6572736869700814636c6173734c436f6d706163743c543a3a436c61737349643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652890204368616e676520746865204f776e6572206f6620616e20617373657420636c6173732e003d01204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468652061737365742060636c617373602e00e8202d2060636c617373603a2054686520617373657420636c6173732077686f7365206f776e65722073686f756c64206265206368616e6765642eb8202d20606f776e6572603a20546865206e6577204f776e6572206f66207468697320617373657420636c6173732e005820456d69747320604f776e65724368616e676564602e003c205765696768743a20604f28312960207365745f7465616d1014636c6173734c436f6d706163743c543a3a436c61737349643e186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636530e0204368616e676520746865204973737565722c2041646d696e20616e6420467265657a6572206f6620616e20617373657420636c6173732e003d01204f726967696e206d757374206265205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468652061737365742060636c617373602e00e4202d2060636c617373603a2054686520617373657420636c6173732077686f7365207465616d2073686f756c64206265206368616e6765642ec0202d2060697373756572603a20546865206e657720497373756572206f66207468697320617373657420636c6173732eb8202d206061646d696e603a20546865206e65772041646d696e206f66207468697320617373657420636c6173732ec8202d2060667265657a6572603a20546865206e657720467265657a6572206f66207468697320617373657420636c6173732e005420456d69747320605465616d4368616e676564602e003c205765696768743a20604f2831296040617070726f76655f7472616e736665720c14636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e2064656c65676174658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c290120417070726f766520616e20696e7374616e636520746f206265207472616e7366657272656420627920612064656c6567617465642074686972642d7061727479206163636f756e742e001501204f726967696e206d757374206265205369676e656420616e64206d75737420626520746865206f776e6572206f66207468652061737365742060696e7374616e6365602e002501202d2060636c617373603a2054686520636c617373206f662074686520617373657420746f20626520617070726f76656420666f722064656c656761746564207472616e736665722e3d01202d2060696e7374616e6365603a2054686520696e7374616e6365206f662074686520617373657420746f20626520617070726f76656420666f722064656c656761746564207472616e736665722e2101202d206064656c6567617465603a20546865206163636f756e7420746f2064656c6567617465207065726d697373696f6e20746f207472616e73666572207468652061737365742e009420456d6974732060417070726f7665645472616e7366657260206f6e20737563636573732e003c205765696768743a20604f283129603c63616e63656c5f617070726f76616c0c14636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e506d617962655f636865636b5f64656c6567617465ac4f7074696f6e3c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e4019012043616e63656c20746865207072696f7220617070726f76616c20666f7220746865207472616e73666572206f6620616e20617373657420627920612064656c65676174652e005c204f726967696e206d757374206265206569746865723a58202d207468652060466f72636560206f726967696e3b0501202d20605369676e656460207769746820746865207369676e6572206265696e67207468652041646d696e206f66207468652061737365742060636c617373603b1101202d20605369676e656460207769746820746865207369676e6572206265696e6720746865204f776e6572206f66207468652061737365742060696e7374616e6365603b002c20417267756d656e74733a1d01202d2060636c617373603a2054686520636c617373206f6620746865206173736574206f662077686f736520617070726f76616c2077696c6c2062652063616e63656c6c65642e3501202d2060696e7374616e6365603a2054686520696e7374616e6365206f6620746865206173736574206f662077686f736520617070726f76616c2077696c6c2062652063616e63656c6c65642e5501202d20606d617962655f636865636b5f64656c6567617465603a2049662060536f6d65602077696c6c20656e7375726520746861742074686520676976656e206163636f756e7420697320746865206f6e6520746fb42020207768696368207065726d697373696f6e206f66207472616e736665722069732064656c6567617465642e009820456d6974732060417070726f76616c43616e63656c6c656460206f6e20737563636573732e003c205765696768743a20604f2831296048666f7263655f61737365745f7374617475731c14636c6173734c436f6d706163743c543a3a436c61737349643e146f776e65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365186973737565728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651461646d696e8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651c667265657a65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636530667265655f686f6c64696e6710626f6f6c2469735f66726f7a656e10626f6f6c449c20416c746572207468652061747472696275746573206f66206120676976656e2061737365742e0078204f726967696e206d7573742062652060466f7263654f726967696e602e00a0202d2060636c617373603a20546865206964656e746966696572206f66207468652061737365742ea0202d20606f776e6572603a20546865206e6577204f776e6572206f6620746869732061737365742ea8202d2060697373756572603a20546865206e657720497373756572206f6620746869732061737365742ea0202d206061646d696e603a20546865206e65772041646d696e206f6620746869732061737365742eb0202d2060667265657a6572603a20546865206e657720467265657a6572206f6620746869732061737365742e4d01202d2060667265655f686f6c64696e67603a20576865746865722061206465706f7369742069732074616b656e20666f7220686f6c64696e6720616e20696e7374616e6365206f66207468697320617373657424202020636c6173732e4101202d206069735f66726f7a656e603a2057686574686572207468697320617373657420636c6173732069732066726f7a656e2065786365707420666f72207065726d697373696f6e65642f61646d696e3820696e737472756374696f6e732e00ec20456d697473206041737365745374617475734368616e67656460207769746820746865206964656e74697479206f66207468652061737365742e003c205765696768743a20604f28312960347365745f6174747269627574651014636c6173734c436f6d706163743c543a3a436c61737349643e386d617962655f696e7374616e6365544f7074696f6e3c543a3a496e7374616e636549643e0c6b65796c426f756e6465645665633c75382c20543a3a4b65794c696d69743e1476616c756574426f756e6465645665633c75382c20543a3a56616c75654c696d69743e44c42053657420616e2061747472696275746520666f7220616e20617373657420636c617373206f7220696e7374616e63652e006101204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f72205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468653c2061737365742060636c617373602e00550120496620746865206f726967696e206973205369676e65642c207468656e2066756e6473206f66207369676e657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a2d0120604d657461646174614465706f73697442617365202b204465706f73697450657242797465202a20286b65792e6c656e202b2076616c75652e6c656e29602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e003d01202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c6173732077686f736520696e7374616e63652773206d6574616461746120746f207365742e4101202d20606d617962655f696e7374616e6365603a20546865206964656e746966696572206f662074686520617373657420696e7374616e63652077686f7365206d6574616461746120746f207365742e8c202d20606b6579603a20546865206b6579206f6620746865206174747269627574652ed0202d206076616c7565603a205468652076616c756520746f20776869636820746f2073657420746865206174747269627574652e005820456d6974732060417474726962757465536574602e003c205765696768743a20604f283129603c636c6561725f6174747269627574650c14636c6173734c436f6d706163743c543a3a436c61737349643e386d617962655f696e7374616e6365544f7074696f6e3c543a3a496e7374616e636549643e0c6b65796c426f756e6465645665633c75382c20543a3a4b65794c696d69743e44c42053657420616e2061747472696275746520666f7220616e20617373657420636c617373206f7220696e7374616e63652e006101204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f72205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468653c2061737365742060636c617373602e00550120496620746865206f726967696e206973205369676e65642c207468656e2066756e6473206f66207369676e657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613a2d0120604d657461646174614465706f73697442617365202b204465706f73697450657242797465202a20286b65792e6c656e202b2076616c75652e6c656e29602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e003d01202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c6173732077686f736520696e7374616e63652773206d6574616461746120746f207365742e2901202d2060696e7374616e6365603a20546865206964656e746966696572206f662074686520617373657420696e7374616e63652077686f7365206d6574616461746120746f207365742e8c202d20606b6579603a20546865206b6579206f6620746865206174747269627574652ed0202d206076616c7565603a205468652076616c756520746f20776869636820746f2073657420746865206174747269627574652e005820456d6974732060417474726962757465536574602e003c205765696768743a20604f28312960307365745f6d657461646174611014636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e106461746178426f756e6465645665633c75382c20543a3a537472696e674c696d69743e2469735f66726f7a656e10626f6f6c44a02053657420746865206d6574616461746120666f7220616e20617373657420696e7374616e63652e006101204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f72205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f66207468653c2061737365742060636c617373602e00550120496620746865206f726967696e206973205369676e65642c207468656e2066756e6473206f66207369676e657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613af820604d657461646174614465706f73697442617365202b204465706f73697450657242797465202a20646174612e6c656e602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e003d01202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c6173732077686f736520696e7374616e63652773206d6574616461746120746f207365742e2901202d2060696e7374616e6365603a20546865206964656e746966696572206f662074686520617373657420696e7374616e63652077686f7365206d6574616461746120746f207365742e5501202d206064617461603a205468652067656e6572616c20696e666f726d6174696f6e206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3901202d206069735f66726f7a656e603a205768657468657220746865206d657461646174612073686f756c642062652066726f7a656e20616761696e73742066757274686572206368616e6765732e005420456d69747320604d65746164617461536574602e003c205765696768743a20604f2831296038636c6561725f6d657461646174610814636c6173734c436f6d706163743c543a3a436c61737349643e20696e7374616e636558436f6d706163743c543a3a496e7374616e636549643e34a820436c65617220746865206d6574616461746120666f7220616e20617373657420696e7374616e63652e006101204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f72205369676e656420616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f6620746865482061737365742060696e7374616e6365602e00c020416e79206465706f73697420697320667265656420666f722074686520617373657420636c617373206f776e65722e004501202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c6173732077686f736520696e7374616e63652773206d6574616461746120746f20636c6561722e3101202d2060696e7374616e6365603a20546865206964656e746966696572206f662074686520617373657420696e7374616e63652077686f7365206d6574616461746120746f20636c6561722e006420456d69747320604d65746164617461436c6561726564602e003c205765696768743a20604f28312960487365745f636c6173735f6d657461646174610c14636c6173734c436f6d706163743c543a3a436c61737349643e106461746178426f756e6465645665633c75382c20543a3a537472696e674c696d69743e2469735f66726f7a656e10626f6f6c40942053657420746865206d6574616461746120666f7220616e20617373657420636c6173732e005901204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f7220605369676e65646020616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f664c207468652061737365742060636c617373602e005d0120496620746865206f726967696e20697320605369676e6564602c207468656e2066756e6473206f66207369676e657220617265207265736572766564206163636f7264696e6720746f2074686520666f726d756c613af820604d657461646174614465706f73697442617365202b204465706f73697450657242797465202a20646174612e6c656e602074616b696e6720696e746f90206163636f756e7420616e7920616c72656164792072657365727665642066756e64732e000501202d2060636c617373603a20546865206964656e746966696572206f66207468652061737365742077686f7365206d6574616461746120746f207570646174652e5501202d206064617461603a205468652067656e6572616c20696e666f726d6174696f6e206f6620746869732061737365742e204c696d6974656420696e206c656e6774682062792060537472696e674c696d6974602e3901202d206069735f66726f7a656e603a205768657468657220746865206d657461646174612073686f756c642062652066726f7a656e20616761696e73742066757274686572206368616e6765732e006820456d6974732060436c6173734d65746164617461536574602e003c205765696768743a20604f2831296050636c6561725f636c6173735f6d657461646174610414636c6173734c436f6d706163743c543a3a436c61737349643e309c20436c65617220746865206d6574616461746120666f7220616e20617373657420636c6173732e005901204f726967696e206d757374206265206569746865722060466f7263654f726967696e60206f7220605369676e65646020616e64207468652073656e6465722073686f756c6420626520746865204f776e6572206f664c207468652061737365742060636c617373602e00c020416e79206465706f73697420697320667265656420666f722074686520617373657420636c617373206f776e65722e001901202d2060636c617373603a20546865206964656e746966696572206f662074686520617373657420636c6173732077686f7365206d6574616461746120746f20636c6561722e007820456d6974732060436c6173734d65746164617461436c6561726564602e003c205765696768743a20604f2831296001581c437265617465640c1c436c6173734964244163636f756e744964244163636f756e74496404e020416e20617373657420636c6173732077617320637265617465642e205c5b20636c6173732c2063726561746f722c206f776e6572205c5d30466f72636543726561746564081c436c6173734964244163636f756e74496404d420416e20617373657420636c6173732077617320666f7263652d637265617465642e205c5b20636c6173732c206f776e6572205c5d2444657374726f796564041c436c617373496404b020416e2061737365742060636c61737360207761732064657374726f7965642e205c5b20636c617373205c5d184973737565640c1c436c617373496428496e7374616e63654964244163636f756e74496404f020416e2061737365742060696e73746163656020776173206973737565642e205c5b20636c6173732c20696e7374616e63652c206f776e6572205c5d2c5472616e73666572726564101c436c617373496428496e7374616e63654964244163636f756e744964244163636f756e74496404110120416e2061737365742060696e73746163656020776173207472616e736665727265642e205c5b20636c6173732c20696e7374616e63652c2066726f6d2c20746f205c5d184275726e65640c1c436c617373496428496e7374616e63654964244163636f756e74496404010120416e2061737365742060696e7374616e636560207761732064657374726f7965642e205c5b20636c6173732c20696e7374616e63652c206f776e6572205c5d1846726f7a656e081c436c617373496428496e7374616e6365496404e020536f6d652061737365742060696e7374616e636560207761732066726f7a656e2e205c5b20636c6173732c20696e7374616e6365205c5d18546861776564081c436c617373496428496e7374616e6365496404e020536f6d652061737365742060696e7374616e63656020776173207468617765642e205c5b20636c6173732c20696e7374616e6365205c5d2c436c61737346726f7a656e041c436c617373496404ac20536f6d652061737365742060636c61737360207761732066726f7a656e2e205c5b20636c617373205c5d2c436c617373546861776564041c436c617373496404ac20536f6d652061737365742060636c6173736020776173207468617765642e205c5b20636c617373205c5d304f776e65724368616e676564081c436c6173734964244163636f756e74496404a420546865206f776e6572206368616e676564205c5b20636c6173732c206e65775f6f776e6572205c5d2c5465616d4368616e676564101c436c6173734964244163636f756e744964244163636f756e744964244163636f756e74496404010120546865206d616e6167656d656e74207465616d206368616e676564205c5b20636c6173732c206973737565722c2061646d696e2c20667265657a6572205c5d40417070726f7665645472616e73666572101c436c617373496428496e7374616e63654964244163636f756e744964244163636f756e7449640c550120416e2060696e7374616e636560206f6620616e2061737365742060636c6173736020686173206265656e20617070726f7665642062792074686520606f776e65726020666f72207472616e73666572206279206130206064656c6567617465602e9c205c5b20636c6173732c20696e7374616e63652c206f776e65722c2064656c6567617465205c5d44417070726f76616c43616e63656c6c6564101c436c617373496428496e7374616e63654964244163636f756e744964244163636f756e7449640c610120416e20617070726f76616c20666f722061206064656c656761746560206163636f756e7420746f207472616e73666572207468652060696e7374616e636560206f6620616e2061737365742060636c6173736020776173682063616e63656c6c65642062792069747320606f776e6572602e9c205c5b20636c6173732c20696e7374616e63652c206f776e65722c2064656c6567617465205c5d4841737365745374617475734368616e676564041c436c6173734964081d0120416e2061737365742060636c617373602068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e30205c5b20636c617373205c5d40436c6173734d657461646174615365740c1c436c617373496478426f756e6465645665633c75382c20543a3a537472696e674c696d69743e10626f6f6c042d01204e6577206d6574616461746120686173206265656e2073657420666f7220616e20617373657420636c6173732e205c5b20636c6173732c20646174612c2069735f66726f7a656e205c5d50436c6173734d65746164617461436c6561726564041c436c617373496404e8204d6574616461746120686173206265656e20636c656172656420666f7220616e20617373657420636c6173732e205c5b20636c617373205c5d2c4d65746164617461536574101c436c617373496428496e7374616e6365496478426f756e6465645665633c75382c20543a3a537472696e674c696d69743e10626f6f6c08c4204e6577206d6574616461746120686173206265656e2073657420666f7220616e20617373657420696e7374616e63652e9c205c5b20636c6173732c20696e7374616e63652c20646174612c2069735f66726f7a656e205c5d3c4d65746164617461436c6561726564081c436c617373496428496e7374616e63654964041d01204d6574616461746120686173206265656e20636c656172656420666f7220616e20617373657420696e7374616e63652e205c5b20636c6173732c20696e7374616e6365205c5d2c52656465706f7369746564081c436c6173734964485665633c543a3a496e7374616e636549643e044d01204d6574616461746120686173206265656e20636c656172656420666f7220616e20617373657420696e7374616e63652e205c5b20636c6173732c207375636365737366756c5f696e7374616e636573205c5d30417474726962757465536574101c436c6173734964544f7074696f6e3c543a3a496e7374616e636549643e6c426f756e6465645665633c75382c20543a3a4b65794c696d69743e74426f756e6465645665633c75382c20543a3a56616c75654c696d69743e081101204e657720617474726962757465206d6574616461746120686173206265656e2073657420666f7220616e20617373657420636c617373206f7220696e7374616e63652ea0205c5b20636c6173732c206d617962655f696e7374616e63652c206b65792c2076616c7565205c5d40417474726962757465436c65617265640c1c436c6173734964544f7074696f6e3c543a3a496e7374616e636549643e6c426f756e6465645665633c75382c20543a3a4b65794c696d69743e08110120417474726962757465206d6574616461746120686173206265656e20636c656172656420666f7220616e20617373657420636c617373206f7220696e7374616e63652eb8205c5b20636c6173732c206d617962655f696e7374616e63652c206b65792c206d617962655f76616c7565205c5d0028304e6f5065726d697373696f6e04ec20546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e047c2054686520676976656e20617373657420494420697320756e6b6e6f776e2e34416c726561647945786973747304e82054686520617373657420696e7374616e63652049442068617320616c7265616479206265656e207573656420666f7220616e2061737365742e2857726f6e674f776e657204ec20546865206f776e6572207475726e6564206f757420746f20626520646966666572656e7420746f2077686174207761732065787065637465642e284261645769746e657373047020496e76616c6964207769746e657373206461746120676976656e2e14496e557365047c2054686520617373657420494420697320616c72656164792074616b656e2e1846726f7a656e049c2054686520617373657420696e7374616e6365206f7220636c6173732069732066726f7a656e2e3457726f6e6744656c656761746504f8205468652064656c6567617465207475726e6564206f757420746f20626520646966666572656e7420746f2077686174207761732065787065637465642e284e6f44656c6567617465047c205468657265206973206e6f2064656c656761746520617070726f7665642e28556e617070726f76656404c8204e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e26485472616e73616374696f6e53746f7261676501485472616e73616374696f6e53746f7261676524305472616e73616374696f6e7300010238543a3a426c6f636b4e756d626572505665633c5472616e73616374696f6e496e666f3e00040004d020436f6c6c656374696f6e206f66207472616e73616374696f6e206d6574616461746120627920626c6f636b206e756d6265722e284368756e6b436f756e7401010238543a3a426c6f636b4e756d6265720c753332001000000000049420436f756e7420696e6465786564206368756e6b7320666f72206561636820626c6f636b2e1c4279746546656500003042616c616e63654f663c543e040004582053746f72616765206665652070657220627974652e20456e74727946656500003042616c616e63654f663c543e040004742053746f726167652066656520706572207472616e73616374696f6e2e484d61785472616e73616374696f6e53697a6501000c753332100000000004cc204d6178696d756d20646174612073657420696e20612073696e676c65207472616e73616374696f6e20696e2062797465732e504d6178426c6f636b5472616e73616374696f6e7301000c753332100000000004d4204d6178696d756d206e756d626572206f6620696e6465786564207472616e73616374696f6e7320696e2074686520626c6f636b2e3453746f72616765506572696f64010038543a3a426c6f636b4e756d6265721000000000086d012053746f7261676520706572696f6420666f72206461746120696e20626c6f636b732e2053686f756c64206d61746368206073705f73746f726167655f70726f6f663a3a44454641554c545f53544f524147455f504552494f44605420666f7220626c6f636b20617574686f72696e672e44426c6f636b5472616e73616374696f6e730100505665633c5472616e73616374696f6e496e666f3e0400003050726f6f66436865636b6564010010626f6f6c0400049420576173207468652070726f6f6620636865636b656420696e207468697320626c6f636b3f010c1473746f72650410646174611c5665633c75383e18790120496e64657820616e642073746f72652064617461206f6e20636861696e2e204d696e696d756d20646174612073697a6520697320312062797465732c206d6178696d756d20697320604d61785472616e73616374696f6e53697a65602e390120446174612077696c6c2062652072656d6f766564206166746572206053544f524147455f504552494f446020626c6f636b732c20756e6c657373206072656e6577602069732063616c6c65642e2c2023203c7765696768743e1501202d206e2a6c6f67286e29206f6620646174612073697a652c20617320616c6c20646174612069732070757368656420746f20616e20696e2d6d656d6f727920747269652e88204164646974696f6e616c6c7920636f6e7461696e7320612044422077726974652e302023203c2f7765696768743e1472656e65770814626c6f636b38543a3a426c6f636b4e756d62657214696e6465780c7533321c31012052656e65772070726576696f75736c792073746f72656420646174612e20506172616d6574657273206172652074686520626c6f636b206e756d626572207468617420636f6e7461696e7329012070726576696f7573206073746f726560206f72206072656e6577602063616c6c20616e64207472616e73616374696f6e20696e6465782077697468696e207468617420626c6f636b2e0501205472616e73616374696f6e20696e64657820697320656d697474656420696e20746865206053746f72656460206f72206052656e6577656460206576656e742e78204170706c6965732073616d652066656573206173206073746f7265602e2c2023203c7765696768743e30202d20436f6e7374616e742e302023203c2f7765696768743e2c636865636b5f70726f6f66041470726f6f665c5472616e73616374696f6e53746f7261676550726f6f661c1d0120436865636b2073746f726167652070726f6f6620666f7220626c6f636b206e756d6265722060626c6f636b5f6e756d6265722829202d2053746f72616765506572696f64602e0501204966207375636820626c6f636b20646f6573206e6f74206578697374207468652070726f6f6620697320657870656374656420746f20626520604e6f6e65602e2c2023203c7765696768743e6901202d204c696e65617220772e722e7420746865206e756d626572206f6620696e6465786564207472616e73616374696f6e7320696e207468652070726f76656420626c6f636b20666f722072616e646f6d2070726f62696e672ea020546865726527732061204442207265616420666f722065616368207472616e73616374696f6e2ed4204865726520776520617373756d652061206d6178696d756d206f66203130302070726f626564207472616e73616374696f6e732e302023203c2f7765696768743e010c1853746f726564040c753332048c2053746f726564206461746120756e6465722073706563696669656420696e6465782e1c52656e65776564040c75333204902052656e65776564206461746120756e6465722073706563696669656420696e6465782e3050726f6f66436865636b65640004a02053746f726167652070726f6f6620776173207375636365737366756c6c7920636865636b65642e003444496e73756666696369656e7446756e6473047820496e73756666696369656e74206163636f756e742062616c616e63652e344e6f74436f6e66696775726564045c20496e76616c696420636f6e66696775726174696f6e2e3c52656e657765644e6f74466f756e6404802052656e657765642065787472696e736963206973206e6f7420666f756e642e40456d7074795472616e73616374696f6e049820417474656d7074696e6720746f2073746f726520656d707479207472616e73616374696f6e3c556e657870656374656450726f6f6604982050726f6f6620776173206e6f7420657870656374656420696e207468697320626c6f636b2e30496e76616c696450726f6f66046c2050726f6f66206661696c656420766572696669636174696f6e2e304d697373696e6750726f6f66045c204d697373696e672073746f726167652070726f6f662e404d697373696e6753746174654461746104d820556e61626c6520746f207665726966792070726f6f6620626563617375652073746174652064617461206973206d697373696e672e2c446f75626c65436865636b048420446f75626c652070726f6f6620636865636b20696e2074686520626c6f636b2e3c50726f6f664e6f74436865636b656404b02053746f726167652070726f6f6620776173206e6f7420636865636b656420696e2074686520626c6f636b2e4c5472616e73616374696f6e546f6f4c617267650468205472616e73616374696f6e20697320746f6f206c617267652e4c546f6f4d616e795472616e73616374696f6e73049020546f6f206d616e79207472616e73616374696f6e7320696e2074686520626c6f636b2e28426164436f6e7465787404d820417474656d7074656420746f2063616c6c206073746f726560206f757473696465206f6620626c6f636b20657865637574696f6e2e27041c40436865636b5370656356657273696f6e38436865636b547856657273696f6e30436865636b47656e6573697338436865636b4d6f7274616c69747928436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e74
+ tests/meta/v13.json view
@@ -0,0 +1,16490 @@+{+ "magicNumber": 1635018093,+ "metadata": {+ "v13": {+ "modules": [+ {+ "name": "System",+ "storage": {+ "prefix": "System",+ "items": [+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountInfo",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The full account information for a particular account ID."+ ]+ },+ {+ "name": "ExtrinsicCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total extrinsics count for the current block."+ ]+ },+ {+ "name": "BlockWeight",+ "modifier": "Default",+ "type": {+ "plain": "ConsumedWeight"+ },+ "fallback": "0x000000000000000000000000000000000000000000000000",+ "docs": [+ " The current weight for the block."+ ]+ },+ {+ "name": "AllExtrinsicsLen",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total length (in bytes) for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "BlockHash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Map of block numbers to block hashes."+ ]+ },+ {+ "name": "ExtrinsicData",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Extrinsics data for the current block (maps an extrinsic's index to its data)."+ ]+ },+ {+ "name": "Number",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current block number being processed. Set by `execute_block`."+ ]+ },+ {+ "name": "ParentHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Hash of the previous block."+ ]+ },+ {+ "name": "Digest",+ "modifier": "Default",+ "type": {+ "plain": "DigestOf"+ },+ "fallback": "0x00",+ "docs": [+ " Digest of the current block, also part of the block header."+ ]+ },+ {+ "name": "Events",+ "modifier": "Default",+ "type": {+ "plain": "Vec<EventRecord>"+ },+ "fallback": "0x00",+ "docs": [+ " Events deposited for the current block."+ ]+ },+ {+ "name": "EventCount",+ "modifier": "Default",+ "type": {+ "plain": "EventIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of events in the `Events<T>` list."+ ]+ },+ {+ "name": "EventTopics",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "Hash",+ "value": "Vec<(BlockNumber,EventIndex)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Mapping between a topic (represented by T::Hash) and a vector of indexes",+ " of events in the `<Events<T>>` list.",+ "",+ " All topic vectors have deterministic storage locations depending on the topic. This",+ " allows light-clients to leverage the changes trie storage tracking mechanism and",+ " in case of changes fetch the list of events of interest.",+ "",+ " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",+ " the `EventIndex` then in case if the topic has the same contents on the next block",+ " no notification will be triggered thus the event might be lost."+ ]+ },+ {+ "name": "LastRuntimeUpgrade",+ "modifier": "Optional",+ "type": {+ "plain": "LastRuntimeUpgradeInfo"+ },+ "fallback": "0x00",+ "docs": [+ " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."+ ]+ },+ {+ "name": "UpgradedToU32RefCount",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."+ ]+ },+ {+ "name": "UpgradedToTripleRefCount",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False",+ " (default) if not."+ ]+ },+ {+ "name": "ExecutionPhase",+ "modifier": "Optional",+ "type": {+ "plain": "Phase"+ },+ "fallback": "0x00",+ "docs": [+ " The execution phase of the block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "fill_block",+ "args": [+ {+ "name": "_ratio",+ "type": "Perbill"+ }+ ],+ "docs": [+ " A dispatch that will fill the block weight up to the given ratio."+ ]+ },+ {+ "name": "remark",+ "args": [+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark.",+ "",+ " # <weight>",+ " - `O(1)`",+ " # </weight>"+ ]+ },+ {+ "name": "set_heap_pages",+ "args": [+ {+ "name": "pages",+ "type": "u64"+ }+ ],+ "docs": [+ " Set the number of pages in the WebAssembly environment's heap.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write.",+ " - Base Weight: 1.405 µs",+ " - 1 write to HEAP_PAGES",+ " # </weight>"+ ]+ },+ {+ "name": "set_code",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code.",+ "",+ " # <weight>",+ " - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime, but generally this is very expensive.",+ " We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_code_without_checks",+ "args": [+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new runtime code without doing any checks of the given `code`.",+ "",+ " # <weight>",+ " - `O(C)` where `C` length of `code`",+ " - 1 storage write (codec `O(C)`).",+ " - 1 event.",+ " The weight of this function is dependent on the runtime. We will treat this as a full block.",+ " # </weight>"+ ]+ },+ {+ "name": "set_changes_trie_config",+ "args": [+ {+ "name": "changes_trie_config",+ "type": "Option<ChangesTrieConfiguration>"+ }+ ],+ "docs": [+ " Set the new changes trie configuration.",+ "",+ " # <weight>",+ " - `O(1)`",+ " - 1 storage write or delete (codec `O(1)`).",+ " - 1 call to `deposit_log`: Uses `append` API, so O(1)",+ " - Base Weight: 7.218 µs",+ " - DB Weight:",+ " - Writes: Changes Trie, System Digest",+ " # </weight>"+ ]+ },+ {+ "name": "set_storage",+ "args": [+ {+ "name": "items",+ "type": "Vec<KeyValue>"+ }+ ],+ "docs": [+ " Set some items of storage.",+ "",+ " # <weight>",+ " - `O(I)` where `I` length of `items`",+ " - `I` storage writes (`O(1)`).",+ " - Base Weight: 0.568 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_storage",+ "args": [+ {+ "name": "keys",+ "type": "Vec<Key>"+ }+ ],+ "docs": [+ " Kill some items from storage.",+ "",+ " # <weight>",+ " - `O(IK)` where `I` length of `keys` and `K` length of one key",+ " - `I` storage deletions.",+ " - Base Weight: .378 * i µs",+ " - Writes: Number of items",+ " # </weight>"+ ]+ },+ {+ "name": "kill_prefix",+ "args": [+ {+ "name": "prefix",+ "type": "Key"+ },+ {+ "name": "_subkeys",+ "type": "u32"+ }+ ],+ "docs": [+ " Kill all storage items with a key that starts with the given prefix.",+ "",+ " **NOTE:** We rely on the Root origin to provide us the number of subkeys under",+ " the prefix we are removing to accurately calculate the weight of this function.",+ "",+ " # <weight>",+ " - `O(P)` where `P` amount of keys with prefix `prefix`",+ " - `P` storage deletions.",+ " - Base Weight: 0.834 * P µs",+ " - Writes: Number of subkeys + 1",+ " # </weight>"+ ]+ },+ {+ "name": "remark_with_event",+ "args": [+ {+ "name": "remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark and emit event.",+ "",+ " # <weight>",+ " - `O(b)` where b is the length of the remark.",+ " - 1 event.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ExtrinsicSuccess",+ "args": [+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic completed successfully. \\[info\\]"+ ]+ },+ {+ "name": "ExtrinsicFailed",+ "args": [+ "DispatchError",+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic failed. \\[error, info\\]"+ ]+ },+ {+ "name": "CodeUpdated",+ "args": [],+ "docs": [+ " `:code` was updated."+ ]+ },+ {+ "name": "NewAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A new \\[account\\] was created."+ ]+ },+ {+ "name": "KilledAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] was reaped."+ ]+ },+ {+ "name": "Remarked",+ "args": [+ "AccountId",+ "Hash"+ ],+ "docs": [+ " On on-chain remark happened. \\[origin, remark_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "BlockWeights",+ "type": "BlockWeights",+ "value": "0x00f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a740000004059730700000000000000",+ "docs": [+ " Block & extrinsics weights: base values and limits."+ ]+ },+ {+ "name": "BlockLength",+ "type": "BlockLength",+ "value": "0x00003c000000500000005000",+ "docs": [+ " The maximum length of a block (in bytes)."+ ]+ },+ {+ "name": "BlockHashCount",+ "type": "BlockNumber",+ "value": "0x60090000",+ "docs": [+ " Maximum number of block number to block hash mappings to keep (oldest pruned first)."+ ]+ },+ {+ "name": "DbWeight",+ "type": "RuntimeDbWeight",+ "value": "0x40787d010000000000e1f50500000000",+ "docs": [+ " The weight of runtime database operations the runtime can invoke."+ ]+ },+ {+ "name": "Version",+ "type": "RuntimeVersion",+ "value": "0x106e6f6465387375627374726174652d6e6f64650a0000000b0100000000000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b0100000002000000",+ "docs": [+ " Get the chain's current version."+ ]+ },+ {+ "name": "SS58Prefix",+ "type": "u16",+ "value": "0x2a00",+ "docs": [+ " The designated SS85 prefix of this chain.",+ "",+ " This replaces the \"ss58Format\" property declared in the chain spec. Reason is",+ " that the runtime should know about the prefix in order to make use of it as",+ " an identifier of the chain."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidSpecName",+ "docs": [+ " The name of specification does not match between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "SpecVersionNeedsToIncrease",+ "docs": [+ " The specification version is not allowed to decrease between the current runtime",+ " and the new runtime."+ ]+ },+ {+ "name": "FailedToExtractRuntimeVersion",+ "docs": [+ " Failed to extract the runtime version from the new runtime.",+ "",+ " Either calling `Core_version` or decoding `RuntimeVersion` failed."+ ]+ },+ {+ "name": "NonDefaultComposite",+ "docs": [+ " Suicide called when the account has non-default composite data."+ ]+ },+ {+ "name": "NonZeroRefCount",+ "docs": [+ " There is a non-zero reference count preventing the account from being purged."+ ]+ }+ ],+ "index": 0+ },+ {+ "name": "Utility",+ "storage": null,+ "calls": [+ {+ "name": "batch",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " If origin is root then call are dispatch without checking origin filter. (This includes",+ " bypassing `frame_system::Config::BaseCallFilter`).",+ "",+ " # <weight>",+ " - Complexity: O(C) where C is the number of calls to be batched.",+ " # </weight>",+ "",+ " This will return `Ok` in all circumstances. To determine the success of the batch, an",+ " event is deposited. If a call failed and the batch was interrupted, then the",+ " `BatchInterrupted` event is deposited, along with the number of successful calls made",+ " and the error of the failed call. If all were successful, then the `BatchCompleted`",+ " event is deposited."+ ]+ },+ {+ "name": "as_derivative",+ "args": [+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through an indexed pseudonym of the sender.",+ "",+ " Filter from origin are passed along. The call will be dispatched with an origin which",+ " use the same filter as the origin of this call.",+ "",+ " NOTE: If you need to ensure that any account-based filtering is not honored (i.e.",+ " because you expect `proxy` to have been used prior in the call stack and you do not want",+ " the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`",+ " in the Multisig pallet instead.",+ "",+ " NOTE: Prior to version *12, this was called `as_limited_sub`.",+ "",+ " The dispatch origin for this call must be _Signed_."+ ]+ },+ {+ "name": "batch_all",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls and atomically execute them.",+ " The whole transaction will rollback and fail if any of the calls failed.",+ "",+ " May be called from any origin.",+ "",+ " - `calls`: The calls to be dispatched from the same origin.",+ "",+ " If origin is root then call are dispatch without checking origin filter. (This includes",+ " bypassing `frame_system::Config::BaseCallFilter`).",+ "",+ " # <weight>",+ " - Complexity: O(C) where C is the number of calls to be batched.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "BatchInterrupted",+ "args": [+ "u32",+ "DispatchError"+ ],+ "docs": [+ " Batch of dispatches did not complete fully. Index of first failing dispatch given, as",+ " well as the error. \\[index, error\\]"+ ]+ },+ {+ "name": "BatchCompleted",+ "args": [],+ "docs": [+ " Batch of dispatches completed fully with no error."+ ]+ },+ {+ "name": "ItemCompleted",+ "args": [],+ "docs": [+ " A single item within a Batch of dispatches has completed with no error."+ ]+ }+ ],+ "constants": [],+ "errors": [],+ "index": 1+ },+ {+ "name": "Babe",+ "storage": {+ "prefix": "Babe",+ "items": [+ {+ "name": "EpochIndex",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current epoch index."+ ]+ },+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Current epoch authorities."+ ]+ },+ {+ "name": "GenesisSlot",+ "modifier": "Default",+ "type": {+ "plain": "Slot"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The slot at which the first epoch actually started. This is 0",+ " until the first block of the chain."+ ]+ },+ {+ "name": "CurrentSlot",+ "modifier": "Default",+ "type": {+ "plain": "Slot"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current slot number."+ ]+ },+ {+ "name": "Randomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The epoch randomness for the *current* epoch.",+ "",+ " # Security",+ "",+ " This MUST NOT be used for gambling, as it can be influenced by a",+ " malicious validator in the short term. It MAY be used in many",+ " cryptographic protocols, however, so long as one remembers that this",+ " (like everything else on-chain) it is public. For example, it can be",+ " used where a number is needed that cannot have been chosen by an",+ " adversary, for purposes such as public-coin zero-knowledge proofs."+ ]+ },+ {+ "name": "PendingEpochConfigChange",+ "modifier": "Optional",+ "type": {+ "plain": "NextConfigDescriptor"+ },+ "fallback": "0x00",+ "docs": [+ " Pending epoch configuration change that will be applied when the next epoch is enacted."+ ]+ },+ {+ "name": "NextRandomness",+ "modifier": "Default",+ "type": {+ "plain": "Randomness"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Next epoch randomness."+ ]+ },+ {+ "name": "NextAuthorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Next epoch authorities."+ ]+ },+ {+ "name": "SegmentIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Randomness under construction.",+ "",+ " We make a tradeoff between storage accesses and list length.",+ " We store the under-construction randomness in segments of up to",+ " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",+ "",+ " Once a segment reaches this length, we begin the next one.",+ " We reset all segments and return to `0` at the beginning of every",+ " epoch."+ ]+ },+ {+ "name": "UnderConstruction",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "Vec<Randomness>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."+ ]+ },+ {+ "name": "Initialized",+ "modifier": "Optional",+ "type": {+ "plain": "MaybeRandomness"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) which is `Some`",+ " if per-block initialization has already been called for current block."+ ]+ },+ {+ "name": "AuthorVrfRandomness",+ "modifier": "Default",+ "type": {+ "plain": "MaybeRandomness"+ },+ "fallback": "0x00",+ "docs": [+ " This field should always be populated during block processing unless",+ " secondary plain slots are enabled (which don't contain a VRF output).",+ "",+ " It is set in `on_initialize`, before it will contain the value from the last block."+ ]+ },+ {+ "name": "EpochStart",+ "modifier": "Default",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The block numbers when the last and current epoch have started, respectively `N-1` and",+ " `N`.",+ " NOTE: We track this is in order to annotate the block number when a given pool of",+ " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in",+ " slots, which may be skipped, the block numbers may not line up with the slot numbers."+ ]+ },+ {+ "name": "Lateness",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " How late the current block is compared to its parent.",+ "",+ " This entry is populated as part of block execution and is cleaned up",+ " on block finalization. Querying this storage entry outside of block",+ " execution context should always yield zero."+ ]+ },+ {+ "name": "EpochConfig",+ "modifier": "Optional",+ "type": {+ "plain": "BabeEpochConfiguration"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the current epoch. Should never be `None` as it is initialized in genesis."+ ]+ },+ {+ "name": "NextEpochConfig",+ "modifier": "Optional",+ "type": {+ "plain": "BabeEpochConfiguration"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the next epoch, `None` if the config will not change",+ " (you can fallback to `EpochConfig` instead in that case)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "BabeEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report authority equivocation/misbehavior. This method will verify",+ " the equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence will",+ " be reported.",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ },+ {+ "name": "plan_config_change",+ "args": [+ {+ "name": "config",+ "type": "NextConfigDescriptor"+ }+ ],+ "docs": [+ " Plan an epoch config change. The epoch config change is recorded and will be enacted on",+ " the next call to `enact_epoch_change`. The config will be activated one epoch after.",+ " Multiple calls to this method will replace any existing planned config change that had",+ " not been enacted yet."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "EpochDuration",+ "type": "u64",+ "value": "0xc800000000000000",+ "docs": [+ " The amount of time, in slots, that each epoch should last.",+ " NOTE: Currently it is not possible to change the epoch duration after",+ " the chain has started. Attempting to do so will brick block production."+ ]+ },+ {+ "name": "ExpectedBlockTime",+ "type": "Moment",+ "value": "0xb80b000000000000",+ "docs": [+ " The expected average block time at which BABE should be creating",+ " blocks. Since BABE is probabilistic it is not trivial to figure out",+ " what the expected average block time should be based on the slot",+ " duration and the security parameter `c` (where `1 - c` represents",+ " the probability of a slot being empty)."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidEquivocationProof",+ "docs": [+ " An equivocation proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "InvalidKeyOwnershipProof",+ "docs": [+ " A key ownership proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "DuplicateOffenceReport",+ "docs": [+ " A given equivocation report is valid but already previously reported."+ ]+ }+ ],+ "index": 2+ },+ {+ "name": "Timestamp",+ "storage": {+ "prefix": "Timestamp",+ "items": [+ {+ "name": "Now",+ "modifier": "Default",+ "type": {+ "plain": "Moment"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current time for the current block."+ ]+ },+ {+ "name": "DidUpdate",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Did the timestamp get updated in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set",+ "args": [+ {+ "name": "now",+ "type": "Compact<Moment>"+ }+ ],+ "docs": [+ " Set the current time.",+ "",+ " This call should be invoked exactly once per block. It will panic at the finalization",+ " phase, if this call hasn't been invoked by that time.",+ "",+ " The timestamp should be greater than the previous one by the amount specified by",+ " `MinimumPeriod`.",+ "",+ " The dispatch origin for this call must be `Inherent`.",+ "",+ " # <weight>",+ " - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",+ " - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",+ " - 1 event handler `on_timestamp_set`. Must be `O(1)`.",+ " # </weight>"+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "MinimumPeriod",+ "type": "Moment",+ "value": "0xdc05000000000000",+ "docs": [+ " The minimum period between blocks. Beware that this is different to the *expected* period",+ " that the block production apparatus provides. Your chosen consensus system will generally",+ " work with this to determine a sensible block time. e.g. For Aura, it will be double this",+ " period on default settings."+ ]+ }+ ],+ "errors": [],+ "index": 3+ },+ {+ "name": "Authorship",+ "storage": {+ "prefix": "Authorship",+ "items": [+ {+ "name": "Uncles",+ "modifier": "Default",+ "type": {+ "plain": "Vec<UncleEntryItem>"+ },+ "fallback": "0x00",+ "docs": [+ " Uncles"+ ]+ },+ {+ "name": "Author",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " Author of current block."+ ]+ },+ {+ "name": "DidSetUncles",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Whether uncles were already set in this block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_uncles",+ "args": [+ {+ "name": "new_uncles",+ "type": "Vec<Header>"+ }+ ],+ "docs": [+ " Provide a set of uncles."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "UncleGenerations",+ "type": "BlockNumber",+ "value": "0x05000000",+ "docs": [+ " The number of blocks back we should accept uncles.",+ " This means that we will deal with uncle-parents that are",+ " `UncleGenerations + 1` before `now`."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidUncleParent",+ "docs": [+ " The uncle parent not in the chain."+ ]+ },+ {+ "name": "UnclesAlreadySet",+ "docs": [+ " Uncles already set in the block."+ ]+ },+ {+ "name": "TooManyUncles",+ "docs": [+ " Too many uncles."+ ]+ },+ {+ "name": "GenesisUncle",+ "docs": [+ " The uncle is genesis."+ ]+ },+ {+ "name": "TooHighUncle",+ "docs": [+ " The uncle is too high in chain."+ ]+ },+ {+ "name": "UncleAlreadyIncluded",+ "docs": [+ " The uncle is already included."+ ]+ },+ {+ "name": "OldUncle",+ "docs": [+ " The uncle isn't recent enough to be included."+ ]+ }+ ],+ "index": 4+ },+ {+ "name": "Indices",+ "storage": {+ "prefix": "Indices",+ "items": [+ {+ "name": "Accounts",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountIndex",+ "value": "(AccountId,BalanceOf,bool)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The lookup from index to account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "claim",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an previously unassigned index.",+ "",+ " Payment: `Deposit` is reserved from the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be claimed. This must not be in use.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Assign an index already owned by the sender to another account. The balance reservation",+ " is effectively transferred to the new account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `index`: the index to be re-assigned. This must be owned by the sender.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One transfer operation.",+ " - One event.",+ " -------------------",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (recipient)",+ " - Writes: Indices Accounts, System Account (recipient)",+ " # </weight>"+ ]+ },+ {+ "name": "free",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Free up an index owned by the sender.",+ "",+ " Payment: Any previous deposit placed for the index is unreserved in the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must own the index.",+ "",+ " - `index`: the index to be freed. This must be owned by the sender.",+ "",+ " Emits `IndexFreed` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - One reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "AccountIndex"+ },+ {+ "name": "freeze",+ "type": "bool"+ }+ ],+ "docs": [+ " Force an index to an account. This doesn't require a deposit. If the index is already",+ " held, then any deposit is reimbursed to its current owner.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `index`: the index to be (re-)assigned.",+ " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",+ " - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.",+ "",+ " Emits `IndexAssigned` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one reserve operation.",+ " - One event.",+ " -------------------",+ " - DB Weight:",+ " - Reads: Indices Accounts, System Account (original owner)",+ " - Writes: Indices Accounts, System Account (original owner)",+ " # </weight>"+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "index",+ "type": "AccountIndex"+ }+ ],+ "docs": [+ " Freeze an index so it will always point to the sender account. This consumes the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must have a",+ " non-frozen account `index`.",+ "",+ " - `index`: the index to be frozen in place.",+ "",+ " Emits `IndexFrozen` if successful.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - One storage mutation (codec `O(1)`).",+ " - Up to one slash operation.",+ " - One event.",+ " -------------------",+ " - DB Weight: 1 Read/Write (Accounts)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "IndexAssigned",+ "args": [+ "AccountId",+ "AccountIndex"+ ],+ "docs": [+ " A account index was assigned. \\[index, who\\]"+ ]+ },+ {+ "name": "IndexFreed",+ "args": [+ "AccountIndex"+ ],+ "docs": [+ " A account index has been freed up (unassigned). \\[index\\]"+ ]+ },+ {+ "name": "IndexFrozen",+ "args": [+ "AccountIndex",+ "AccountId"+ ],+ "docs": [+ " A account index has been frozen to its current account ID. \\[index, who\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "Deposit",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The deposit needed for reserving an index."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotAssigned",+ "docs": [+ " The index was not already assigned."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " The index is assigned to another account."+ ]+ },+ {+ "name": "InUse",+ "docs": [+ " The index was not available."+ ]+ },+ {+ "name": "NotTransfer",+ "docs": [+ " The source and destination accounts are identical."+ ]+ },+ {+ "name": "Permanent",+ "docs": [+ " The index is permanent and may not be freed/changed."+ ]+ }+ ],+ "index": 5+ },+ {+ "name": "Balances",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "TotalIssuance",+ "modifier": "Default",+ "type": {+ "plain": "Balance"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total units issued in the system."+ ]+ },+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountData",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The balance of an account.",+ "",+ " NOTE: This is only used in the case that this pallet is used to store balances."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "Vec<BalanceLock>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Any liquidity locks on some account balances.",+ " NOTE: Should only be accessed when setting, changing and freeing a lock."+ ]+ },+ {+ "name": "Reserves",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "Vec<ReserveData>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Named reserves on some account balances."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " This is set to v2.0.0 for new networks."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "transfer",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Transfer some liquid free balance to another account.",+ "",+ " `transfer` will set the `FreeBalance` of the sender and receiver.",+ " It will decrease the total issuance of the system by the `TransferFee`.",+ " If the sender's account is below the existential deposit as a result",+ " of the transfer, the account will be reaped.",+ "",+ " The dispatch origin for this call must be `Signed` by the transactor.",+ "",+ " # <weight>",+ " - Dependent on arguments but not critical, given proper implementations for",+ " input config types. See related functions below.",+ " - It contains a limited number of reads and writes internally and no complex computation.",+ "",+ " Related functions:",+ "",+ " - `ensure_can_withdraw` is always called internally but has a bounded complexity.",+ " - Transferring balances to accounts that did not exist before will cause",+ " `T::OnNewAccount::on_new_account` to be called.",+ " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.",+ " - `transfer_keep_alive` works the same way as `transfer`, but has an additional",+ " check that the transfer will not kill the origin account.",+ " ---------------------------------",+ " - Base Weight: 73.64 µs, worst case scenario (account created, account removed)",+ " - DB Weight: 1 Read and 1 Write to destination account",+ " - Origin account is already in memory, so no DB operations for them.",+ " # </weight>"+ ]+ },+ {+ "name": "set_balance",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "new_free",+ "type": "Compact<Balance>"+ },+ {+ "name": "new_reserved",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Set the balances of a given account.",+ "",+ " This will alter `FreeBalance` and `ReservedBalance` in storage. it will",+ " also decrease the total issuance of the system (`TotalIssuance`).",+ " If the new free or reserved balance is below the existential deposit,",+ " it will reset the account nonce (`frame_system::AccountNonce`).",+ "",+ " The dispatch origin for this call is `root`.",+ "",+ " # <weight>",+ " - Independent of the arguments.",+ " - Contains a limited number of reads and writes.",+ " ---------------------",+ " - Base Weight:",+ " - Creating: 27.56 µs",+ " - Killing: 35.11 µs",+ " - DB Weight: 1 Read, 1 Write to `who`",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Exactly as `transfer`, except the origin must be root and the source account may be",+ " specified.",+ " # <weight>",+ " - Same as transfer, but additional read and write because the source account is",+ " not assumed to be in the overlay.",+ " # </weight>"+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Same as the [`transfer`] call, but with a check that the transfer will not kill the",+ " origin account.",+ "",+ " 99% of the time you want [`transfer`] instead.",+ "",+ " [`transfer`]: struct.Pallet.html#method.transfer",+ " # <weight>",+ " - Cheaper than transfer because account cannot be killed.",+ " - Base Weight: 51.4 µs",+ " - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)",+ " #</weight>"+ ]+ },+ {+ "name": "transfer_all",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "keep_alive",+ "type": "bool"+ }+ ],+ "docs": [+ " Transfer the entire transferable balance from the caller account.",+ "",+ " NOTE: This function only attempts to transfer _transferable_ balances. This means that",+ " any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be",+ " transferred by this function. To ensure that this function results in a killed account,",+ " you might need to prepare the account by removing any reference counters, storage",+ " deposits, etc...",+ "",+ " The dispatch origin of this call must be Signed.",+ "",+ " - `dest`: The recipient of the transfer.",+ " - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all",+ " of the funds the account has, causing the sender account to be killed (false), or",+ " transfer everything except at least the existential deposit, which will guarantee to",+ " keep the sender account alive (true).",+ " # <weight>",+ " - O(1). Just like transfer, but reading the user's transferable balance first.",+ " #</weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Endowed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was created with some free balance. \\[account, free_balance\\]"+ ]+ },+ {+ "name": "DustLost",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account was removed whose balance was non-zero but below ExistentialDeposit,",+ " resulting in an outright loss. \\[account, balance\\]"+ ]+ },+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Transfer succeeded. \\[from, to, value\\]"+ ]+ },+ {+ "name": "BalanceSet",+ "args": [+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " A balance was set by root. \\[who, free, reserved\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some amount was deposited (e.g. for transaction fees). \\[who, deposit\\]"+ ]+ },+ {+ "name": "Reserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was reserved (moved from free to reserved). \\[who, value\\]"+ ]+ },+ {+ "name": "Unreserved",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Some balance was unreserved (moved from reserved to free). \\[who, value\\]"+ ]+ },+ {+ "name": "ReserveRepatriated",+ "args": [+ "AccountId",+ "AccountId",+ "Balance",+ "BalanceStatus"+ ],+ "docs": [+ " Some balance was moved from the reserve of the first account to the second account.",+ " Final argument indicates the destination balance type.",+ " \\[from, to, balance, destination_status\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ExistentialDeposit",+ "type": "Balance",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to keep an account open."+ ]+ },+ {+ "name": "MaxLocks",+ "type": "u32",+ "value": "0x32000000",+ "docs": [+ " The maximum number of locks that should exist on an account.",+ " Not strictly enforced, but used for weight estimation."+ ]+ },+ {+ "name": "MaxReserves",+ "type": "u32",+ "value": "0x32000000",+ "docs": [+ " The maximum number of named reserves that can exist on an account."+ ]+ }+ ],+ "errors": [+ {+ "name": "VestingBalance",+ "docs": [+ " Vesting balance too high to send value"+ ]+ },+ {+ "name": "LiquidityRestrictions",+ "docs": [+ " Account liquidity restrictions prevent withdrawal"+ ]+ },+ {+ "name": "InsufficientBalance",+ "docs": [+ " Balance too low to send value"+ ]+ },+ {+ "name": "ExistentialDeposit",+ "docs": [+ " Value too low to create account due to existential deposit"+ ]+ },+ {+ "name": "KeepAlive",+ "docs": [+ " Transfer/payment would kill account"+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " A vesting schedule already exists for this account"+ ]+ },+ {+ "name": "DeadAccount",+ "docs": [+ " Beneficiary account must pre-exist"+ ]+ },+ {+ "name": "TooManyReserves",+ "docs": [+ " Number of named reserves exceed MaxReserves"+ ]+ }+ ],+ "index": 6+ },+ {+ "name": "TransactionPayment",+ "storage": {+ "prefix": "TransactionPayment",+ "items": [+ {+ "name": "NextFeeMultiplier",+ "modifier": "Default",+ "type": {+ "plain": "Multiplier"+ },+ "fallback": "0x000064a7b3b6e00d0000000000000000",+ "docs": []+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ },+ {+ "name": "WeightToFee",+ "type": "Vec<WeightToFeeCoefficient>",+ "value": "0x0401000000000000000000000000000000000000000001",+ "docs": [+ " The polynomial that is applied in order to derive fee from weight."+ ]+ }+ ],+ "errors": [],+ "index": 7+ },+ {+ "name": "ElectionProviderMultiPhase",+ "storage": {+ "prefix": "ElectionProviderMultiPhase",+ "items": [+ {+ "name": "Round",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x01000000",+ "docs": [+ " Internal counter for the number of rounds.",+ "",+ " This is useful for de-duplication of transactions submitted to the pool, and general",+ " diagnostics of the pallet.",+ "",+ " This is merely incremented once per every time that an upstream `elect` is called."+ ]+ },+ {+ "name": "CurrentPhase",+ "modifier": "Default",+ "type": {+ "plain": "ElectionPhase"+ },+ "fallback": "0x00",+ "docs": [+ " Current phase."+ ]+ },+ {+ "name": "QueuedSolution",+ "modifier": "Optional",+ "type": {+ "plain": "ReadySolution"+ },+ "fallback": "0x00",+ "docs": [+ " Current best solution, signed or unsigned, queued to be returned upon `elect`."+ ]+ },+ {+ "name": "Snapshot",+ "modifier": "Optional",+ "type": {+ "plain": "RoundSnapshot"+ },+ "fallback": "0x00",+ "docs": [+ " Snapshot data of the round.",+ "",+ " This is created at the beginning of the signed phase and cleared upon calling `elect`."+ ]+ },+ {+ "name": "DesiredTargets",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Desired number of targets to elect for this round.",+ "",+ " Only exists when [`Snapshot`] is present."+ ]+ },+ {+ "name": "SnapshotMetadata",+ "modifier": "Optional",+ "type": {+ "plain": "SolutionOrSnapshotSize"+ },+ "fallback": "0x00",+ "docs": [+ " The metadata of the [`RoundSnapshot`]",+ "",+ " Only exists when [`Snapshot`] is present."+ ]+ },+ {+ "name": "SignedSubmissionNextIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next index to be assigned to an incoming signed submission.",+ "",+ " Every accepted submission is assigned a unique index; that index is bound to that particular",+ " submission for the duration of the election. On election finalization, the next index is",+ " reset to 0.",+ "",+ " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its",+ " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,",+ " because iteration is slow. Instead, we store the value here."+ ]+ },+ {+ "name": "SignedSubmissionIndices",+ "modifier": "Default",+ "type": {+ "plain": "SubmissionIndicesOf"+ },+ "fallback": "0x00",+ "docs": [+ " A sorted, bounded set of `(score, index)`, where each `index` points to a value in",+ " `SignedSubmissions`.",+ "",+ " We never need to process more than a single signed submission at a time. Signed submissions",+ " can be quite large, so we're willing to pay the cost of multiple database accesses to access",+ " them one at a time instead of reading and decoding all of them at once."+ ]+ },+ {+ "name": "SignedSubmissionsMap",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "SignedSubmissionOf",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000",+ "docs": [+ " Unchecked, signed solutions.",+ "",+ " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while",+ " allowing us to keep only a single one in memory at a time.",+ "",+ " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or",+ " affect; we shouldn't need a cryptographically secure hasher."+ ]+ },+ {+ "name": "MinimumUntrustedScore",+ "modifier": "Optional",+ "type": {+ "plain": "ElectionScore"+ },+ "fallback": "0x00",+ "docs": [+ " The minimum score that each 'untrusted' solution must attain in order to be considered",+ " feasible.",+ "",+ " Can be set via `set_minimum_untrusted_score`."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "submit_unsigned",+ "args": [+ {+ "name": "solution",+ "type": "RawSolution"+ },+ {+ "name": "witness",+ "type": "SolutionOrSnapshotSize"+ }+ ],+ "docs": [+ " Submit a solution for the unsigned phase.",+ "",+ " The dispatch origin fo this call must be __none__.",+ "",+ " This submission is checked on the fly. Moreover, this unsigned solution is only",+ " validated when submitted to the pool from the **local** node. Effectively, this means",+ " that only active validators can submit this transaction when authoring a block (similar",+ " to an inherent).",+ "",+ " To prevent any incorrect solution (and thus wasted time/weight), this transaction will",+ " panic if the solution submitted by the validator is invalid in any way, effectively",+ " putting their authoring reward at risk.",+ "",+ " No deposit or reward is associated with this submission."+ ]+ },+ {+ "name": "set_minimum_untrusted_score",+ "args": [+ {+ "name": "maybe_next_score",+ "type": "Option<ElectionScore>"+ }+ ],+ "docs": [+ " Set a new value for `MinimumUntrustedScore`.",+ "",+ " Dispatch origin must be aligned with `T::ForceOrigin`.",+ "",+ " This check can be turned off by setting the value to `None`."+ ]+ },+ {+ "name": "set_emergency_election_result",+ "args": [+ {+ "name": "supports",+ "type": "Supports"+ }+ ],+ "docs": [+ " Set a solution in the queue, to be handed out to the client of this pallet in the next",+ " call to `ElectionProvider::elect`.",+ "",+ " This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.",+ "",+ " The solution is not checked for any feasibility and is assumed to be trustworthy, as any",+ " feasibility check itself can in principle cause the election process to fail (due to",+ " memory/weight constrains)."+ ]+ },+ {+ "name": "submit",+ "args": [+ {+ "name": "solution",+ "type": "RawSolution"+ },+ {+ "name": "num_signed_submissions",+ "type": "u32"+ }+ ],+ "docs": [+ " Submit a solution for the signed phase.",+ "",+ " The dispatch origin fo this call must be __signed__.",+ "",+ " The solution is potentially queued, based on the claimed score and processed at the end",+ " of the signed phase.",+ "",+ " A deposit is reserved and recorded for the solution. Based on the outcome, the solution",+ " might be rewarded, slashed, or get all or a part of the deposit back.",+ "",+ " # <weight>",+ " Queue size must be provided as witness data.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "SolutionStored",+ "args": [+ "ElectionCompute",+ "bool"+ ],+ "docs": [+ " A solution was stored with the given compute.",+ "",+ " If the solution is signed, this means that it hasn't yet been processed. If the",+ " solution is unsigned, this means that it has also been processed.",+ "",+ " The `bool` is `true` when a previous solution was ejected to make room for this one."+ ]+ },+ {+ "name": "ElectionFinalized",+ "args": [+ "Option<ElectionCompute>"+ ],+ "docs": [+ " The election has been finalized, with `Some` of the given computation, or else if the",+ " election failed, `None`."+ ]+ },+ {+ "name": "Rewarded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has been rewarded for their signed submission being finalized."+ ]+ },+ {+ "name": "Slashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has been slashed for submitting an invalid signed submission."+ ]+ },+ {+ "name": "SignedPhaseStarted",+ "args": [+ "u32"+ ],+ "docs": [+ " The signed phase of the given round has started."+ ]+ },+ {+ "name": "UnsignedPhaseStarted",+ "args": [+ "u32"+ ],+ "docs": [+ " The unsigned phase of the given round has started."+ ]+ }+ ],+ "constants": [+ {+ "name": "UnsignedPhase",+ "type": "BlockNumber",+ "value": "0x32000000",+ "docs": [+ " Duration of the unsigned phase."+ ]+ },+ {+ "name": "SignedPhase",+ "type": "BlockNumber",+ "value": "0x32000000",+ "docs": [+ " Duration of the signed phase."+ ]+ },+ {+ "name": "SolutionImprovementThreshold",+ "type": "Perbill",+ "value": "0xa0860100",+ "docs": [+ " The minimum amount of improvement to the solution score that defines a solution as",+ " \"better\" (in any phase)."+ ]+ },+ {+ "name": "OffchainRepeat",+ "type": "BlockNumber",+ "value": "0x05000000",+ "docs": [+ " The repeat threshold of the offchain worker.",+ "",+ " For example, if it is 5, that means that at least 5 blocks will elapse between attempts",+ " to submit the worker's solution."+ ]+ },+ {+ "name": "MinerTxPriority",+ "type": "TransactionPriority",+ "value": "0xfeffffffffffff7f",+ "docs": [+ " The priority of the unsigned transaction submitted in the unsigned-phase"+ ]+ },+ {+ "name": "MinerMaxIterations",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Maximum number of iteration of balancing that will be executed in the embedded miner of",+ " the pallet."+ ]+ },+ {+ "name": "MinerMaxWeight",+ "type": "Weight",+ "value": "0xc07c907c2d010000",+ "docs": [+ " Maximum weight that the miner should consume.",+ "",+ " The miner will ensure that the total weight of the unsigned solution will not exceed",+ " this value, based on [`WeightInfo::submit_unsigned`]."+ ]+ },+ {+ "name": "SignedMaxSubmissions",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Maximum number of signed submissions that can be queued.",+ "",+ " It is best to avoid adjusting this during an election, as it impacts downstream data",+ " structures. In particular, `SignedSubmissionIndices<T>` is bounded on this value. If you",+ " update this value during an election, you _must_ ensure that",+ " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,",+ " attempts to submit new solutions may cause a runtime panic."+ ]+ },+ {+ "name": "SignedMaxWeight",+ "type": "Weight",+ "value": "0xc07c907c2d010000",+ "docs": [+ " Maximum weight of a signed solution.",+ "",+ " This should probably be similar to [`Config::MinerMaxWeight`]."+ ]+ },+ {+ "name": "SignedRewardBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Base reward for a signed solution"+ ]+ },+ {+ "name": "SignedDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Base deposit for a signed solution."+ ]+ },+ {+ "name": "SignedDepositByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " Per-byte deposit for a signed solution."+ ]+ },+ {+ "name": "SignedDepositWeight",+ "type": "BalanceOf",+ "value": "0x00000000000000000000000000000000",+ "docs": [+ " Per-weight deposit for a signed solution."+ ]+ },+ {+ "name": "MinerMaxLength",+ "type": "u32",+ "value": "0x00003600",+ "docs": [+ " Maximum length (bytes) that the mined solution should consume.",+ "",+ " The miner will ensure that the total length of the unsigned solution will not exceed",+ " this value."+ ]+ }+ ],+ "errors": [+ {+ "name": "PreDispatchEarlySubmission",+ "docs": [+ " Submission was too early."+ ]+ },+ {+ "name": "PreDispatchWrongWinnerCount",+ "docs": [+ " Wrong number of winners presented."+ ]+ },+ {+ "name": "PreDispatchWeakSubmission",+ "docs": [+ " Submission was too weak, score-wise."+ ]+ },+ {+ "name": "SignedQueueFull",+ "docs": [+ " The queue was full, and the solution was not better than any of the existing ones."+ ]+ },+ {+ "name": "SignedCannotPayDeposit",+ "docs": [+ " The origin failed to pay the deposit."+ ]+ },+ {+ "name": "SignedInvalidWitness",+ "docs": [+ " Witness data to dispatchable is invalid."+ ]+ },+ {+ "name": "SignedTooMuchWeight",+ "docs": [+ " The signed submission consumes too much weight"+ ]+ },+ {+ "name": "OcwCallWrongEra",+ "docs": [+ " OCW submitted solution for wrong round"+ ]+ },+ {+ "name": "MissingSnapshotMetadata",+ "docs": [+ " Snapshot metadata should exist but didn't."+ ]+ },+ {+ "name": "InvalidSubmissionIndex",+ "docs": [+ " `Self::insert_submission` returned an invalid index."+ ]+ },+ {+ "name": "CallNotAllowed",+ "docs": [+ " The call is not allowed at this point."+ ]+ }+ ],+ "index": 8+ },+ {+ "name": "Staking",+ "storage": {+ "prefix": "Staking",+ "items": [+ {+ "name": "HistoryDepth",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x54000000",+ "docs": [+ " Number of eras to keep in history.",+ "",+ " Information is kept for eras in `[current_era - history_depth; current_era]`.",+ "",+ " Must be more than the number of eras delayed by session otherwise. I.e. active era must",+ " always be in history. I.e. `active_era > current_era - history_depth` must be",+ " guaranteed."+ ]+ },+ {+ "name": "ValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The ideal number of staking participants."+ ]+ },+ {+ "name": "MinimumValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Minimum number of staking participants before emergency conditions are imposed."+ ]+ },+ {+ "name": "Invulnerables",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",+ " easy to initialize and the performance hit is minimal (we expect no more than four",+ " invulnerables) and restricted to testnets."+ ]+ },+ {+ "name": "Bonded",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all locked \"stash\" accounts to the controller account."+ ]+ },+ {+ "name": "MinNominatorBond",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The minimum active bond to become and maintain the role of a nominator."+ ]+ },+ {+ "name": "MinValidatorBond",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The minimum active bond to become and maintain the role of a validator."+ ]+ },+ {+ "name": "Ledger",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "StakingLedger",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."+ ]+ },+ {+ "name": "Payee",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RewardDestination",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Where the reward payment should be made. Keyed by stash."+ ]+ },+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ValidatorPrefs",+ "linked": false+ }+ },+ "fallback": "0x0000",+ "docs": [+ " The map from (wannabe) validator stash key to the preferences of that validator.",+ "",+ " When updating this storage item, you must also update the `CounterForValidators`."+ ]+ },+ {+ "name": "CounterForValidators",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " A tracker to keep count of the number of items in the `Validators` map."+ ]+ },+ {+ "name": "MaxValidatorsCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " The maximum validator count before we stop allowing new validators to join.",+ "",+ " When this value is not set, no limits are enforced."+ ]+ },+ {+ "name": "Nominators",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Nominations",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from nominator stash key to the set of stash keys of all validators to nominate.",+ "",+ " When updating this storage item, you must also update the `CounterForNominators`."+ ]+ },+ {+ "name": "CounterForNominators",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " A tracker to keep count of the number of items in the `Nominators` map."+ ]+ },+ {+ "name": "MaxNominatorsCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " The maximum nominator count before we stop allowing new validators to join.",+ "",+ " When this value is not set, no limits are enforced."+ ]+ },+ {+ "name": "CurrentEra",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The current era index.",+ "",+ " This is the latest planned era, depending on how the Session pallet queues the validator",+ " set, it might be active or not."+ ]+ },+ {+ "name": "ActiveEra",+ "modifier": "Optional",+ "type": {+ "plain": "ActiveEraInfo"+ },+ "fallback": "0x00",+ "docs": [+ " The active era information, it holds index and start.",+ "",+ " The active era is the era being currently rewarded. Validator set of this era must be",+ " equal to [`SessionInterface::validators`]."+ ]+ },+ {+ "name": "ErasStartSessionIndex",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The session index at which the era start for the last `HISTORY_DEPTH` eras.",+ "",+ " Note: This tracks the starting session (i.e. session index when era start being active)",+ " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."+ ]+ },+ {+ "name": "ErasStakers",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Exposure of validator at era.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasStakersClipped",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "Exposure",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Clipped Exposure of validator at era.",+ "",+ " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the",+ " `T::MaxNominatorRewardedPerValidator` biggest stakers.",+ " (Note: the field `total` and `own` of the exposure remains unchanged).",+ " This is used to limit the i/o cost for the nominator payout.",+ "",+ " This is keyed fist by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras.",+ " If stakers hasn't been set or has been removed then empty exposure is returned."+ ]+ },+ {+ "name": "ErasValidatorPrefs",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "ValidatorPrefs",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x0000",+ "docs": [+ " Similar to `ErasStakers`, this holds the preferences of validators.",+ "",+ " This is keyed first by the era index to allow bulk deletion and then the stash account.",+ "",+ " Is it removed after `HISTORY_DEPTH` eras."+ ]+ },+ {+ "name": "ErasValidatorReward",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The total validator era payout for the last `HISTORY_DEPTH` eras.",+ "",+ " Eras that haven't finished yet or has been removed doesn't have reward."+ ]+ },+ {+ "name": "ErasRewardPoints",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "EraRewardPoints",+ "linked": false+ }+ },+ "fallback": "0x0000000000",+ "docs": [+ " Rewards for the last `HISTORY_DEPTH` eras.",+ " If reward hasn't been set or has been removed then 0 reward is returned."+ ]+ },+ {+ "name": "ErasTotalStake",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total amount staked for the last `HISTORY_DEPTH` eras.",+ " If total hasn't been set or has been removed then 0 stake is returned."+ ]+ },+ {+ "name": "ForceEra",+ "modifier": "Default",+ "type": {+ "plain": "Forcing"+ },+ "fallback": "0x00",+ "docs": [+ " Mode of era forcing."+ ]+ },+ {+ "name": "SlashRewardFraction",+ "modifier": "Default",+ "type": {+ "plain": "Perbill"+ },+ "fallback": "0x00000000",+ "docs": [+ " The percentage of the slash that is distributed to reporters.",+ "",+ " The rest of the slashed value is handled by the `Slash`."+ ]+ },+ {+ "name": "CanceledSlashPayout",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of currency given to reporters of a slash event which was",+ " canceled by extraordinary circumstances (e.g. governance)."+ ]+ },+ {+ "name": "UnappliedSlashes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "EraIndex",+ "value": "Vec<UnappliedSlash>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " All unapplied slashes that are queued for later."+ ]+ },+ {+ "name": "BondedEras",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(EraIndex,SessionIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from still-bonded eras to the first session index of that era.",+ "",+ " Must contains information for eras for the range:",+ " `[active_era - bounding_duration; active_era]`"+ ]+ },+ {+ "name": "ValidatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "(Perbill,BalanceOf)",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on validators, mapped by era to the highest slash proportion",+ " and slash value of the era."+ ]+ },+ {+ "name": "NominatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "BalanceOf",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on nominators, mapped by era to the highest slash value of the era."+ ]+ },+ {+ "name": "SlashingSpans",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SlashingSpans",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Slashing spans for stash accounts."+ ]+ },+ {+ "name": "SpanSlash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(AccountId,SpanIndex)",+ "value": "SpanRecord",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Records information about the maximum slash of a stash within a slashing span,",+ " as well as how much reward has been paid out."+ ]+ },+ {+ "name": "EarliestUnappliedSlash",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The earliest era for which we have a pending, unapplied slash."+ ]+ },+ {+ "name": "CurrentPlannedSession",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The last planned session scheduled by the session pallet.",+ "",+ " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x06",+ "docs": [+ " True if network has been upgraded to this version.",+ " Storage version of the pallet.",+ "",+ " This is set to v7.0.0 for new networks."+ ]+ },+ {+ "name": "ChillThreshold",+ "modifier": "Optional",+ "type": {+ "plain": "Percent"+ },+ "fallback": "0x00",+ "docs": [+ " The threshold for when users can start calling `chill_other` for other validators / nominators.",+ " The threshold is compared to the actual number of validators / nominators (`CountFor*`) in",+ " the system compared to the configured max (`Max*Count`)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bond",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " Take the origin account as a stash and lock up `value` of its balance. `controller` will",+ " be the account that controls it.",+ "",+ " `value` must be more than the `minimum_balance` specified by `T::Currency`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash account.",+ "",+ " Emits `Bonded`.",+ " # <weight>",+ " - Independent of the arguments. Moderate complexity.",+ " - O(1).",+ " - Three extra DB entries.",+ "",+ " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned",+ " unless the `origin` falls below _existential deposit_ and gets removed as dust.",+ " ------------------",+ " # </weight>"+ ]+ },+ {+ "name": "bond_extra",+ "args": [+ {+ "name": "max_additional",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Add some extra amount that have appeared in the stash `free_balance` into the balance up",+ " for staking.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " Use this if there are additional funds in your stash account that you wish to bond.",+ " Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose any limitation",+ " on the amount that can be added.",+ "",+ " Emits `Bonded`.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "unbond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Schedule a portion of the stash to be unlocked ready for transfer out after the bond",+ " period ends. If this leaves an amount actively bonded less than",+ " T::Currency::minimum_balance(), then it is increased to the full amount.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " Once the unlock period is done, you can call `withdraw_unbonded` to actually move",+ " the funds out of management ready for transfer.",+ "",+ " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)",+ " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need",+ " to be called first to remove some of the chunks (if possible).",+ "",+ " If a user encounters the `InsufficientBond` error when calling this extrinsic,",+ " they should call `chill` first in order to free up their bonded funds.",+ "",+ " Emits `Unbonded`.",+ "",+ " See also [`Call::withdraw_unbonded`]."+ ]+ },+ {+ "name": "withdraw_unbonded",+ "args": [+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove any unlocked chunks from the `unlocking` queue from our management.",+ "",+ " This essentially frees up that balance to be used by the stash account to do",+ " whatever it wants.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller.",+ "",+ " Emits `Withdrawn`.",+ "",+ " See also [`Call::unbond`].",+ "",+ " # <weight>",+ " Complexity O(S) where S is the number of slashing spans to remove",+ " NOTE: Weight annotation is the kill scenario, we refund otherwise.",+ " # </weight>"+ ]+ },+ {+ "name": "validate",+ "args": [+ {+ "name": "prefs",+ "type": "ValidatorPrefs"+ }+ ],+ "docs": [+ " Declare the desire to validate for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash."+ ]+ },+ {+ "name": "nominate",+ "args": [+ {+ "name": "targets",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Declare the desire to nominate `targets` for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - The transaction's complexity is proportional to the size of `targets` (N)",+ " which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).",+ " - Both the reads and writes follow a similar pattern.",+ " # </weight>"+ ]+ },+ {+ "name": "chill",+ "args": [],+ "docs": [+ " Declare no desire to either validate or nominate.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains one read.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_payee",+ "args": [+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " (Re-)set the payment target for a controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ---------",+ " - Weight: O(1)",+ " - DB Weight:",+ " - Read: Ledger",+ " - Write: Payee",+ " # </weight>"+ ]+ },+ {+ "name": "set_controller",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " (Re-)set the controller of a stash.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " ----------",+ " Weight: O(1)",+ " DB Weight:",+ " - Read: Bonded, Ledger New Controller, Ledger Old Controller",+ " - Write: Bonded, Ledger New Controller, Ledger Old Controller",+ " # </weight>"+ ]+ },+ {+ "name": "set_validator_count",+ "args": [+ {+ "name": "new",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Sets the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Weight: O(1)",+ " Write: Validator Count",+ " # </weight>"+ ]+ },+ {+ "name": "increase_validator_count",+ "args": [+ {+ "name": "additional",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Increments the ideal number of validators.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Same as [`Self::set_validator_count`].",+ " # </weight>"+ ]+ },+ {+ "name": "scale_validator_count",+ "args": [+ {+ "name": "factor",+ "type": "Percent"+ }+ ],+ "docs": [+ " Scale up the ideal number of validators by a factor.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " Same as [`Self::set_validator_count`].",+ " # </weight>"+ ]+ },+ {+ "name": "force_no_eras",+ "args": [],+ "docs": [+ " Force there to be no new eras indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # Warning",+ "",+ " The election process starts multiple blocks before the end of the era.",+ " Thus the election process may be ongoing when this is called. In this case the",+ " election will continue until the next era is triggered.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Weight: O(1)",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of the next session. After this, it will be",+ " reset to normal (non-forced) behaviour.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # Warning",+ "",+ " The election process starts multiple blocks before the end of the era.",+ " If this is called just before a new era is triggered, the election process may not",+ " have enough blocks to get a result.",+ "",+ " # <weight>",+ " - No arguments.",+ " - Weight: O(1)",+ " - Write ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "set_invulnerables",+ "args": [+ {+ "name": "invulnerables",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the validators who cannot be slashed (if any).",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " - O(V)",+ " - Write: Invulnerables",+ " # </weight>"+ ]+ },+ {+ "name": "force_unstake",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Force a current staker to become completely unstaked, immediately.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # <weight>",+ " O(S) where S is the number of slashing spans to be removed",+ " Reads: Bonded, Slashing Spans, Account, Locks",+ " Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks",+ " Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era_always",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of sessions indefinitely.",+ "",+ " The dispatch origin must be Root.",+ "",+ " # Warning",+ "",+ " The election process starts multiple blocks before the end of the era.",+ " If this is called just before a new era is triggered, the election process may not",+ " have enough blocks to get a result.",+ "",+ " # <weight>",+ " - Weight: O(1)",+ " - Write: ForceEra",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_deferred_slash",+ "args": [+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "slash_indices",+ "type": "Vec<u32>"+ }+ ],+ "docs": [+ " Cancel enactment of a deferred slash.",+ "",+ " Can be called by the `T::SlashCancelOrigin`.",+ "",+ " Parameters: era and indices of the slashes for that era to kill.",+ "",+ " # <weight>",+ " Complexity: O(U + S)",+ " with U unapplied slashes weighted with U=1000",+ " and S is the number of slash indices to be canceled.",+ " - Read: Unapplied Slashes",+ " - Write: Unapplied Slashes",+ " # </weight>"+ ]+ },+ {+ "name": "payout_stakers",+ "args": [+ {+ "name": "validator_stash",+ "type": "AccountId"+ },+ {+ "name": "era",+ "type": "EraIndex"+ }+ ],+ "docs": [+ " Pay out all the stakers behind a single validator for a single era.",+ "",+ " - `validator_stash` is the stash account of the validator. Their nominators, up to",+ " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.",+ " - `era` may be any era between `[current_era - history_depth; current_era]`.",+ "",+ " The origin of this call must be _Signed_. Any account can call this function, even if",+ " it is not one of the stakers.",+ "",+ " # <weight>",+ " - Time complexity: at most O(MaxNominatorRewardedPerValidator).",+ " - Contains a limited number of reads and writes.",+ " -----------",+ " N is the Number of payouts for the validator (including the validator)",+ " Weight:",+ " - Reward Destination Staked: O(N)",+ " - Reward Destination Controller (Creating): O(N)",+ "",+ " NOTE: weights are assuming that payouts are made to alive stash account (Staked).",+ " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.",+ " # </weight>"+ ]+ },+ {+ "name": "rebond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Rebond a portion of the stash scheduled to be unlocked.",+ "",+ " The dispatch origin must be signed by the controller.",+ "",+ " # <weight>",+ " - Time complexity: O(L), where L is unlocking chunks",+ " - Bounded by `MAX_UNLOCKING_CHUNKS`.",+ " - Storage changes: Can't increase storage, only decrease it.",+ " # </weight>"+ ]+ },+ {+ "name": "set_history_depth",+ "args": [+ {+ "name": "new_history_depth",+ "type": "Compact<EraIndex>"+ },+ {+ "name": "_era_items_deleted",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Set `HistoryDepth` value. This function will delete any history information",+ " when `HistoryDepth` is reduced.",+ "",+ " Parameters:",+ " - `new_history_depth`: The new history depth you would like to set.",+ " - `era_items_deleted`: The number of items that will be deleted by this dispatch.",+ " This should report all the storage items that will be deleted by clearing old",+ " era history. Needed to report an accurate weight for the dispatch. Trusted by",+ " `Root` to report an accurate number.",+ "",+ " Origin must be root.",+ "",+ " # <weight>",+ " - E: Number of history depths removed, i.e. 10 -> 7 = 3",+ " - Weight: O(E)",+ " - DB Weight:",+ " - Reads: Current Era, History Depth",+ " - Writes: History Depth",+ " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs",+ " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex",+ " # </weight>"+ ]+ },+ {+ "name": "reap_stash",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ },+ {+ "name": "num_slashing_spans",+ "type": "u32"+ }+ ],+ "docs": [+ " Remove all data structure concerning a staker/stash once its balance is at the minimum.",+ " This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone",+ " and the target `stash` must have no funds left beyond the ED.",+ "",+ " This can be called from any origin.",+ "",+ " - `stash`: The stash account to reap. Its balance must be zero.",+ "",+ " # <weight>",+ " Complexity: O(S) where S is the number of slashing spans on the account.",+ " DB Weight:",+ " - Reads: Stash Account, Bonded, Slashing Spans, Locks",+ " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks",+ " - Writes Each: SpanSlash * S",+ " # </weight>"+ ]+ },+ {+ "name": "kick",+ "args": [+ {+ "name": "who",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Remove the given nominations from the calling validator.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " - `who`: A list of nominator stash accounts who are nominating this validator which",+ " should no longer be nominating this validator.",+ "",+ " Note: Making this call only makes sense if you first set the validator preferences to",+ " block any further nominations."+ ]+ },+ {+ "name": "set_staking_limits",+ "args": [+ {+ "name": "min_nominator_bond",+ "type": "BalanceOf"+ },+ {+ "name": "min_validator_bond",+ "type": "BalanceOf"+ },+ {+ "name": "max_nominator_count",+ "type": "Option<u32>"+ },+ {+ "name": "max_validator_count",+ "type": "Option<u32>"+ },+ {+ "name": "threshold",+ "type": "Option<Percent>"+ }+ ],+ "docs": [+ " Update the various staking limits this pallet.",+ "",+ " * `min_nominator_bond`: The minimum active bond needed to be a nominator.",+ " * `min_validator_bond`: The minimum active bond needed to be a validator.",+ " * `max_nominator_count`: The max number of users who can be a nominator at once.",+ " When set to `None`, no limit is enforced.",+ " * `max_validator_count`: The max number of users who can be a validator at once.",+ " When set to `None`, no limit is enforced.",+ "",+ " Origin must be Root to call this function.",+ "",+ " NOTE: Existing nominators and validators will not be affected by this update.",+ " to kick people under the new limits, `chill_other` should be called."+ ]+ },+ {+ "name": "chill_other",+ "args": [+ {+ "name": "controller",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Declare a `controller` to stop participating as either a validator or nominator.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_, but can be called by anyone.",+ "",+ " If the caller is the same as the controller being targeted, then no further checks are",+ " enforced, and this function behaves just like `chill`.",+ "",+ " If the caller is different than the controller being targeted, the following conditions",+ " must be met:",+ " * A `ChillThreshold` must be set and checked which defines how close to the max",+ " nominators or validators we must reach before users can start chilling one-another.",+ " * A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine",+ " how close we are to the threshold.",+ " * A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines",+ " if this is a person that should be chilled because they have not met the threshold",+ " bond required.",+ "",+ " This can be helpful if bond requirements are updated, and we need to remove old users",+ " who do not satisfy these requirements."+ ]+ }+ ],+ "events": [+ {+ "name": "EraPaid",+ "args": [+ "EraIndex",+ "Balance",+ "Balance"+ ],+ "docs": [+ " The era payout has been set; the first balance is the validator-payout; the second is",+ " the remainder from the maximum amount of reward.",+ " \\[era_index, validator_payout, remainder\\]"+ ]+ },+ {+ "name": "Rewarded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The nominator has been rewarded by this amount. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Slashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " One validator (and its nominators) has been slashed by the given amount.",+ " \\[validator, amount\\]"+ ]+ },+ {+ "name": "OldSlashingReportDiscarded",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " An old slashing report from a prior era was discarded because it could",+ " not be processed. \\[session_index\\]"+ ]+ },+ {+ "name": "StakersElected",+ "args": [],+ "docs": [+ " A new set of stakers was elected."+ ]+ },+ {+ "name": "Bonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has bonded this amount. \\[stash, amount\\]",+ "",+ " NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,",+ " it will not be emitted for staking rewards when they are added to stake."+ ]+ },+ {+ "name": "Unbonded",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has unbonded this amount. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Withdrawn",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`",+ " from the unlocking queue. \\[stash, amount\\]"+ ]+ },+ {+ "name": "Kicked",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A nominator has been kicked from a validator. \\[nominator, stash\\]"+ ]+ },+ {+ "name": "StakingElectionFailed",+ "args": [],+ "docs": [+ " The election failed. No new era is planned."+ ]+ },+ {+ "name": "Chilled",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account has stopped participating as either a validator or nominator.",+ " \\[stash\\]"+ ]+ },+ {+ "name": "PayoutStarted",+ "args": [+ "EraIndex",+ "AccountId"+ ],+ "docs": [+ " The stakers' rewards are getting paid. \\[era_index, validator_stash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "SessionsPerEra",+ "type": "SessionIndex",+ "value": "0x06000000",+ "docs": [+ " Number of sessions per era."+ ]+ },+ {+ "name": "BondingDuration",+ "type": "EraIndex",+ "value": "0xa0020000",+ "docs": [+ " Number of eras that staked funds must remain bonded for."+ ]+ },+ {+ "name": "SlashDeferDuration",+ "type": "EraIndex",+ "value": "0xa8000000",+ "docs": [+ " Number of eras that slashes are deferred by, after computation.",+ "",+ " This should be less than the bonding duration. Set to 0 if slashes",+ " should be applied immediately, without opportunity for intervention."+ ]+ },+ {+ "name": "MaxNominatorRewardedPerValidator",+ "type": "u32",+ "value": "0x00010000",+ "docs": [+ " The maximum number of nominators rewarded for each validator.",+ "",+ " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim",+ " their reward. This used to limit the i/o cost for the nominator payout."+ ]+ },+ {+ "name": "MaxNominations",+ "type": "u32",+ "value": "0x10000000",+ "docs": []+ }+ ],+ "errors": [+ {+ "name": "NotController",+ "docs": [+ " Not a controller account."+ ]+ },+ {+ "name": "NotStash",+ "docs": [+ " Not a stash account."+ ]+ },+ {+ "name": "AlreadyBonded",+ "docs": [+ " Stash is already bonded."+ ]+ },+ {+ "name": "AlreadyPaired",+ "docs": [+ " Controller is already paired."+ ]+ },+ {+ "name": "EmptyTargets",+ "docs": [+ " Targets cannot be empty."+ ]+ },+ {+ "name": "DuplicateIndex",+ "docs": [+ " Duplicate index."+ ]+ },+ {+ "name": "InvalidSlashIndex",+ "docs": [+ " Slash record index out of bounds."+ ]+ },+ {+ "name": "InsufficientBond",+ "docs": [+ " Can not bond with value less than minimum required."+ ]+ },+ {+ "name": "NoMoreChunks",+ "docs": [+ " Can not schedule more unlock chunks."+ ]+ },+ {+ "name": "NoUnlockChunk",+ "docs": [+ " Can not rebond without unlocking chunks."+ ]+ },+ {+ "name": "FundedTarget",+ "docs": [+ " Attempting to target a stash that still has funds."+ ]+ },+ {+ "name": "InvalidEraToReward",+ "docs": [+ " Invalid era to reward."+ ]+ },+ {+ "name": "InvalidNumberOfNominations",+ "docs": [+ " Invalid number of nominations."+ ]+ },+ {+ "name": "NotSortedAndUnique",+ "docs": [+ " Items are not sorted and unique."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Rewards for this era have already been claimed for this validator."+ ]+ },+ {+ "name": "IncorrectHistoryDepth",+ "docs": [+ " Incorrect previous history depth input provided."+ ]+ },+ {+ "name": "IncorrectSlashingSpans",+ "docs": [+ " Incorrect number of slashing spans provided."+ ]+ },+ {+ "name": "BadState",+ "docs": [+ " Internal state has become somehow corrupted and the operation cannot continue."+ ]+ },+ {+ "name": "TooManyTargets",+ "docs": [+ " Too many nomination targets supplied."+ ]+ },+ {+ "name": "BadTarget",+ "docs": [+ " A nomination target was supplied that was blocked or otherwise not a validator."+ ]+ },+ {+ "name": "CannotChillOther",+ "docs": [+ " The user has enough bond and thus cannot be chilled forcefully by an external person."+ ]+ },+ {+ "name": "TooManyNominators",+ "docs": [+ " There are too many nominators in the system. Governance needs to adjust the staking settings",+ " to keep things safe for the runtime."+ ]+ },+ {+ "name": "TooManyValidators",+ "docs": [+ " There are too many validators in the system. Governance needs to adjust the staking settings",+ " to keep things safe for the runtime."+ ]+ }+ ],+ "index": 9+ },+ {+ "name": "Session",+ "storage": {+ "prefix": "Session",+ "items": [+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ValidatorId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of validators."+ ]+ },+ {+ "name": "CurrentIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Current index of the session."+ ]+ },+ {+ "name": "QueuedChanged",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the underlying economic identities or weighting behind the validators",+ " has changed in the queued validator set."+ ]+ },+ {+ "name": "QueuedKeys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(ValidatorId,Keys)>"+ },+ "fallback": "0x00",+ "docs": [+ " The queued keys for the next session. When the next session begins, these keys",+ " will be used to determine the validator's session keys."+ ]+ },+ {+ "name": "DisabledValidators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<u32>"+ },+ "fallback": "0x00",+ "docs": [+ " Indices of disabled validators.",+ "",+ " The set is cleared when `on_session_ending` returns a new set of identities."+ ]+ },+ {+ "name": "NextKeys",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ValidatorId",+ "value": "Keys",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The next session keys for a validator."+ ]+ },+ {+ "name": "KeyOwner",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "(KeyTypeId,Bytes)",+ "value": "ValidatorId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The owner of a key. The key is the `KeyTypeId` + the encoded key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_keys",+ "args": [+ {+ "name": "keys",+ "type": "Keys"+ },+ {+ "name": "proof",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Sets the session key(s) of the function caller to `keys`.",+ " Allows an account to set its session key prior to becoming a validator.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`",+ " - DbWrites: `origin account`, `NextKeys`",+ " - DbReads per key id: `KeyOwner`",+ " - DbWrites per key id: `KeyOwner`",+ " # </weight>"+ ]+ },+ {+ "name": "purge_keys",+ "args": [],+ "docs": [+ " Removes any session key(s) of the function caller.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - Complexity: `O(1)` in number of key types.",+ " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",+ " - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`",+ " - DbWrites: `NextKeys`, `origin account`",+ " - DbWrites per key id: `KeyOwner`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewSession",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " New session has happened. Note that the argument is the \\[session_index\\], not the block",+ " number as the type might suggest."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InvalidProof",+ "docs": [+ " Invalid ownership proof."+ ]+ },+ {+ "name": "NoAssociatedValidatorId",+ "docs": [+ " No associated validator ID for account."+ ]+ },+ {+ "name": "DuplicatedKey",+ "docs": [+ " Registered duplicate key."+ ]+ },+ {+ "name": "NoKeys",+ "docs": [+ " No keys are associated with this account."+ ]+ },+ {+ "name": "NoAccount",+ "docs": [+ " Key setting account is not live, so it's impossible to associate keys."+ ]+ }+ ],+ "index": 10+ },+ {+ "name": "Democracy",+ "storage": {+ "prefix": "Democracy",+ "items": [+ {+ "name": "PublicPropCount",+ "modifier": "Default",+ "type": {+ "plain": "PropIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of (public) proposals that have been made so far."+ ]+ },+ {+ "name": "PublicProps",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(PropIndex,Hash,AccountId)>"+ },+ "fallback": "0x00",+ "docs": [+ " The public proposals. Unsorted. The second item is the proposal's hash."+ ]+ },+ {+ "name": "DepositOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "PropIndex",+ "value": "(Vec<AccountId>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Those who have locked a deposit.",+ "",+ " TWOX-NOTE: Safe, as increasing integer keys are safe."+ ]+ },+ {+ "name": "Preimages",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "PreimageStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map of hashes to the proposal preimage, along with who registered it and their deposit.",+ " The block number is the block at which it was deposited."+ ]+ },+ {+ "name": "ReferendumCount",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free referendum index, aka the number of referenda started so far."+ ]+ },+ {+ "name": "LowestUnbaked",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The lowest referendum index representing an unbaked referendum. Equal to",+ " `ReferendumCount` if there isn't a unbaked referendum."+ ]+ },+ {+ "name": "ReferendumInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReferendumIndex",+ "value": "ReferendumInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information concerning any given referendum.",+ "",+ " TWOX-NOTE: SAFE as indexes are not under an attacker’s control."+ ]+ },+ {+ "name": "VotingOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Voting",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " All votes for a particular voter. We store the balance for the number of votes that we",+ " have recorded. The second item is the total amount of delegations, that will be added.",+ "",+ " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway."+ ]+ },+ {+ "name": "Locks",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "BlockNumber",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Accounts for which there are locks in action which may be removed at some point in the",+ " future. The value is the block number at which the lock expires and may be removed.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "LastTabledWasExternal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the last referendum tabled was submitted externally. False if it was a public",+ " proposal."+ ]+ },+ {+ "name": "NextExternal",+ "modifier": "Optional",+ "type": {+ "plain": "(Hash,VoteThreshold)"+ },+ "fallback": "0x00",+ "docs": [+ " The referendum to be tabled whenever it would be valid to table an external proposal.",+ " This happens when a referendum needs to be tabled and one of two conditions are met:",+ " - `LastTabledWasExternal` is `false`; or",+ " - `PublicProps` is empty."+ ]+ },+ {+ "name": "Blacklist",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "(BlockNumber,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A record of who vetoed what. Maps proposal hash to a possible existent block number",+ " (until when it may not be resubmitted) and who vetoed it."+ ]+ },+ {+ "name": "Cancellations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Record of all proposals that have been subject to emergency cancellation."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Optional",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender must",+ " have funds to cover the deposit.",+ "",+ " - `proposal_hash`: The hash of the proposal preimage.",+ " - `value`: The amount of deposit (must be at least `MinimumDeposit`).",+ "",+ " Emits `Proposed`.",+ "",+ " Weight: `O(p)`"+ ]+ },+ {+ "name": "second",+ "args": [+ {+ "name": "proposal",+ "type": "Compact<PropIndex>"+ },+ {+ "name": "seconds_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Signals agreement with a particular proposal.",+ "",+ " The dispatch origin of this call must be _Signed_ and the sender",+ " must have funds to cover the deposit, equal to the original deposit.",+ "",+ " - `proposal`: The index of the proposal to second.",+ " - `seconds_upper_bound`: an upper bound on the current number of seconds on this",+ " proposal. Extrinsic is weighted according to this value with no refund.",+ "",+ " Weight: `O(S)` where S is the number of seconds a proposal already has."+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "AccountVote"+ }+ ],+ "docs": [+ " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;",+ " otherwise it is a vote to keep the status quo.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `ref_index`: The index of the referendum to vote for.",+ " - `vote`: The vote configuration.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter has voted on."+ ]+ },+ {+ "name": "emergency_cancel",+ "args": [+ {+ "name": "ref_index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same",+ " referendum.",+ "",+ " The dispatch origin of this call must be `CancellationOrigin`.",+ "",+ " -`ref_index`: The index of the referendum to cancel.",+ "",+ " Weight: `O(1)`."+ ]+ },+ {+ "name": "external_propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a referendum to be tabled once it is legal to schedule an external",+ " referendum.",+ "",+ " The dispatch origin of this call must be `ExternalOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Weight: `O(V)` with V number of vetoers in the blacklist of proposal.",+ " Decoding vec of length V. Charged as maximum"+ ]+ },+ {+ "name": "external_propose_majority",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a majority-carries referendum to be tabled next once it is legal to schedule",+ " an external referendum.",+ "",+ " The dispatch of this call must be `ExternalMajorityOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "external_propose_default",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to",+ " schedule an external referendum.",+ "",+ " The dispatch of this call must be `ExternalDefaultOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "fast_track",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "voting_period",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Schedule the currently externally-proposed majority-carries referendum to be tabled",+ " immediately. If there is no externally-proposed referendum currently, or if there is one",+ " but it is not a majority-carries referendum then it fails.",+ "",+ " The dispatch of this call must be `FastTrackOrigin`.",+ "",+ " - `proposal_hash`: The hash of the current external proposal.",+ " - `voting_period`: The period that is allowed for voting on this proposal. Increased to",+ " `FastTrackVotingPeriod` if too low.",+ " - `delay`: The number of block after voting has ended in approval and this should be",+ " enacted. This doesn't have a minimum amount.",+ "",+ " Emits `Started`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "veto_external",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Veto and blacklist the external proposal hash.",+ "",+ " The dispatch origin of this call must be `VetoOrigin`.",+ "",+ " - `proposal_hash`: The preimage hash of the proposal to veto and blacklist.",+ "",+ " Emits `Vetoed`.",+ "",+ " Weight: `O(V + log(V))` where V is number of `existing vetoers`"+ ]+ },+ {+ "name": "cancel_referendum",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Remove a referendum.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `ref_index`: The index of the referendum to cancel.",+ "",+ " # Weight: `O(1)`."+ ]+ },+ {+ "name": "cancel_queued",+ "args": [+ {+ "name": "which",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Cancel a proposal queued for enactment.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " - `which`: The index of the referendum to cancel.",+ "",+ " Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`."+ ]+ },+ {+ "name": "delegate",+ "args": [+ {+ "name": "to",+ "type": "AccountId"+ },+ {+ "name": "conviction",+ "type": "Conviction"+ },+ {+ "name": "balance",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " Delegate the voting power (with some given conviction) of the sending account.",+ "",+ " The balance delegated is locked for as long as it's delegated, and thereafter for the",+ " time appropriate for the conviction's lock period.",+ "",+ " The dispatch origin of this call must be _Signed_, and the signing account must either:",+ " - be delegating already; or",+ " - have no voting activity (if there is, then it will need to be removed/consolidated",+ " through `reap_vote` or `unvote`).",+ "",+ " - `to`: The account whose voting the `target` account's voting power will follow.",+ " - `conviction`: The conviction that will be attached to the delegated votes. When the",+ " account is undelegated, the funds will be locked for the corresponding period.",+ " - `balance`: The amount of the account's balance to be used in delegating. This must",+ " not be more than the account's current balance.",+ "",+ " Emits `Delegated`.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes."+ ]+ },+ {+ "name": "undelegate",+ "args": [],+ "docs": [+ " Undelegate the voting power of the sending account.",+ "",+ " Tokens may be unlocked following once an amount of time consistent with the lock period",+ " of the conviction with which the delegation was issued.",+ "",+ " The dispatch origin of this call must be _Signed_ and the signing account must be",+ " currently delegating.",+ "",+ " Emits `Undelegated`.",+ "",+ " Weight: `O(R)` where R is the number of referendums the voter delegating to has",+ " voted on. Weight is charged as if maximum votes."+ ]+ },+ {+ "name": "clear_public_proposals",+ "args": [],+ "docs": [+ " Clears all public proposals.",+ "",+ " The dispatch origin of this call must be _Root_.",+ "",+ " Weight: `O(1)`."+ ]+ },+ {+ "name": "note_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This doesn't require the proposal to be",+ " in the dispatch queue but does require a deposit, returned once enacted.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)."+ ]+ },+ {+ "name": "note_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "note_imminent_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This requires the proposal to be",+ " in the dispatch queue. No deposit is needed. When this call is successful, i.e.",+ " the preimage has not been uploaded before and matches some imminent proposal,",+ " no fee is paid.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `encoded_proposal`: The preimage of a proposal.",+ "",+ " Emits `PreimageNoted`.",+ "",+ " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)."+ ]+ },+ {+ "name": "note_imminent_preimage_operational",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`."+ ]+ },+ {+ "name": "reap_preimage",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "proposal_len_upper_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Remove an expired proposal preimage and collect the deposit.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `proposal_hash`: The preimage hash of a proposal.",+ " - `proposal_length_upper_bound`: an upper bound on length of the proposal.",+ " Extrinsic is weighted according to this value with no refund.",+ "",+ " This will only work after `VotingPeriod` blocks from the time that the preimage was",+ " noted, if it's the same account doing it. If it's a different account, then it'll only",+ " work an additional `EnactmentPeriod` later.",+ "",+ " Emits `PreimageReaped`.",+ "",+ " Weight: `O(D)` where D is length of proposal."+ ]+ },+ {+ "name": "unlock",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Unlock tokens that have an expired lock.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account to remove the lock on.",+ "",+ " Weight: `O(R)` with R number of vote of target."+ ]+ },+ {+ "name": "remove_vote",+ "args": [+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If:",+ " - the referendum was cancelled, or",+ " - the referendum is ongoing, or",+ " - the referendum has ended such that",+ " - the vote of the account was in opposition to the result; or",+ " - there was no conviction to the account's vote; or",+ " - the account made a split vote",+ " ...then the vote is removed cleanly and a following call to `unlock` may result in more",+ " funds being available.",+ "",+ " If, however, the referendum has ended and:",+ " - it finished corresponding to the vote of the account, and",+ " - the account made a standard vote with conviction, and",+ " - the lock period of the conviction is not over",+ " ...then the lock will be aggregated into the overall account's lock, which may involve",+ " *overlocking* (where the two locks are combined into a single lock that is the maximum",+ " of both the amount locked and the time is it locked for).",+ "",+ " The dispatch origin of this call must be _Signed_, and the signer must have a vote",+ " registered for referendum `index`.",+ "",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote."+ ]+ },+ {+ "name": "remove_other_vote",+ "args": [+ {+ "name": "target",+ "type": "AccountId"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Remove a vote for a referendum.",+ "",+ " If the `target` is equal to the signer, then this function is exactly equivalent to",+ " `remove_vote`. If not equal to the signer, then the vote must have expired,",+ " either because the referendum was cancelled, because the voter lost the referendum or",+ " because the conviction period is over.",+ "",+ " The dispatch origin of this call must be _Signed_.",+ "",+ " - `target`: The account of the vote to be removed; this account must have voted for",+ " referendum `index`.",+ " - `index`: The index of referendum of the vote to be removed.",+ "",+ " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",+ " Weight is calculated for the maximum number of vote."+ ]+ },+ {+ "name": "enact_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Enact a proposal from a referendum. For now we just make the weight be the maximum."+ ]+ },+ {+ "name": "blacklist",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "maybe_ref_index",+ "type": "Option<ReferendumIndex>"+ }+ ],+ "docs": [+ " Permanently place a proposal into the blacklist. This prevents it from ever being",+ " proposed again.",+ "",+ " If called on a queued public or external proposal, then this will result in it being",+ " removed. If the `ref_index` supplied is an active referendum with the proposal hash,",+ " then it will be cancelled.",+ "",+ " The dispatch origin of this call must be `BlacklistOrigin`.",+ "",+ " - `proposal_hash`: The proposal hash to blacklist permanently.",+ " - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be",+ " cancelled.",+ "",+ " Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a",+ " reasonable value)."+ ]+ },+ {+ "name": "cancel_proposal",+ "args": [+ {+ "name": "prop_index",+ "type": "Compact<PropIndex>"+ }+ ],+ "docs": [+ " Remove a proposal.",+ "",+ " The dispatch origin of this call must be `CancelProposalOrigin`.",+ "",+ " - `prop_index`: The index of the proposal to cancel.",+ "",+ " Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "PropIndex",+ "Balance"+ ],+ "docs": [+ " A motion has been proposed by a public account. \\[proposal_index, deposit\\]"+ ]+ },+ {+ "name": "Tabled",+ "args": [+ "PropIndex",+ "Balance",+ "Vec<AccountId>"+ ],+ "docs": [+ " A public proposal has been tabled for referendum vote. \\[proposal_index, deposit, depositors\\]"+ ]+ },+ {+ "name": "ExternalTabled",+ "args": [],+ "docs": [+ " An external proposal has been tabled."+ ]+ },+ {+ "name": "Started",+ "args": [+ "ReferendumIndex",+ "VoteThreshold"+ ],+ "docs": [+ " A referendum has begun. \\[ref_index, threshold\\]"+ ]+ },+ {+ "name": "Passed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been approved by referendum. \\[ref_index\\]"+ ]+ },+ {+ "name": "NotPassed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been rejected by referendum. \\[ref_index\\]"+ ]+ },+ {+ "name": "Cancelled",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A referendum has been cancelled. \\[ref_index\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "ReferendumIndex",+ "DispatchResult"+ ],+ "docs": [+ " A proposal has been enacted. \\[ref_index, result\\]"+ ]+ },+ {+ "name": "Delegated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An account has delegated their vote to another account. \\[who, target\\]"+ ]+ },+ {+ "name": "Undelegated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has cancelled a previous delegation operation."+ ]+ },+ {+ "name": "Vetoed",+ "args": [+ "AccountId",+ "Hash",+ "BlockNumber"+ ],+ "docs": [+ " An external proposal has been vetoed. \\[who, proposal_hash, until\\]"+ ]+ },+ {+ "name": "PreimageNoted",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal's preimage was noted, and the deposit taken. \\[proposal_hash, who, deposit\\]"+ ]+ },+ {+ "name": "PreimageUsed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal preimage was removed and used (the deposit was returned).",+ " \\[proposal_hash, provider, deposit\\]"+ ]+ },+ {+ "name": "PreimageInvalid",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was invalid.",+ " \\[proposal_hash, ref_index\\]"+ ]+ },+ {+ "name": "PreimageMissing",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was missing.",+ " \\[proposal_hash, ref_index\\]"+ ]+ },+ {+ "name": "PreimageReaped",+ "args": [+ "Hash",+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A registered preimage was removed and the deposit collected by the reaper.",+ " \\[proposal_hash, provider, deposit, reaper\\]"+ ]+ },+ {+ "name": "Unlocked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has been unlocked successfully."+ ]+ },+ {+ "name": "Blacklisted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A proposal \\[hash\\] has been blacklisted permanently."+ ]+ }+ ],+ "constants": [+ {+ "name": "EnactmentPeriod",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The minimum period of locking and the period between a proposal being approved and enacted.",+ "",+ " It should generally be a little more than the unstake period to ensure that",+ " voting stakers have an opportunity to remove themselves from the system in the case where",+ " they are on the losing side of a vote."+ ]+ },+ {+ "name": "LaunchPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) new public referenda are launched."+ ]+ },+ {+ "name": "VotingPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) to check for new votes."+ ]+ },+ {+ "name": "MinimumDeposit",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be used as a deposit for a public referendum proposal."+ ]+ },+ {+ "name": "InstantAllowed",+ "type": "bool",+ "value": "0x01",+ "docs": [+ " Indicator for whether an emergency origin is even allowed to happen. Some chains may want",+ " to set this permanently to `false`, others may want to condition it on things such as",+ " an upgrade having happened recently."+ ]+ },+ {+ "name": "FastTrackVotingPeriod",+ "type": "BlockNumber",+ "value": "0x80510100",+ "docs": [+ " Minimum voting period allowed for a fast-track referendum."+ ]+ },+ {+ "name": "CooloffPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " Period in blocks where an external proposal may not be re-submitted after being vetoed."+ ]+ },+ {+ "name": "PreimageByteDeposit",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of balance that must be deposited per byte of preimage stored."+ ]+ },+ {+ "name": "MaxVotes",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of votes for an account.",+ "",+ " Also used to compute weight, an overly big value can",+ " lead to extrinsic with very big weight: see `delegate` for instance."+ ]+ },+ {+ "name": "MaxProposals",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of public proposals that can exist at any time."+ ]+ }+ ],+ "errors": [+ {+ "name": "ValueLow",+ "docs": [+ " Value too low"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal does not exist"+ ]+ },+ {+ "name": "BadIndex",+ "docs": [+ " Unknown index"+ ]+ },+ {+ "name": "AlreadyCanceled",+ "docs": [+ " Cannot cancel the same proposal twice"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Proposal already made"+ ]+ },+ {+ "name": "ProposalBlacklisted",+ "docs": [+ " Proposal still blacklisted"+ ]+ },+ {+ "name": "NotSimpleMajority",+ "docs": [+ " Next external proposal not simple majority"+ ]+ },+ {+ "name": "InvalidHash",+ "docs": [+ " Invalid hash"+ ]+ },+ {+ "name": "NoProposal",+ "docs": [+ " No external proposal"+ ]+ },+ {+ "name": "AlreadyVetoed",+ "docs": [+ " Identity may not veto a proposal twice"+ ]+ },+ {+ "name": "NotDelegated",+ "docs": [+ " Not delegated"+ ]+ },+ {+ "name": "DuplicatePreimage",+ "docs": [+ " Preimage already noted"+ ]+ },+ {+ "name": "NotImminent",+ "docs": [+ " Not imminent"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " Too early"+ ]+ },+ {+ "name": "Imminent",+ "docs": [+ " Imminent"+ ]+ },+ {+ "name": "PreimageMissing",+ "docs": [+ " Preimage not found"+ ]+ },+ {+ "name": "ReferendumInvalid",+ "docs": [+ " Vote given for invalid referendum"+ ]+ },+ {+ "name": "PreimageInvalid",+ "docs": [+ " Invalid preimage"+ ]+ },+ {+ "name": "NoneWaiting",+ "docs": [+ " No proposals waiting"+ ]+ },+ {+ "name": "NotLocked",+ "docs": [+ " The target account does not have a lock."+ ]+ },+ {+ "name": "NotExpired",+ "docs": [+ " The lock on the account to be unlocked has not yet expired."+ ]+ },+ {+ "name": "NotVoter",+ "docs": [+ " The given account did not vote on the referendum."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " The actor has no permission to conduct the action."+ ]+ },+ {+ "name": "AlreadyDelegating",+ "docs": [+ " The account is already delegating."+ ]+ },+ {+ "name": "InsufficientFunds",+ "docs": [+ " Too high a balance was provided that the account cannot afford."+ ]+ },+ {+ "name": "NotDelegating",+ "docs": [+ " The account is not currently delegating."+ ]+ },+ {+ "name": "VotesExist",+ "docs": [+ " The account currently has votes attached to it and the operation cannot succeed until",+ " these are removed, either through `unvote` or `reap_vote`."+ ]+ },+ {+ "name": "InstantNotAllowed",+ "docs": [+ " The instant referendum origin is currently disallowed."+ ]+ },+ {+ "name": "Nonsense",+ "docs": [+ " Delegation to oneself makes no sense."+ ]+ },+ {+ "name": "WrongUpperBound",+ "docs": [+ " Invalid upper bound."+ ]+ },+ {+ "name": "MaxVotesReached",+ "docs": [+ " Maximum number of votes reached."+ ]+ },+ {+ "name": "InvalidWitness",+ "docs": [+ " The provided witness data is wrong."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " Maximum number of proposals reached."+ ]+ }+ ],+ "index": 11+ },+ {+ "name": "Council",+ "storage": {+ "prefix": "Instance1Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The prime member that helps determine the default vote behavior in case of absentations."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " Transaction fees will be waived if the member is voting on any particular proposal",+ " for the first time and the call is successful. Subsequent vote changes will charge a fee.",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " If the close operation completes successfully with disapproval, the transaction fee will",+ " be waived. Otherwise execution of the approved operation will be charged to the caller.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " \\[account, proposal_index, proposal_hash, threshold\\]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " \\[account, proposal_hash, voted, yes, no\\]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " \\[proposal_hash, yes, no\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ],+ "index": 12+ },+ {+ "name": "TechnicalCommittee",+ "storage": {+ "prefix": "Instance2Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The prime member that helps determine the default vote behavior in case of absentations."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ },+ {+ "name": "prime",+ "type": "Option<AccountId>"+ },+ {+ "name": "old_count",+ "type": "MemberCount"+ }+ ],+ "docs": [+ " Set the collective's membership.",+ "",+ " - `new_members`: The new member list. Be nice to the chain and provide it sorted.",+ " - `prime`: The prime member whose vote sets the default.",+ " - `old_count`: The upper bound for the previous number of members in storage.",+ " Used for weight estimation.",+ "",+ " Requires root origin.",+ "",+ " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",+ " the weight estimations rely on it to estimate dispatchable weight.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(MP + N)` where:",+ " - `M` old-members-count (code- and governance-bounded)",+ " - `N` new-members-count (code- and governance-bounded)",+ " - `P` proposals-count (code-bounded)",+ " - DB:",+ " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",+ " - 1 storage read (codec `O(P)`) for reading the proposals",+ " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",+ " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",+ " # </weight>"+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",+ " - DB: 1 read (codec `O(M)`) + DB access of `proposal`",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Add a new proposal to either be voted on or executed directly.",+ "",+ " Requires the sender to be member.",+ "",+ " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",+ " or put up for voting.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1)` or `O(B + M + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - branching is influenced by `threshold` where:",+ " - `P1` is proposal execution complexity (`threshold < 2`)",+ " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",+ " - DB:",+ " - 1 storage read `is_member` (codec `O(M)`)",+ " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",+ " - DB accesses influenced by `threshold`:",+ " - EITHER storage accesses done by `proposal` (`threshold < 2`)",+ " - OR proposal insertion (`threshold <= 2`)",+ " - 1 storage mutation `Proposals` (codec `O(P2)`)",+ " - 1 storage mutation `ProposalCount` (codec `O(1)`)",+ " - 1 storage write `ProposalOf` (codec `O(B)`)",+ " - 1 storage write `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " Add an aye or nay vote for the sender to the given proposal.",+ "",+ " Requires the sender to be a member.",+ "",+ " Transaction fees will be waived if the member is voting on any particular proposal",+ " for the first time and the call is successful. Subsequent vote changes will charge a fee.",+ " # <weight>",+ " ## Weight",+ " - `O(M)` where `M` is members-count (code- and governance-bounded)",+ " - DB:",+ " - 1 storage read `Members` (codec `O(M)`)",+ " - 1 storage mutation `Voting` (codec `O(M)`)",+ " - 1 event",+ " # </weight>"+ ]+ },+ {+ "name": "close",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "proposal_weight_bound",+ "type": "Compact<Weight>"+ },+ {+ "name": "length_bound",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Close a vote that is either approved, disapproved or whose voting period has ended.",+ "",+ " May be called by any signed account in order to finish voting and close the proposal.",+ "",+ " If called before the end of the voting period it will only close the vote if it is",+ " has enough votes to be approved or disapproved.",+ "",+ " If called after the end of the voting period abstentions are counted as rejections",+ " unless there is a prime member set and the prime member cast an approval.",+ "",+ " If the close operation completes successfully with disapproval, the transaction fee will",+ " be waived. Otherwise execution of the approved operation will be charged to the caller.",+ "",+ " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",+ " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",+ " `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",+ "",+ " # <weight>",+ " ## Weight",+ " - `O(B + M + P1 + P2)` where:",+ " - `B` is `proposal` size in bytes (length-fee-bounded)",+ " - `M` is members-count (code- and governance-bounded)",+ " - `P1` is the complexity of `proposal` preimage.",+ " - `P2` is proposal-count (code-bounded)",+ " - DB:",+ " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",+ " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",+ " - any mutations done while executing `proposal` (`P1`)",+ " - up to 3 events",+ " # </weight>"+ ]+ },+ {+ "name": "disapprove_proposal",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Disapprove a proposal, close, and remove it from the system, regardless of its current state.",+ "",+ " Must be called by the Root origin.",+ "",+ " Parameters:",+ " * `proposal_hash`: The hash of the proposal that should be disapproved.",+ "",+ " # <weight>",+ " Complexity: O(P) where P is the number of max proposals",+ " DB Weight:",+ " * Reads: Proposals",+ " * Writes: Voting, Proposals, ProposalOf",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`).",+ " \\[account, proposal_index, proposal_hash, threshold\\]"+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`).",+ " \\[account, proposal_hash, voted, yes, no\\]"+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold.",+ " \\[proposal_hash\\]"+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A motion was executed; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "DispatchResult"+ ],+ "docs": [+ " A single member did some action; result will be `Ok` if it returned without error.",+ " \\[proposal_hash, result\\]"+ ]+ },+ {+ "name": "Closed",+ "args": [+ "Hash",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A proposal was closed because its threshold was reached or after its duration was up.",+ " \\[proposal_hash, yes, no\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "NotMember",+ "docs": [+ " Account is not a member"+ ]+ },+ {+ "name": "DuplicateProposal",+ "docs": [+ " Duplicate proposals not allowed"+ ]+ },+ {+ "name": "ProposalMissing",+ "docs": [+ " Proposal must exist"+ ]+ },+ {+ "name": "WrongIndex",+ "docs": [+ " Mismatched index"+ ]+ },+ {+ "name": "DuplicateVote",+ "docs": [+ " Duplicate vote ignored"+ ]+ },+ {+ "name": "AlreadyInitialized",+ "docs": [+ " Members are already initialized!"+ ]+ },+ {+ "name": "TooEarly",+ "docs": [+ " The close call was made too early, before the end of the voting."+ ]+ },+ {+ "name": "TooManyProposals",+ "docs": [+ " There can only be a maximum of `MaxProposals` active proposals."+ ]+ },+ {+ "name": "WrongProposalWeight",+ "docs": [+ " The given weight bound for the proposal was too low."+ ]+ },+ {+ "name": "WrongProposalLength",+ "docs": [+ " The given length bound for the proposal was too low."+ ]+ }+ ],+ "index": 13+ },+ {+ "name": "Elections",+ "storage": {+ "prefix": "Elections",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<SeatHolder>"+ },+ "fallback": "0x00",+ "docs": [+ " The current elected members.",+ "",+ " Invariant: Always sorted based on account id."+ ]+ },+ {+ "name": "RunnersUp",+ "modifier": "Default",+ "type": {+ "plain": "Vec<SeatHolder>"+ },+ "fallback": "0x00",+ "docs": [+ " The current reserved runners-up.",+ "",+ " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the",+ " last (i.e. _best_) runner-up will be replaced."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The present candidate list. A current member or runner-up can never enter this vector",+ " and is always implicitly assumed to be a candidate.",+ "",+ " Second element is the deposit.",+ "",+ " Invariant: Always sorted based on account id."+ ]+ },+ {+ "name": "ElectionRounds",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The total number of vote rounds that have happened, excluding the upcoming one."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Voter",+ "linked": false+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Votes and locked stake of a particular voter.",+ "",+ " TWOX-NOTE: SAFE as `AccountId` is a crypto hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vote",+ "args": [+ {+ "name": "votes",+ "type": "Vec<AccountId>"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Vote for a set of candidates for the upcoming round of election. This can be called to",+ " set the initial votes, or update already existing votes.",+ "",+ " Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is",+ " reserved. The deposit is based on the number of votes and can be updated over time.",+ "",+ " The `votes` should:",+ " - not be empty.",+ " - be less than the number of possible candidates. Note that all current members and",+ " runners-up are also automatically candidates for the next round.",+ "",+ " If `value` is more than `who`'s total balance, then the maximum of the two is used.",+ "",+ " The dispatch origin of this call must be signed.",+ "",+ " ### Warning",+ "",+ " It is the responsibility of the caller to **NOT** place all of their balance into the",+ " lock and keep some for further operations.",+ "",+ " # <weight>",+ " We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_voter",+ "args": [],+ "docs": [+ " Remove `origin` as a voter.",+ "",+ " This removes the lock and returns the deposit.",+ "",+ " The dispatch origin of this call must be signed and be a voter."+ ]+ },+ {+ "name": "submit_candidacy",+ "args": [+ {+ "name": "candidate_count",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Submit oneself for candidacy. A fixed amount of deposit is recorded.",+ "",+ " All candidates are wiped at the end of the term. They either become a member/runner-up,",+ " or leave the system while their deposit is slashed.",+ "",+ " The dispatch origin of this call must be signed.",+ "",+ " ### Warning",+ "",+ " Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]",+ " to get their deposit back. Losing the spot in an election will always lead to a slash.",+ "",+ " # <weight>",+ " The number of current candidates must be provided as witness data.",+ " # </weight>"+ ]+ },+ {+ "name": "renounce_candidacy",+ "args": [+ {+ "name": "renouncing",+ "type": "Renouncing"+ }+ ],+ "docs": [+ " Renounce one's intention to be a candidate for the next election round. 3 potential",+ " outcomes exist:",+ "",+ " - `origin` is a candidate and not elected in any set. In this case, the deposit is",+ " unreserved, returned and origin is removed as a candidate.",+ " - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and",+ " origin is removed as a runner-up.",+ " - `origin` is a current member. In this case, the deposit is unreserved and origin is",+ " removed as a member, consequently not being a candidate for the next round anymore.",+ " Similar to [`remove_member`](Self::remove_member), if replacement runners exists,",+ " they are immediately used. If the prime is renouncing, then no prime will exist until",+ " the next round.",+ "",+ " The dispatch origin of this call must be signed, and have one of the above roles.",+ "",+ " # <weight>",+ " The type of renouncing must be provided as witness data.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "has_replacement",+ "type": "bool"+ }+ ],+ "docs": [+ " Remove a particular member from the set. This is effective immediately and the bond of",+ " the outgoing member is slashed.",+ "",+ " If a runner-up is available, then the best runner-up will be removed and replaces the",+ " outgoing member. Otherwise, a new phragmen election is started.",+ "",+ " The dispatch origin of this call must be root.",+ "",+ " Note that this does not affect the designated block number of the next election.",+ "",+ " # <weight>",+ " If we have a replacement, we use a small weight. Else, since this is a root call and",+ " will go into phragmen, we assume full block for now.",+ " # </weight>"+ ]+ },+ {+ "name": "clean_defunct_voters",+ "args": [+ {+ "name": "_num_voters",+ "type": "u32"+ },+ {+ "name": "_num_defunct",+ "type": "u32"+ }+ ],+ "docs": [+ " Clean all voters who are defunct (i.e. they do not serve any purpose at all). The",+ " deposit of the removed voters are returned.",+ "",+ " This is an root function to be used only for cleaning the state.",+ "",+ " The dispatch origin of this call must be root.",+ "",+ " # <weight>",+ " The total number of voters and those that are defunct must be provided as witness data.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTerm",+ "args": [+ "Vec<(AccountId,Balance)>"+ ],+ "docs": [+ " A new term with \\[new_members\\]. This indicates that enough candidates existed to run",+ " the election, not that enough have has been elected. The inner value must be examined",+ " for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond",+ " slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to",+ " begin with."+ ]+ },+ {+ "name": "EmptyTerm",+ "args": [],+ "docs": [+ " No (or not enough) candidates existed for this round. This is different from",+ " `NewTerm(\\[\\])`. See the description of `NewTerm`."+ ]+ },+ {+ "name": "ElectionError",+ "args": [],+ "docs": [+ " Internal error happened while trying to perform election."+ ]+ },+ {+ "name": "MemberKicked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been removed. This should always be followed by either `NewTerm` or",+ " `EmptyTerm`."+ ]+ },+ {+ "name": "Renounced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Someone has renounced their candidacy."+ ]+ },+ {+ "name": "CandidateSlashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A \\[candidate\\] was slashed by \\[amount\\] due to failing to obtain a seat as member or",+ " runner-up.",+ "",+ " Note that old members and runners-up are also candidates."+ ]+ },+ {+ "name": "SeatHolderSlashed",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A \\[seat holder\\] was slashed by \\[amount\\] by being forcefully removed from the set."+ ]+ }+ ],+ "constants": [+ {+ "name": "PalletId",+ "type": "LockIdentifier",+ "value": "0x706872656c656374",+ "docs": [+ " Identifier for the elections-phragmen pallet's lock"+ ]+ },+ {+ "name": "CandidacyBond",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " How much should be locked up in order to submit one's candidacy."+ ]+ },+ {+ "name": "VotingBondBase",+ "type": "BalanceOf",+ "value": "0x00f0436de36a01000000000000000000",+ "docs": [+ " Base deposit associated with voting.",+ "",+ " This should be sensibly high to economically ensure the pallet cannot be attacked by",+ " creating a gigantic number of votes."+ ]+ },+ {+ "name": "VotingBondFactor",+ "type": "BalanceOf",+ "value": "0x0000cc7b9fae00000000000000000000",+ "docs": [+ " The amount of bond that need to be locked for each vote (32 bytes)."+ ]+ },+ {+ "name": "DesiredMembers",+ "type": "u32",+ "value": "0x0d000000",+ "docs": [+ " Number of members to elect."+ ]+ },+ {+ "name": "DesiredRunnersUp",+ "type": "u32",+ "value": "0x07000000",+ "docs": [+ " Number of runners_up to keep."+ ]+ },+ {+ "name": "TermDuration",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " How long each seat is kept. This defines the next block number at which an election",+ " round will happen. If set to zero, no elections are ever triggered and the module will",+ " be in passive mode."+ ]+ }+ ],+ "errors": [+ {+ "name": "UnableToVote",+ "docs": [+ " Cannot vote when no candidates or members exist."+ ]+ },+ {+ "name": "NoVotes",+ "docs": [+ " Must vote for at least one candidate."+ ]+ },+ {+ "name": "TooManyVotes",+ "docs": [+ " Cannot vote more than candidates."+ ]+ },+ {+ "name": "MaximumVotesExceeded",+ "docs": [+ " Cannot vote more than maximum allowed."+ ]+ },+ {+ "name": "LowBalance",+ "docs": [+ " Cannot vote with stake less than minimum balance."+ ]+ },+ {+ "name": "UnableToPayBond",+ "docs": [+ " Voter can not pay voting bond."+ ]+ },+ {+ "name": "MustBeVoter",+ "docs": [+ " Must be a voter."+ ]+ },+ {+ "name": "ReportSelf",+ "docs": [+ " Cannot report self."+ ]+ },+ {+ "name": "DuplicatedCandidate",+ "docs": [+ " Duplicated candidate submission."+ ]+ },+ {+ "name": "MemberSubmit",+ "docs": [+ " Member cannot re-submit candidacy."+ ]+ },+ {+ "name": "RunnerUpSubmit",+ "docs": [+ " Runner cannot re-submit candidacy."+ ]+ },+ {+ "name": "InsufficientCandidateFunds",+ "docs": [+ " Candidate does not have enough funds."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ },+ {+ "name": "InvalidWitnessData",+ "docs": [+ " The provided count of number of candidates is incorrect."+ ]+ },+ {+ "name": "InvalidVoteCount",+ "docs": [+ " The provided count of number of votes is incorrect."+ ]+ },+ {+ "name": "InvalidRenouncing",+ "docs": [+ " The renouncing origin presented a wrong `Renouncing` parameter."+ ]+ },+ {+ "name": "InvalidReplacement",+ "docs": [+ " Prediction regarding replacement after member removal is wrong."+ ]+ }+ ],+ "index": 14+ },+ {+ "name": "TechnicalMembership",+ "storage": {+ "prefix": "Instance1Membership",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current membership, stored as an ordered Vec."+ ]+ },+ {+ "name": "Prime",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The current prime member, if one exists."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a member `who` to the set.",+ "",+ " May only be called from `T::AddOrigin`."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Remove a member `who` from the set.",+ "",+ " May only be called from `T::RemoveOrigin`."+ ]+ },+ {+ "name": "swap_member",+ "args": [+ {+ "name": "remove",+ "type": "AccountId"+ },+ {+ "name": "add",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out one member `remove` for another `add`.",+ "",+ " May only be called from `T::SwapOrigin`.",+ "",+ " Prime membership is *not* passed from `remove` to `add`, if extant."+ ]+ },+ {+ "name": "reset_members",+ "args": [+ {+ "name": "members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Change the membership to a new set, disregarding the existing membership. Be nice and",+ " pass `members` pre-sorted.",+ "",+ " May only be called from `T::ResetOrigin`."+ ]+ },+ {+ "name": "change_key",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out the sending member for some other key `new`.",+ "",+ " May only be called from `Signed` origin of a current member.",+ "",+ " Prime membership is passed from the origin account to `new`, if extant."+ ]+ },+ {+ "name": "set_prime",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Set the prime member. Must be a current member.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ },+ {+ "name": "clear_prime",+ "args": [],+ "docs": [+ " Remove the prime member if it exists.",+ "",+ " May only be called from `T::PrimeOrigin`."+ ]+ }+ ],+ "events": [+ {+ "name": "MemberAdded",+ "args": [],+ "docs": [+ " The given member was added; see the transaction for who."+ ]+ },+ {+ "name": "MemberRemoved",+ "args": [],+ "docs": [+ " The given member was removed; see the transaction for who."+ ]+ },+ {+ "name": "MembersSwapped",+ "args": [],+ "docs": [+ " Two members were swapped; see the transaction for who."+ ]+ },+ {+ "name": "MembersReset",+ "args": [],+ "docs": [+ " The membership was reset; see the transaction for who the new set is."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [],+ "docs": [+ " One of the members' keys changed."+ ]+ },+ {+ "name": "Dummy",+ "args": [+ "PhantomData"+ ],+ "docs": [+ " Phantom member, never used."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "AlreadyMember",+ "docs": [+ " Already a member."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " Not a member."+ ]+ }+ ],+ "index": 15+ },+ {+ "name": "Grandpa",+ "storage": {+ "prefix": "Grandpa",+ "items": [+ {+ "name": "State",+ "modifier": "Default",+ "type": {+ "plain": "StoredState"+ },+ "fallback": "0x00",+ "docs": [+ " State of the current authority set."+ ]+ },+ {+ "name": "PendingChange",+ "modifier": "Optional",+ "type": {+ "plain": "StoredPendingChange"+ },+ "fallback": "0x00",+ "docs": [+ " Pending change: (signaled at, scheduled change)."+ ]+ },+ {+ "name": "NextForced",+ "modifier": "Optional",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00",+ "docs": [+ " next block number where we can force a change."+ ]+ },+ {+ "name": "Stalled",+ "modifier": "Optional",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x00",+ "docs": [+ " `true` if we are currently stalled."+ ]+ },+ {+ "name": "CurrentSetId",+ "modifier": "Default",+ "type": {+ "plain": "SetId"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The number of changes (both in terms of keys and underlying economic responsibilities)",+ " in the \"set\" of Grandpa validators from genesis."+ ]+ },+ {+ "name": "SetIdSession",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "SetId",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from grandpa set ID to the index of the *most recent* session for which its",+ " members were responsible.",+ "",+ " TWOX-NOTE: `SetId` is not under user control."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_equivocation",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported."+ ]+ },+ {+ "name": "report_equivocation_unsigned",+ "args": [+ {+ "name": "equivocation_proof",+ "type": "GrandpaEquivocationProof"+ },+ {+ "name": "key_owner_proof",+ "type": "KeyOwnerProof"+ }+ ],+ "docs": [+ " Report voter equivocation/misbehavior. This method will verify the",+ " equivocation proof and validate the given key ownership proof",+ " against the extracted offender. If both are valid, the offence",+ " will be reported.",+ "",+ " This extrinsic must be called unsigned and it is expected that only",+ " block authors will call it (validated in `ValidateUnsigned`), as such",+ " if the block author is defined it will be defined as the equivocation",+ " reporter."+ ]+ },+ {+ "name": "note_stalled",+ "args": [+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "best_finalized_block_number",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Note that the current authority set of the GRANDPA finality gadget has",+ " stalled. This will trigger a forced authority set change at the beginning",+ " of the next session, to be enacted `delay` blocks after that. The delay",+ " should be high enough to safely assume that the block signalling the",+ " forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters",+ " will start the new authority set using the given finalized block as base.",+ " Only callable by root."+ ]+ }+ ],+ "events": [+ {+ "name": "NewAuthorities",+ "args": [+ "AuthorityList"+ ],+ "docs": [+ " New authority set has been applied. \\[authority_set\\]"+ ]+ },+ {+ "name": "Paused",+ "args": [],+ "docs": [+ " Current authority set has been paused."+ ]+ },+ {+ "name": "Resumed",+ "args": [],+ "docs": [+ " Current authority set has been resumed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "PauseFailed",+ "docs": [+ " Attempt to signal GRANDPA pause when the authority set isn't live",+ " (either paused or already pending pause)."+ ]+ },+ {+ "name": "ResumeFailed",+ "docs": [+ " Attempt to signal GRANDPA resume when the authority set isn't paused",+ " (either live or already pending resume)."+ ]+ },+ {+ "name": "ChangePending",+ "docs": [+ " Attempt to signal GRANDPA change with one already pending."+ ]+ },+ {+ "name": "TooSoon",+ "docs": [+ " Cannot signal forced change so soon after last."+ ]+ },+ {+ "name": "InvalidKeyOwnershipProof",+ "docs": [+ " A key ownership proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "InvalidEquivocationProof",+ "docs": [+ " An equivocation proof provided as part of an equivocation report is invalid."+ ]+ },+ {+ "name": "DuplicateOffenceReport",+ "docs": [+ " A given equivocation report is valid but already previously reported."+ ]+ }+ ],+ "index": 16+ },+ {+ "name": "Treasury",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "ProposalIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of proposals that have been made."+ ]+ },+ {+ "name": "Proposals",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ProposalIndex",+ "value": "TreasuryProposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Proposals that have been made."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ProposalIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Proposal indices that have been approved but not yet awarded."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_spend",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Put forward a suggestion for spending. A deposit proportional to the value",+ " is reserved and slashed if the proposal is rejected. It is returned once the",+ " proposal is awarded.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `ProposalCount`, `origin account`",+ " - DbWrites: `ProposalCount`, `Proposals`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "reject_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Reject a proposed spend. The original deposit will be slashed.",+ "",+ " May only be called from `T::RejectOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1)",+ " - DbReads: `Proposals`, `rejected proposer account`",+ " - DbWrites: `Proposals`, `rejected proposer account`",+ " # </weight>"+ ]+ },+ {+ "name": "approve_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",+ " and the original deposit will be returned.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - Complexity: O(1).",+ " - DbReads: `Proposals`, `Approvals`",+ " - DbWrite: `Approvals`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "ProposalIndex"+ ],+ "docs": [+ " New proposal. \\[proposal_index\\]"+ ]+ },+ {+ "name": "Spending",+ "args": [+ "Balance"+ ],+ "docs": [+ " We have ended a spend period and will now allocate funds. \\[budget_remaining\\]"+ ]+ },+ {+ "name": "Awarded",+ "args": [+ "ProposalIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " Some funds have been allocated. \\[proposal_index, award, beneficiary\\]"+ ]+ },+ {+ "name": "Rejected",+ "args": [+ "ProposalIndex",+ "Balance"+ ],+ "docs": [+ " A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]"+ ]+ },+ {+ "name": "Burnt",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some of our funds have been burnt. \\[burn\\]"+ ]+ },+ {+ "name": "Rollover",+ "args": [+ "Balance"+ ],+ "docs": [+ " Spending has finished; this is the amount that rolls over until next spend.",+ " \\[budget_remaining\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds have been deposited. \\[deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProposalBond",+ "type": "Permill",+ "value": "0x50c30000",+ "docs": [+ " Fraction of a proposal's value that should be bonded in order to place the proposal.",+ " An accepted proposal gets these back. A rejected proposal does not."+ ]+ },+ {+ "name": "ProposalBondMinimum",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Minimum amount of funds that should be placed in a deposit for making a proposal."+ ]+ },+ {+ "name": "SpendPeriod",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " Period between successive spends."+ ]+ },+ {+ "name": "Burn",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of spare funds (if any) that are burnt per spend period."+ ]+ },+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f7472737279",+ "docs": [+ " The treasury's pallet id, used for deriving its sovereign account ID."+ ]+ },+ {+ "name": "MaxApprovals",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of approvals that can wait in the spending queue."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " No proposal or bounty at that index."+ ]+ },+ {+ "name": "TooManyApprovals",+ "docs": [+ " Too many approvals in the queue."+ ]+ }+ ],+ "index": 17+ },+ {+ "name": "Contracts",+ "storage": {+ "prefix": "Contracts",+ "items": [+ {+ "name": "PristineCode",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from an original code hash to the original code, untouched by instrumentation."+ ]+ },+ {+ "name": "CodeStorage",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "CodeHash",+ "value": "PrefabWasmModule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping between an original code hash and instrumented wasm code, ready for execution."+ ]+ },+ {+ "name": "AccountCounter",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The subtrie counter."+ ]+ },+ {+ "name": "ContractInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "ContractInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The code associated with a given account.",+ "",+ " TWOX-NOTE: SAFE since `AccountId` is a secure hash."+ ]+ },+ {+ "name": "DeletionQueue",+ "modifier": "Default",+ "type": {+ "plain": "Vec<DeletedContract>"+ },+ "fallback": "0x00",+ "docs": [+ " Evicted contracts that await child trie deletion.",+ "",+ " Child trie deletion is a heavy operation depending on the amount of storage items",+ " stored in said trie. Therefore this operation is performed lazily in `on_initialize`."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "call",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Makes a call to an account, optionally transferring some balance.",+ "",+ " * If the account is a smart-contract account, the associated code will be",+ " executed and any value will be transferred.",+ " * If the account is a regular account, any value will be transferred.",+ " * If no account exists and the call value is not less than `existential_deposit`,",+ " a regular account will be created and any value will be transferred."+ ]+ },+ {+ "name": "instantiate_with_code",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "code",+ "type": "Bytes"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "salt",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a new contract from the supplied `code` optionally transferring",+ " some balance.",+ "",+ " This is the only function that can deploy new code to the chain.",+ "",+ " # Parameters",+ "",+ " * `endowment`: The balance to transfer from the `origin` to the newly created contract.",+ " * `gas_limit`: The gas limit enforced when executing the constructor.",+ " * `code`: The contract code to deploy in raw bytes.",+ " * `data`: The input data to pass to the contract constructor.",+ " * `salt`: Used for the address derivation. See [`Pallet::contract_address`].",+ "",+ " Instantiation is executed as follows:",+ "",+ " - The supplied `code` is instrumented, deployed, and a `code_hash` is created for that code.",+ " - If the `code_hash` already exists on the chain the underlying `code` will be shared.",+ " - The destination address is computed based on the sender, code_hash and the salt.",+ " - The smart-contract account is created at the computed address.",+ " - The `endowment` is transferred to the new account.",+ " - The `deploy` function is executed in the context of the newly-created account."+ ]+ },+ {+ "name": "instantiate",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Weight>"+ },+ {+ "name": "code_hash",+ "type": "CodeHash"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "salt",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a contract from a previously deployed wasm binary.",+ "",+ " This function is identical to [`Self::instantiate_with_code`] but without the",+ " code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary",+ " must be supplied."+ ]+ },+ {+ "name": "claim_surcharge",+ "args": [+ {+ "name": "dest",+ "type": "AccountId"+ },+ {+ "name": "aux_sender",+ "type": "Option<AccountId>"+ }+ ],+ "docs": [+ " Allows block producers to claim a small reward for evicting a contract. If a block",+ " producer fails to do so, a regular users will be allowed to claim the reward.",+ "",+ " In case of a successful eviction no fees are charged from the sender. However, the",+ " reward is capped by the total amount of rent that was paid by the contract while",+ " it was alive.",+ "",+ " If contract is not evicted as a result of this call, [`Error::ContractNotEvictable`]",+ " is returned and the sender is not eligible for the reward."+ ]+ }+ ],+ "events": [+ {+ "name": "Instantiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract deployed by address at the specified address. \\[deployer, contract\\]"+ ]+ },+ {+ "name": "Evicted",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Contract has been evicted and is now in tombstone state. \\[contract\\]"+ ]+ },+ {+ "name": "Terminated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract has been terminated without leaving a tombstone.",+ " \\[contract, beneficiary\\]",+ "",+ " # Params",+ "",+ " - `contract`: The contract that was terminated.",+ " - `beneficiary`: The account that received the contracts remaining balance.",+ "",+ " # Note",+ "",+ " The only way for a contract to be removed without a tombstone and emitting",+ " this event is by calling `seal_terminate`."+ ]+ },+ {+ "name": "Restored",+ "args": [+ "AccountId",+ "AccountId",+ "Hash",+ "Balance"+ ],+ "docs": [+ " Restoration of a contract has been successful.",+ " \\[restorer, dest, code_hash, rent_allowance\\]",+ "",+ " # Params",+ "",+ " - `restorer`: Account ID of the restoring contract.",+ " - `dest`: Account ID of the restored contract.",+ " - `code_hash`: Code hash of the restored contract.",+ " - `rent_allowance`: Rent allowance of the restored contract."+ ]+ },+ {+ "name": "CodeStored",+ "args": [+ "Hash"+ ],+ "docs": [+ " Code with the specified hash has been stored. \\[code_hash\\]"+ ]+ },+ {+ "name": "ScheduleUpdated",+ "args": [+ "u32"+ ],+ "docs": [+ " Triggered when the current schedule is updated.",+ " \\[version\\]",+ "",+ " # Params",+ "",+ " - `version`: The version of the newly set schedule."+ ]+ },+ {+ "name": "ContractEmitted",+ "args": [+ "AccountId",+ "Bytes"+ ],+ "docs": [+ " A custom event emitted by the contract.",+ " \\[contract, data\\]",+ "",+ " # Params",+ "",+ " - `contract`: The contract that emitted the event.",+ " - `data`: Data supplied by the contract. Metadata generated during contract",+ " compilation is needed to decode it."+ ]+ },+ {+ "name": "CodeRemoved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A code with the specified hash was removed.",+ " \\[code_hash\\]",+ "",+ " This happens when the last contract that uses this code hash was removed or evicted."+ ]+ }+ ],+ "constants": [+ {+ "name": "Schedule",+ "type": "Schedule",+ "value": "0x0400000000020000000100008000000010000000001000000001000020000000200000000040000000000200020000008e0f0000b04602009a8c0300a9720000767600005e380000ea5e00000753000097000000579e030088130500b60000007a170000c11100005721000099370000483a0000d0110000d8d12c08bc4300005c430000bb2e0000a942000000260000b72300009c370000ad540000de540000ca5400000354000018550000e553000011550000c053000007540000da540000a0530000e85300008d5400004a690000bd680000a56a000096670000b053000013540000055400006a5500009255000060550000f455000033550000cae32900000000007a332a00000000004041290000000000a6fb5d000000000060c02a0000000000e6d6290000000000065329000000000062002a0000000000d425290000000000b0522a00000000005cb3540000000000b41c1600000000008057640000000000000100000000000008f6380000000000710200000000000078d68a210000000098d6de2a000000007c75640900000000466d6f000000000070baac0000000000ec73de07000000007406000000000000922c190000000000fc9f1d00000000008618ee0900000000450200000000000082dc6108000000003e573102000000002704000000000000cc94430b000000009406e1100000000096fa930800000000dc010000000000009c020000000000001843c12400000000f001000000000000b80200000000000094070000000000008a9b2a0000000000561200000000000046432b0000000000ab0c000000000000c08c260000000000b005000000000000acd2260000000000b005000000000000",+ "docs": [+ " Cost schedule and limits."+ ]+ },+ {+ "name": "SignedClaimHandicap",+ "type": "BlockNumber",+ "value": "0x02000000",+ "docs": [+ " Number of block delay an extrinsic claim surcharge has.",+ "",+ " When claim surcharge is called by an extrinsic the rent is checked",+ " for current_block - delay"+ ]+ },+ {+ "name": "TombstoneDeposit",+ "type": "BalanceOf",+ "value": "0x00f0e8857a9c02000000000000000000",+ "docs": [+ " The minimum amount required to generate a tombstone."+ ]+ },+ {+ "name": "DepositPerContract",+ "type": "BalanceOf",+ "value": "0x00f0e8857a9c02000000000000000000",+ "docs": [+ " The balance every contract needs to deposit to stay alive indefinitely.",+ "",+ " This is different from the [`Self::TombstoneDeposit`] because this only needs to be",+ " deposited while the contract is alive. Costs for additional storage are added to",+ " this base cost.",+ "",+ " This is a simple way to ensure that contracts with empty storage eventually get deleted by",+ " making them pay rent. This creates an incentive to remove them early in order to save rent."+ ]+ },+ {+ "name": "DepositPerStorageByte",+ "type": "BalanceOf",+ "value": "0x0060defb740500000000000000000000",+ "docs": [+ " The balance a contract needs to deposit per storage byte to stay alive indefinitely.",+ "",+ " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,",+ " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.",+ " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,",+ " then it would pay 500 BU/day."+ ]+ },+ {+ "name": "DepositPerStorageItem",+ "type": "BalanceOf",+ "value": "0x00f0ab75a40d00000000000000000000",+ "docs": [+ " The balance a contract needs to deposit per storage item to stay alive indefinitely.",+ "",+ " It works the same as [`Self::DepositPerStorageByte`] but for storage items."+ ]+ },+ {+ "name": "RentFraction",+ "type": "Perbill",+ "value": "0x85040000",+ "docs": [+ " The fraction of the deposit that should be used as rent per block.",+ "",+ " When a contract hasn't enough balance deposited to stay alive indefinitely it needs",+ " to pay per block for the storage it consumes that is not covered by the deposit.",+ " This determines how high this rent payment is per block as a fraction of the deposit."+ ]+ },+ {+ "name": "SurchargeReward",+ "type": "BalanceOf",+ "value": "0x005cb2ec220000000000000000000000",+ "docs": [+ " Reward that is received by the party whose touch has led",+ " to removal of a contract."+ ]+ },+ {+ "name": "DeletionQueueDepth",+ "type": "u32",+ "value": "0x1a040000",+ "docs": [+ " The maximum number of tries that can be queued for deletion."+ ]+ },+ {+ "name": "DeletionWeightLimit",+ "type": "Weight",+ "value": "0x00d0ed902e000000",+ "docs": [+ " The maximum amount of weight that can be consumed per block for lazy trie removal."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidScheduleVersion",+ "docs": [+ " A new schedule must have a greater version than the current one."+ ]+ },+ {+ "name": "InvalidSurchargeClaim",+ "docs": [+ " An origin must be signed or inherent and auxiliary sender only provided on inherent."+ ]+ },+ {+ "name": "InvalidSourceContract",+ "docs": [+ " Cannot restore from nonexisting or tombstone contract."+ ]+ },+ {+ "name": "InvalidDestinationContract",+ "docs": [+ " Cannot restore to nonexisting or alive contract."+ ]+ },+ {+ "name": "InvalidTombstone",+ "docs": [+ " Tombstones don't match."+ ]+ },+ {+ "name": "InvalidContractOrigin",+ "docs": [+ " An origin TrieId written in the current block."+ ]+ },+ {+ "name": "OutOfGas",+ "docs": [+ " The executed contract exhausted its gas limit."+ ]+ },+ {+ "name": "OutputBufferTooSmall",+ "docs": [+ " The output buffer supplied to a contract API call was too small."+ ]+ },+ {+ "name": "BelowSubsistenceThreshold",+ "docs": [+ " Performing the requested transfer would have brought the contract below",+ " the subsistence threshold. No transfer is allowed to do this in order to allow",+ " for a tombstone to be created. Use `seal_terminate` to remove a contract without",+ " leaving a tombstone behind."+ ]+ },+ {+ "name": "NewContractNotFunded",+ "docs": [+ " The newly created contract is below the subsistence threshold after executing",+ " its contructor. No contracts are allowed to exist below that threshold."+ ]+ },+ {+ "name": "TransferFailed",+ "docs": [+ " Performing the requested transfer failed for a reason originating in the",+ " chosen currency implementation of the runtime. Most probably the balance is",+ " too low or locks are placed on it."+ ]+ },+ {+ "name": "MaxCallDepthReached",+ "docs": [+ " Performing a call was denied because the calling depth reached the limit",+ " of what is specified in the schedule."+ ]+ },+ {+ "name": "ContractNotFound",+ "docs": [+ " No contract was found at the specified address."+ ]+ },+ {+ "name": "ContractIsTombstone",+ "docs": [+ " A tombstone exist at the specified address.",+ "",+ " Tombstone cannot be called. Anyone can use `seal_restore_to` in order to revive",+ " the contract, though."+ ]+ },+ {+ "name": "RentNotPaid",+ "docs": [+ " The called contract does not have enough balance to pay for its storage.",+ "",+ " The contract ran out of balance and is therefore eligible for eviction into a",+ " tombstone. Anyone can evict the contract by submitting a `claim_surcharge`",+ " extrinsic. Alternatively, a plain balance transfer can be used in order to",+ " increase the contracts funds so that it can be called again."+ ]+ },+ {+ "name": "CodeTooLarge",+ "docs": [+ " The code supplied to `instantiate_with_code` exceeds the limit specified in the",+ " current schedule."+ ]+ },+ {+ "name": "CodeNotFound",+ "docs": [+ " No code could be found at the supplied code hash."+ ]+ },+ {+ "name": "OutOfBounds",+ "docs": [+ " A buffer outside of sandbox memory was passed to a contract API function."+ ]+ },+ {+ "name": "DecodingFailed",+ "docs": [+ " Input passed to a contract API function failed to decode as expected type."+ ]+ },+ {+ "name": "ContractTrapped",+ "docs": [+ " Contract trapped during execution."+ ]+ },+ {+ "name": "ValueTooLarge",+ "docs": [+ " The size defined in `T::MaxValueSize` was exceeded."+ ]+ },+ {+ "name": "TerminatedWhileReentrant",+ "docs": [+ " Termination of a contract is not allowed while the contract is already",+ " on the call stack. Can be triggered by `seal_terminate` or `seal_restore_to."+ ]+ },+ {+ "name": "InputForwarded",+ "docs": [+ " `seal_call` forwarded this contracts input. It therefore is no longer available."+ ]+ },+ {+ "name": "RandomSubjectTooLong",+ "docs": [+ " The subject passed to `seal_random` exceeds the limit."+ ]+ },+ {+ "name": "TooManyTopics",+ "docs": [+ " The amount of topics passed to `seal_deposit_events` exceeds the limit."+ ]+ },+ {+ "name": "DuplicateTopics",+ "docs": [+ " The topics passed to `seal_deposit_events` contains at least one duplicate."+ ]+ },+ {+ "name": "NoChainExtension",+ "docs": [+ " The chain does not provide a chain extension. Calling the chain extension results",+ " in this error. Note that this usually shouldn't happen as deploying such contracts",+ " is rejected."+ ]+ },+ {+ "name": "DeletionQueueFull",+ "docs": [+ " Removal of a contract failed because the deletion queue is full.",+ "",+ " This can happen when either calling [`Pallet::claim_surcharge`] or `seal_terminate`.",+ " The queue is filled by deleting contracts and emptied by a fixed amount each block.",+ " Trying again during another block is the only way to resolve this issue."+ ]+ },+ {+ "name": "ContractNotEvictable",+ "docs": [+ " A contract could not be evicted because it has enough balance to pay rent.",+ "",+ " This can be returned from [`Pallet::claim_surcharge`] because the target",+ " contract has enough balance to pay for its rent."+ ]+ },+ {+ "name": "StorageExhausted",+ "docs": [+ " A storage modification exhausted the 32bit type that holds the storage size.",+ "",+ " This can either happen when the accumulated storage in bytes is too large or",+ " when number of storage items is too large."+ ]+ },+ {+ "name": "DuplicateContract",+ "docs": [+ " A contract with the same AccountId already exists."+ ]+ },+ {+ "name": "TerminatedInConstructor",+ "docs": [+ " A contract self destructed in its constructor.",+ "",+ " This can be triggered by a call to `seal_terminate` or `seal_restore_to`."+ ]+ },+ {+ "name": "DebugMessageInvalidUTF8",+ "docs": [+ " The debug message specified to `seal_debug_message` does contain invalid UTF-8."+ ]+ },+ {+ "name": "ReentranceDenied",+ "docs": [+ " A call tried to invoke a contract that is flagged as non-reentrant."+ ]+ }+ ],+ "index": 18+ },+ {+ "name": "Sudo",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "Key",+ "modifier": "Default",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The `AccountId` of the sudo key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "sudo",+ "args": [+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_unchecked_weight",+ "args": [+ {+ "name": "call",+ "type": "Call"+ },+ {+ "name": "_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ " This function does not check the weight of the call, and instead allows the",+ " Sudo user to specify the weight of the call.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - The weight of this call is defined by the caller.",+ " # </weight>"+ ]+ },+ {+ "name": "set_key",+ "args": [+ {+ "name": "new",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_as",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Signed` origin from",+ " a given account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Weight of derivative `call` execution + 10,000.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Sudid",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A sudo just took place. \\[result\\]"+ ]+ },+ {+ "name": "KeyChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The \\[sudoer\\] just switched identity; the old key is supplied."+ ]+ },+ {+ "name": "SudoAsDone",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A sudo just took place. \\[result\\]"+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "RequireSudo",+ "docs": [+ " Sender must be the Sudo account"+ ]+ }+ ],+ "index": 19+ },+ {+ "name": "ImOnline",+ "storage": {+ "prefix": "ImOnline",+ "items": [+ {+ "name": "HeartbeatAfter",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The block number after which it's ok to send heartbeats in the current",+ " session.",+ "",+ " At the beginning of each session we set this to a value that should fall",+ " roughly in the middle of the session duration. The idea is to first wait for",+ " the validators to produce a block in the current session, so that the",+ " heartbeat later on will not be necessary.",+ "",+ " This value will only be used as a fallback if we fail to get a proper session",+ " progress estimate from `NextSessionRotation`, as those estimates should be",+ " more accurate then the value we calculate for `HeartbeatAfter`."+ ]+ },+ {+ "name": "Keys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AuthorityId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of keys that may issue a heartbeat."+ ]+ },+ {+ "name": "ReceivedHeartbeats",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "AuthIndex",+ "value": "Bytes",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " For each session index, we keep a mapping of `AuthIndex` to",+ " `offchain::OpaqueNetworkState`."+ ]+ },+ {+ "name": "AuthoredBlocks",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "SessionIndex",+ "key2": "ValidatorId",+ "value": "u32",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " For each session index, we keep a mapping of `ValidatorId<T>` to the",+ " number of blocks authored by the given authority."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "heartbeat",+ "args": [+ {+ "name": "heartbeat",+ "type": "Heartbeat"+ },+ {+ "name": "_signature",+ "type": "Signature"+ }+ ],+ "docs": [+ " # <weight>",+ " - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)",+ " and E is length of `heartbeat.network_state.external_address`",+ " - `O(K)`: decoding of length `K`",+ " - `O(E)`: decoding/encoding of length `E`",+ " - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,",+ " `ReceivedHeartbeats`",+ " - DbWrites: `ReceivedHeartbeats`",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "HeartbeatReceived",+ "args": [+ "AuthorityId"+ ],+ "docs": [+ " A new heartbeat was received from `AuthorityId` \\[authority_id\\]"+ ]+ },+ {+ "name": "AllGood",+ "args": [],+ "docs": [+ " At the end of the session, no offence was committed."+ ]+ },+ {+ "name": "SomeOffline",+ "args": [+ "Vec<IdentificationTuple>"+ ],+ "docs": [+ " At the end of the session, at least one validator was found to be \\[offline\\]."+ ]+ }+ ],+ "constants": [+ {+ "name": "UnsignedPriority",+ "type": "TransactionPriority",+ "value": "0xffffffffffffffff",+ "docs": [+ " A configuration for base priority of unsigned transactions.",+ "",+ " This is exposed so that it can be tuned for particular runtime, when",+ " multiple pallets send unsigned transactions."+ ]+ }+ ],+ "errors": [+ {+ "name": "InvalidKey",+ "docs": [+ " Non existent public key."+ ]+ },+ {+ "name": "DuplicatedHeartbeat",+ "docs": [+ " Duplicated heartbeat."+ ]+ }+ ],+ "index": 20+ },+ {+ "name": "AuthorityDiscovery",+ "storage": null,+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 21+ },+ {+ "name": "Offences",+ "storage": {+ "prefix": "Offences",+ "items": [+ {+ "name": "Reports",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "ReportIdOf",+ "value": "OffenceDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The primary structure that holds all offence records keyed by report identifiers."+ ]+ },+ {+ "name": "ConcurrentReportsIndex",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Kind",+ "key2": "OpaqueTimeSlot",+ "value": "Vec<ReportIdOf>",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " A vector of reports of the same kind that happened at the same time slot."+ ]+ },+ {+ "name": "ReportsByKindIndex",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Kind",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Enumerates all reports of a kind along with the time they happened.",+ "",+ " All reports are sorted by the time of offence.",+ "",+ " Note that the actual type of this mapping is `Vec<u8>`, this is because values of",+ " different types are not supported at the moment so we are doing the manual serialization."+ ]+ }+ ]+ },+ "calls": null,+ "events": [+ {+ "name": "Offence",+ "args": [+ "Kind",+ "OpaqueTimeSlot"+ ],+ "docs": [+ " There is an offence reported of the given `kind` happened at the `session_index` and",+ " (kind-specific) time slot. This event is not deposited for duplicate slashes.",+ " \\[kind, timeslot\\]."+ ]+ }+ ],+ "constants": [],+ "errors": [],+ "index": 22+ },+ {+ "name": "Historical",+ "storage": null,+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 23+ },+ {+ "name": "RandomnessCollectiveFlip",+ "storage": {+ "prefix": "RandomnessCollectiveFlip",+ "items": [+ {+ "name": "RandomMaterial",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " Series of block headers from the last 81 blocks that acts as random seed material. This",+ " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",+ " the oldest hash."+ ]+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 24+ },+ {+ "name": "Identity",+ "storage": {+ "prefix": "Identity",+ "items": [+ {+ "name": "IdentityOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Registration",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information that is pertinent to identify the entity behind an account.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "SuperOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "(AccountId,Data)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The super-identity of an alternative \"sub\" identity together with its name, within that",+ " context. If the account is not some other account's sub-identity, then just `None`."+ ]+ },+ {+ "name": "SubsOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " Alternative \"sub\" identities of this account.",+ "",+ " The first item is the deposit, the second is a vector of the accounts.",+ "",+ " TWOX-NOTE: OK ― `AccountId` is a secure hash."+ ]+ },+ {+ "name": "Registrars",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Option<RegistrarInfo>>"+ },+ "fallback": "0x00",+ "docs": [+ " The set of registrars. Not expected to get very big as can only be added through a",+ " special origin (likely a council motion).",+ "",+ " The index into this can be cast to `RegistrarIndex` to get a valid value."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_registrar",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a registrar to the system.",+ "",+ " The dispatch origin for this call must be `T::RegistrarOrigin`.",+ "",+ " - `account`: the account of the registrar.",+ "",+ " Emits `RegistrarAdded` if successful.",+ "",+ " # <weight>",+ " - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).",+ " - One storage mutation (codec `O(R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_identity",+ "args": [+ {+ "name": "info",+ "type": "IdentityInfo"+ }+ ],+ "docs": [+ " Set an account's identity information and reserve the appropriate deposit.",+ "",+ " If the account already has identity information, the deposit is taken as part payment",+ " for the new deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `info`: The identity information.",+ "",+ " Emits `IdentitySet` if successful.",+ "",+ " # <weight>",+ " - `O(X + X' + R)`",+ " - where `X` additional-field-count (deposit-bounded and code-bounded)",+ " - where `R` judgements-count (registrar-count-bounded)",+ " - One balance reserve operation.",+ " - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "set_subs",+ "args": [+ {+ "name": "subs",+ "type": "Vec<(AccountId,Data)>"+ }+ ],+ "docs": [+ " Set the sub-accounts of the sender.",+ "",+ " Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned",+ " and an amount `SubAccountDeposit` will be reserved for each item in `subs`.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " - `subs`: The identity's (new) sub-accounts.",+ "",+ " # <weight>",+ " - `O(P + S)`",+ " - where `P` old-subs-count (hard- and deposit-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - At most one balance operations.",+ " - DB:",+ " - `P + S` storage mutations (codec complexity `O(1)`)",+ " - One storage read (codec complexity `O(P)`).",+ " - One storage write (codec complexity `O(S)`).",+ " - One storage-exists (`IdentityOf::contains_key`).",+ " # </weight>"+ ]+ },+ {+ "name": "clear_identity",+ "args": [],+ "docs": [+ " Clear an account's identity info and all sub-accounts and return all deposits.",+ "",+ " Payment: All reserved balances on the account are returned.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " identity.",+ "",+ " Emits `IdentityCleared` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`",+ " - where `R` registrar-count (governance-bounded).",+ " - where `S` subs-count (hard- and deposit-bounded).",+ " - where `X` additional-field-count (deposit-bounded and code-bounded).",+ " - One balance-unreserve operation.",+ " - `2` storage reads and `S + 2` storage deletions.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "request_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "max_fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Request a judgement from a registrar.",+ "",+ " Payment: At most `max_fee` will be reserved for payment to the registrar if judgement",+ " given.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is requested.",+ " - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:",+ "",+ " ```nocompile",+ " Self::registrars().get(reg_index).unwrap().fee",+ " ```",+ "",+ " Emits `JudgementRequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_request",+ "args": [+ {+ "name": "reg_index",+ "type": "RegistrarIndex"+ }+ ],+ "docs": [+ " Cancel a previous request.",+ "",+ " Payment: A previously reserved deposit is returned on success.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a",+ " registered identity.",+ "",+ " - `reg_index`: The index of the registrar whose judgement is no longer requested.",+ "",+ " Emits `JudgementUnrequested` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-reserve operation.",+ " - One storage mutation `O(R + X)`.",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "set_fee",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Set the fee required for a judgement to be requested from a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fee`: the new fee.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_account_id",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Change the account associated with a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `new`: the new account ID.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "set_fields",+ "args": [+ {+ "name": "index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "fields",+ "type": "IdentityFields"+ }+ ],+ "docs": [+ " Set the field information for a registrar.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `index`.",+ "",+ " - `index`: the index of the registrar whose fee is to be set.",+ " - `fields`: the fields that the registrar concerns themselves with.",+ "",+ " # <weight>",+ " - `O(R)`.",+ " - One storage mutation `O(R)`.",+ " - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)",+ " # </weight>"+ ]+ },+ {+ "name": "provide_judgement",+ "args": [+ {+ "name": "reg_index",+ "type": "Compact<RegistrarIndex>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "judgement",+ "type": "IdentityJudgement"+ }+ ],+ "docs": [+ " Provide a judgement for an account's identity.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must be the account",+ " of the registrar whose index is `reg_index`.",+ "",+ " - `reg_index`: the index of the registrar whose judgement is being made.",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ " - `judgement`: the judgement of the registrar of index `reg_index` about `target`.",+ "",+ " Emits `JudgementGiven` if successful.",+ "",+ " # <weight>",+ " - `O(R + X)`.",+ " - One balance-transfer operation.",+ " - Up to one account-lookup operation.",+ " - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "kill_identity",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove an account's identity and sub-account information and slash the deposits.",+ "",+ " Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by",+ " `Slash`. Verification request deposits are not returned; they should be cancelled",+ " manually using `cancel_request`.",+ "",+ " The dispatch origin for this call must match `T::ForceOrigin`.",+ "",+ " - `target`: the account whose identity the judgement is upon. This must be an account",+ " with a registered identity.",+ "",+ " Emits `IdentityKilled` if successful.",+ "",+ " # <weight>",+ " - `O(R + S + X)`.",+ " - One balance-reserve operation.",+ " - `S + 2` storage mutations.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "add_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Add the given account to the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "rename_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ },+ {+ "name": "data",+ "type": "Data"+ }+ ],+ "docs": [+ " Alter the associated name of the given sub-account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "remove_sub",+ "args": [+ {+ "name": "sub",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove the given account from the sender's subs.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " sub identity of `sub`."+ ]+ },+ {+ "name": "quit_sub",+ "args": [],+ "docs": [+ " Remove the sender as a sub-account.",+ "",+ " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated",+ " to the sender (*not* the original depositor).",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have a registered",+ " super-identity.",+ "",+ " NOTE: This should not normally be used, but is provided in the case that the non-",+ " controller of an account is maliciously registered as a sub-account."+ ]+ }+ ],+ "events": [+ {+ "name": "IdentitySet",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was set or reset (which will remove all judgements). \\[who\\]"+ ]+ },+ {+ "name": "IdentityCleared",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was cleared, and the given balance returned. \\[who, deposit\\]"+ ]+ },+ {+ "name": "IdentityKilled",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was removed and the given balance slashed. \\[who, deposit\\]"+ ]+ },+ {+ "name": "JudgementRequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was asked from a registrar. \\[who, registrar_index\\]"+ ]+ },+ {+ "name": "JudgementUnrequested",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement request was retracted. \\[who, registrar_index\\]"+ ]+ },+ {+ "name": "JudgementGiven",+ "args": [+ "AccountId",+ "RegistrarIndex"+ ],+ "docs": [+ " A judgement was given by a registrar. \\[target, registrar_index\\]"+ ]+ },+ {+ "name": "RegistrarAdded",+ "args": [+ "RegistrarIndex"+ ],+ "docs": [+ " A registrar was added. \\[registrar_index\\]"+ ]+ },+ {+ "name": "SubIdentityAdded",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was added to an identity and the deposit paid. \\[sub, main, deposit\\]"+ ]+ },+ {+ "name": "SubIdentityRemoved",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was removed from an identity and the deposit freed.",+ " \\[sub, main, deposit\\]"+ ]+ },+ {+ "name": "SubIdentityRevoked",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A sub-identity was cleared, and the given deposit repatriated from the",+ " main identity account to the sub-identity account. \\[sub, main, deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "BasicDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The amount held on deposit for a registered identity"+ ]+ },+ {+ "name": "FieldDeposit",+ "type": "BalanceOf",+ "value": "0x00a031a95fe300000000000000000000",+ "docs": [+ " The amount held on deposit per additional field for a registered identity."+ ]+ },+ {+ "name": "SubAccountDeposit",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount held on deposit for a registered subaccount. This should account for the fact",+ " that one storage item's value will increase by the size of an account ID, and there will be",+ " another trie item whose value is the size of an account ID plus 32 bytes."+ ]+ },+ {+ "name": "MaxSubAccounts",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " The maximum number of sub-accounts allowed per identified account."+ ]+ },+ {+ "name": "MaxAdditionalFields",+ "type": "u32",+ "value": "0x64000000",+ "docs": [+ " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O",+ " required to access an identity, but can be pretty high."+ ]+ },+ {+ "name": "MaxRegistrars",+ "type": "u32",+ "value": "0x14000000",+ "docs": [+ " Maxmimum number of registrars allowed in the system. Needed to bound the complexity",+ " of, e.g., updating judgements."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooManySubAccounts",+ "docs": [+ " Too many subs-accounts."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Account isn't found."+ ]+ },+ {+ "name": "NotNamed",+ "docs": [+ " Account isn't named."+ ]+ },+ {+ "name": "EmptyIndex",+ "docs": [+ " Empty index."+ ]+ },+ {+ "name": "FeeChanged",+ "docs": [+ " Fee is changed."+ ]+ },+ {+ "name": "NoIdentity",+ "docs": [+ " No identity found."+ ]+ },+ {+ "name": "StickyJudgement",+ "docs": [+ " Sticky judgement."+ ]+ },+ {+ "name": "JudgementGiven",+ "docs": [+ " Judgement given."+ ]+ },+ {+ "name": "InvalidJudgement",+ "docs": [+ " Invalid judgement."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " The index is invalid."+ ]+ },+ {+ "name": "InvalidTarget",+ "docs": [+ " The target is invalid."+ ]+ },+ {+ "name": "TooManyFields",+ "docs": [+ " Too many additional fields."+ ]+ },+ {+ "name": "TooManyRegistrars",+ "docs": [+ " Maximum amount of registrars reached. Cannot add any more."+ ]+ },+ {+ "name": "AlreadyClaimed",+ "docs": [+ " Account ID is already named."+ ]+ },+ {+ "name": "NotSub",+ "docs": [+ " Sender is not a sub-account."+ ]+ },+ {+ "name": "NotOwned",+ "docs": [+ " Sub-account isn't owned by sender."+ ]+ }+ ],+ "index": 25+ },+ {+ "name": "Society",+ "storage": {+ "prefix": "Society",+ "items": [+ {+ "name": "Founder",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The first member."+ ]+ },+ {+ "name": "Rules",+ "modifier": "Optional",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x00",+ "docs": [+ " A hash of the rules of this society concerning membership. Can only be set once and",+ " only by the founder."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of candidates; bidders that are attempting to become members."+ ]+ },+ {+ "name": "SuspendedCandidates",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(BalanceOf,BidKind)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended candidates."+ ]+ },+ {+ "name": "Pot",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Amount of our account balance that is specifically for the next round's bid(s)."+ ]+ },+ {+ "name": "Head",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The most primary from the most recently approved members."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of members, ordered."+ ]+ },+ {+ "name": "SuspendedMembers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of suspended members."+ ]+ },+ {+ "name": "Bids",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Bid>"+ },+ "fallback": "0x00",+ "docs": [+ " The current bids, stored ordered by the value of the bid."+ ]+ },+ {+ "name": "Vouching",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "VouchingStatus",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Members currently vouching or banned from vouching again"+ ]+ },+ {+ "name": "Payouts",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "Vec<(BlockNumber,BalanceOf)>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Pending payouts; ordered by block number, with the amount that should be paid out."+ ]+ },+ {+ "name": "Strikes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "StrikeCount",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " The ongoing number of losing votes cast by the member."+ ]+ },+ {+ "name": "Votes",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "SocietyVote",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Double map from Candidate -> Voter -> (Maybe) Vote."+ ]+ },+ {+ "name": "Defender",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " The defending member currently being challenged."+ ]+ },+ {+ "name": "DefenderVotes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "SocietyVote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes for the defender."+ ]+ },+ {+ "name": "MaxMembers",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The max number of members for the society at one time."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bid",+ "args": [+ {+ "name": "value",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " A user outside of the society can make a bid for entry.",+ "",+ " Payment: `CandidateDeposit` will be reserved for making a bid. It is returned",+ " when the bid becomes a member, or if the bid calls `unbid`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `value`: A one time payment the bid would like to receive when joining the society.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)",+ " - Storage Reads:",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " \t- One storage read to retrieve all members. O(M)",+ " - Storage Writes:",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for new bid.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unbid",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " A bidder can remove their bid for entry into society.",+ " By doing so, they will have their candidate deposit returned or",+ " they will unvouch their voucher.",+ "",+ " Payment: The bid deposit is unreserved if the user made a bid.",+ "",+ " The dispatch origin for this call must be _Signed_ and a bidder.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who wants to unbid.",+ "",+ " # <weight>",+ " Key: B (len of bids), X (balance unreserve)",+ " - One storage read and write to retrieve and update the bids. O(B)",+ " - Either one unreserve balance action O(X) or one vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "value",+ "type": "BalanceOf"+ },+ {+ "name": "tip",+ "type": "BalanceOf"+ }+ ],+ "docs": [+ " As a member, vouch for someone to join society by placing a bid on their behalf.",+ "",+ " There is no deposit required to vouch for a new bid, but a member can only vouch for",+ " one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by",+ " the suspension judgement origin, the member will be banned from vouching again.",+ "",+ " As a vouching member, you can claim a tip if the candidate is accepted. This tip will",+ " be paid as a portion of the reward the member will receive for joining the society.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `who`: The user who you would like to vouch for.",+ " - `value`: The total reward to be paid between you and the candidate if they become",+ " a member in the society.",+ " - `tip`: Your cut of the total `value` payout when the candidate is inducted into",+ " the society. Tips larger than `value` will be saturated upon payout.",+ "",+ " # <weight>",+ " Key: B (len of bids), C (len of candidates), M (len of members)",+ " - Storage Reads:",+ " \t- One storage read to retrieve all members. O(M)",+ " \t- One storage read to check member is not already vouching. O(1)",+ " \t- One storage read to check for suspended candidate. O(1)",+ " \t- One storage read to check for suspended member. O(1)",+ " \t- One storage read to retrieve all current bids. O(B)",+ " \t- One storage read to retrieve all current candidates. O(C)",+ " - Storage Writes:",+ " \t- One storage write to insert vouching status to the member. O(1)",+ " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)",+ " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)",+ " - Notable Computation:",+ " \t- O(log M) search to check sender is a member.",+ " \t- O(B + C + log M) search to check user is not already a part of society.",+ " \t- O(log B) search to insert the new bid sorted.",+ " - External Module Operations:",+ " \t- One balance reserve operation. O(X)",+ " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.",+ " - Events:",+ " \t- One event for vouch.",+ " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.",+ "",+ " Total Complexity: O(M + B + C + logM + logB + X)",+ " # </weight>"+ ]+ },+ {+ "name": "unvouch",+ "args": [+ {+ "name": "pos",+ "type": "u32"+ }+ ],+ "docs": [+ " As a vouching member, unvouch a bid. This only works while vouched user is",+ " only a bidder (and not a candidate).",+ "",+ " The dispatch origin for this call must be _Signed_ and a vouching member.",+ "",+ " Parameters:",+ " - `pos`: Position in the `Bids` vector of the bid who should be unvouched.",+ "",+ " # <weight>",+ " Key: B (len of bids)",+ " - One storage read O(1) to check the signer is a vouching member.",+ " - One storage mutate to retrieve and update the bids. O(B)",+ " - One vouching storage removal. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(B)",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "candidate",+ "type": "LookupSource"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on a candidate.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `candidate`: The candidate that the member would like to bid on.",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " Key: C (len of candidates), M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One account lookup.",+ " - One storage read O(C) and O(C) search to check that user is a candidate.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM + C)",+ " # </weight>"+ ]+ },+ {+ "name": "defender_vote",+ "args": [+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " As a member, vote on the defender.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member.",+ "",+ " Parameters:",+ " - `approve`: A boolean which says if the candidate should be",+ " approved (`true`) or rejected (`false`).",+ "",+ " # <weight>",+ " - Key: M (len of members)",+ " - One storage read O(M) and O(log M) search to check user is a member.",+ " - One storage write to add vote to votes. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(M + logM)",+ " # </weight>"+ ]+ },+ {+ "name": "payout",+ "args": [],+ "docs": [+ " Transfer the first matured payout for the sender and remove it from the records.",+ "",+ " NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.",+ "",+ " Payment: The member will receive a payment equal to their first matured",+ " payout to their free balance.",+ "",+ " The dispatch origin for this call must be _Signed_ and a member with",+ " payouts remaining.",+ "",+ " # <weight>",+ " Key: M (len of members), P (number of payouts for a particular member)",+ " - One storage read O(M) and O(log M) search to check signer is a member.",+ " - One storage read O(P) to get all payouts for a member.",+ " - One storage read O(1) to get the current block number.",+ " - One currency transfer call. O(X)",+ " - One storage write or removal to update the member's payouts. O(P)",+ "",+ " Total Complexity: O(M + logM + P + X)",+ " # </weight>"+ ]+ },+ {+ "name": "found",+ "args": [+ {+ "name": "founder",+ "type": "AccountId"+ },+ {+ "name": "max_members",+ "type": "u32"+ },+ {+ "name": "rules",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Found the society.",+ "",+ " This is done as a discrete action in order to allow for the",+ " module to be included into a running chain and can only be done once.",+ "",+ " The dispatch origin for this call must be from the _FounderSetOrigin_.",+ "",+ " Parameters:",+ " - `founder` - The first member and head of the newly founded society.",+ " - `max_members` - The initial max number of members for the society.",+ " - `rules` - The rules of this society concerning membership.",+ "",+ " # <weight>",+ " - Two storage mutates to set `Head` and `Founder`. O(1)",+ " - One storage write to add the first member to society. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "unfound",+ "args": [],+ "docs": [+ " Annul the founding of the society.",+ "",+ " The dispatch origin for this call must be Signed, and the signing account must be both",+ " the `Founder` and the `Head`. This implies that it may only be done when there is one",+ " member.",+ "",+ " # <weight>",+ " - Two storage reads O(1).",+ " - Four storage removals O(1).",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "forgive",+ "type": "bool"+ }+ ],+ "docs": [+ " Allow suspension judgement origin to make judgement on a suspended member.",+ "",+ " If a suspended member is forgiven, we simply add them back as a member, not affecting",+ " any of the existing storage items for that member.",+ "",+ " If a suspended member is rejected, remove all associated storage items, including",+ " their payouts, and remove any vouched bids they currently have.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended member to be judged.",+ " - `forgive` - A boolean representing whether the suspension judgement origin",+ " forgives (`true`) or rejects (`false`) a suspended member.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members)",+ " - One storage read to check `who` is a suspended member. O(1)",+ " - Up to one storage write O(M) with O(log M) binary search to add a member back to society.",+ " - Up to 3 storage removals O(1) to clean up a removed member.",+ " - Up to one storage write O(B) with O(B) search to remove vouched bid from bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal. O(1)",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B)",+ " # </weight>"+ ]+ },+ {+ "name": "judge_suspended_candidate",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "judgement",+ "type": "SocietyJudgement"+ }+ ],+ "docs": [+ " Allow suspended judgement origin to make judgement on a suspended candidate.",+ "",+ " If the judgement is `Approve`, we add them to society as a member with the appropriate",+ " payment for joining society.",+ "",+ " If the judgement is `Reject`, we either slash the deposit of the bid, giving it back",+ " to the society treasury, or we ban the voucher from vouching again.",+ "",+ " If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go",+ " through the induction process again.",+ "",+ " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",+ "",+ " Parameters:",+ " - `who` - The suspended candidate to be judged.",+ " - `judgement` - `Approve`, `Reject`, or `Rebid`.",+ "",+ " # <weight>",+ " Key: B (len of bids), M (len of members), X (balance action)",+ " - One storage read to check `who` is a suspended candidate.",+ " - One storage removal of the suspended candidate.",+ " - Approve Logic",+ " \t- One storage read to get the available pot to pay users with. O(1)",+ " \t- One storage write to update the available pot. O(1)",+ " \t- One storage read to get the current block number. O(1)",+ " \t- One storage read to get all members. O(M)",+ " \t- Up to one unreserve currency action.",+ " \t- Up to two new storage writes to payouts.",+ " \t- Up to one storage write with O(log M) binary search to add a member to society.",+ " - Reject Logic",+ " \t- Up to one repatriate reserved currency action. O(X)",+ " \t- Up to one storage write to ban the vouching member from vouching again.",+ " - Rebid Logic",+ " \t- Storage mutate with O(log B) binary search to place the user back into bids.",+ " - Up to one additional event if unvouch takes place.",+ " - One storage removal.",+ " - One event for the judgement.",+ "",+ " Total Complexity: O(M + logM + B + X)",+ " # </weight>"+ ]+ },+ {+ "name": "set_max_members",+ "args": [+ {+ "name": "max",+ "type": "u32"+ }+ ],+ "docs": [+ " Allows root origin to change the maximum number of members in society.",+ " Max membership count must be greater than 1.",+ "",+ " The dispatch origin for this call must be from _ROOT_.",+ "",+ " Parameters:",+ " - `max` - The maximum number of members for the society.",+ "",+ " # <weight>",+ " - One storage write to update the max. O(1)",+ " - One event.",+ "",+ " Total Complexity: O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Founded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The society is founded by the given identity. \\[founder\\]"+ ]+ },+ {+ "name": "Bid",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A membership bid just happened. The given account is the candidate's ID and their offer",+ " is the second. \\[candidate_id, offer\\]"+ ]+ },+ {+ "name": "Vouch",+ "args": [+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A membership bid just happened by vouching. The given account is the candidate's ID and",+ " their offer is the second. The vouching party is the third. \\[candidate_id, offer, vouching\\]"+ ]+ },+ {+ "name": "AutoUnbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (due to an excess of bids in the system)."+ ]+ },+ {+ "name": "Unbid",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (by their request)."+ ]+ },+ {+ "name": "Unvouch",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] was dropped (by request of who vouched for them)."+ ]+ },+ {+ "name": "Inducted",+ "args": [+ "AccountId",+ "Vec<AccountId>"+ ],+ "docs": [+ " A group of candidates have been inducted. The batch's primary is the first value, the",+ " batch in full is the second. \\[primary, candidates\\]"+ ]+ },+ {+ "name": "SuspendedMemberJudgement",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A suspended member has been judged. \\[who, judged\\]"+ ]+ },+ {+ "name": "CandidateSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[candidate\\] has been suspended"+ ]+ },+ {+ "name": "MemberSuspended",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been suspended"+ ]+ },+ {+ "name": "Challenged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A \\[member\\] has been challenged"+ ]+ },+ {+ "name": "Vote",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed \\[candidate, voter, vote\\]"+ ]+ },+ {+ "name": "DefenderVote",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A vote has been placed for a defending member \\[voter, vote\\]"+ ]+ },+ {+ "name": "NewMaxMembers",+ "args": [+ "u32"+ ],+ "docs": [+ " A new \\[max\\] member count has been set"+ ]+ },+ {+ "name": "Unfounded",+ "args": [+ "AccountId"+ ],+ "docs": [+ " Society is unfounded. \\[founder\\]"+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds were deposited into the society account. \\[value\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidateDeposit",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The minimum amount of a deposit required for a bid to be made."+ ]+ },+ {+ "name": "WrongSideDeduction",+ "type": "BalanceOf",+ "value": "0x0080f420e6b500000000000000000000",+ "docs": [+ " The amount of the unpaid reward that gets deducted in the case that either a skeptic",+ " doesn't vote or someone votes in the wrong way."+ ]+ },+ {+ "name": "MaxStrikes",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)",+ " before they become suspended."+ ]+ },+ {+ "name": "PeriodSpend",+ "type": "BalanceOf",+ "value": "0x0000c52ebca2b1000000000000000000",+ "docs": [+ " The amount of incentive paid within each period. Doesn't include VoterTip."+ ]+ },+ {+ "name": "RotationPeriod",+ "type": "BlockNumber",+ "value": "0x00770100",+ "docs": [+ " The number of blocks between candidate/membership rotation periods."+ ]+ },+ {+ "name": "ChallengePeriod",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": [+ " The number of blocks between membership challenges."+ ]+ },+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f736f636965",+ "docs": [+ " The societies's module id"+ ]+ },+ {+ "name": "MaxCandidateIntake",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Maximum candidate intake per round."+ ]+ }+ ],+ "errors": [+ {+ "name": "BadPosition",+ "docs": [+ " An incorrect position was provided."+ ]+ },+ {+ "name": "NotMember",+ "docs": [+ " User is not a member."+ ]+ },+ {+ "name": "AlreadyMember",+ "docs": [+ " User is already a member."+ ]+ },+ {+ "name": "Suspended",+ "docs": [+ " User is suspended."+ ]+ },+ {+ "name": "NotSuspended",+ "docs": [+ " User is not suspended."+ ]+ },+ {+ "name": "NoPayout",+ "docs": [+ " Nothing to payout."+ ]+ },+ {+ "name": "AlreadyFounded",+ "docs": [+ " Society already founded."+ ]+ },+ {+ "name": "InsufficientPot",+ "docs": [+ " Not enough in pot to accept candidate."+ ]+ },+ {+ "name": "AlreadyVouching",+ "docs": [+ " Member is already vouching or banned from vouching again."+ ]+ },+ {+ "name": "NotVouching",+ "docs": [+ " Member is not vouching."+ ]+ },+ {+ "name": "Head",+ "docs": [+ " Cannot remove the head of the chain."+ ]+ },+ {+ "name": "Founder",+ "docs": [+ " Cannot remove the founder."+ ]+ },+ {+ "name": "AlreadyBid",+ "docs": [+ " User has already made a bid."+ ]+ },+ {+ "name": "AlreadyCandidate",+ "docs": [+ " User is already a candidate."+ ]+ },+ {+ "name": "NotCandidate",+ "docs": [+ " User is not a candidate."+ ]+ },+ {+ "name": "MaxMembers",+ "docs": [+ " Too many members in the society."+ ]+ },+ {+ "name": "NotFounder",+ "docs": [+ " The caller is not the founder."+ ]+ },+ {+ "name": "NotHead",+ "docs": [+ " The caller is not the head."+ ]+ }+ ],+ "index": 26+ },+ {+ "name": "Recovery",+ "storage": {+ "prefix": "Recovery",+ "items": [+ {+ "name": "Recoverable",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "RecoveryConfig",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of recoverable accounts and their recovery configuration."+ ]+ },+ {+ "name": "ActiveRecoveries",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "AccountId",+ "value": "ActiveRecovery",+ "key2Hasher": "Twox64Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Active recovery attempts.",+ "",+ " First account is the account to be recovered, and the second account",+ " is the user trying to recover the account."+ ]+ },+ {+ "name": "Proxy",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The list of allowed proxy accounts.",+ "",+ " Map from the user who can access it to the recovered account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "as_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Send a call through a recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you want to make a call on-behalf-of.",+ " - `call`: The call you want to make with the recovered account.",+ "",+ " # <weight>",+ " - The weight of the `call` + 10,000.",+ " - One storage lookup to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "set_recovered",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow ROOT to bypass the recovery process and set an a rescuer account",+ " for a lost account directly.",+ "",+ " The dispatch origin for this call must be _ROOT_.",+ "",+ " Parameters:",+ " - `lost`: The \"lost account\" to be recovered.",+ " - `rescuer`: The \"rescuer account\" which can call as the lost account.",+ "",+ " # <weight>",+ " - One storage write O(1)",+ " - One event",+ " # </weight>"+ ]+ },+ {+ "name": "create_recovery",+ "args": [+ {+ "name": "friends",+ "type": "Vec<AccountId>"+ },+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "delay_period",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Create a recovery configuration for your account. This makes your account recoverable.",+ "",+ " Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance",+ " will be reserved for storing the recovery configuration. This deposit is returned",+ " in full when the user calls `remove_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `friends`: A list of friends you trust to vouch for recovery attempts.",+ " Should be ordered and contain no duplicate values.",+ " - `threshold`: The number of friends that must vouch for a recovery attempt",+ " before the account can be recovered. Should be less than or equal to",+ " the length of the list of friends.",+ " - `delay_period`: The number of blocks after a recovery attempt is initialized",+ " that needs to pass before the account can be recovered.",+ "",+ " # <weight>",+ " - Key: F (len of friends)",+ " - One storage read to check that account is not already recoverable. O(1).",+ " - A check that the friends list is sorted and unique. O(F)",+ " - One currency reserve operation. O(X)",+ " - One storage write. O(1). Codec O(F).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "initiate_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Initiate the process for recovering a recoverable account.",+ "",+ " Payment: `RecoveryDeposit` balance will be reserved for initiating the",+ " recovery process. This deposit will always be repatriated to the account",+ " trying to be recovered. See `close_recovery`.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to recover. This account",+ " needs to be recoverable (i.e. have a recovery configuration).",+ "",+ " # <weight>",+ " - One storage read to check that account is recoverable. O(F)",+ " - One storage read to check that this recovery process hasn't already started. O(1)",+ " - One currency reserve operation. O(X)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1).",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "vouch_recovery",+ "args": [+ {+ "name": "lost",+ "type": "AccountId"+ },+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a \"friend\" of a recoverable account to vouch for an active recovery",+ " process for that account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"friend\"",+ " for the recoverable account.",+ "",+ " Parameters:",+ " - `lost`: The lost account that you want to recover.",+ " - `rescuer`: The account trying to rescue the lost account that you",+ " want to vouch for.",+ "",+ " The combination of these two parameters must point to an active recovery",+ " process.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One binary search to confirm caller is a friend. O(logF)",+ " - One binary search to confirm caller has not already vouched. O(logV)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + logF + V + logV)",+ " # </weight>"+ ]+ },+ {+ "name": "claim_recovery",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Allow a successful rescuer to claim their recovered account.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"",+ " who has successfully completed the account recovery process: collected",+ " `threshold` or more vouches, waited `delay_period` blocks since initiation.",+ "",+ " Parameters:",+ " - `account`: The lost account that you want to claim has been successfully",+ " recovered by you.",+ "",+ " # <weight>",+ " Key: F (len of friends in config), V (len of vouching friends)",+ " - One storage read to get the recovery configuration. O(1), Codec O(F)",+ " - One storage read to get the active recovery process. O(1), Codec O(V)",+ " - One storage read to get the current block number. O(1)",+ " - One storage write. O(1), Codec O(V).",+ " - One event.",+ "",+ " Total Complexity: O(F + V)",+ " # </weight>"+ ]+ },+ {+ "name": "close_recovery",+ "args": [+ {+ "name": "rescuer",+ "type": "AccountId"+ }+ ],+ "docs": [+ " As the controller of a recoverable account, close an active recovery",+ " process for your account.",+ "",+ " Payment: By calling this function, the recoverable account will receive",+ " the recovery deposit `RecoveryDeposit` placed by the rescuer.",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account with an active recovery process for it.",+ "",+ " Parameters:",+ " - `rescuer`: The account trying to rescue this recoverable account.",+ "",+ " # <weight>",+ " Key: V (len of vouching friends)",+ " - One storage read/remove to get the active recovery process. O(1), Codec O(V)",+ " - One balance call to repatriate reserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(V + X)",+ " # </weight>"+ ]+ },+ {+ "name": "remove_recovery",+ "args": [],+ "docs": [+ " Remove the recovery process for your account. Recovered accounts are still accessible.",+ "",+ " NOTE: The user must make sure to call `close_recovery` on all active",+ " recovery attempts before calling this function else it will fail.",+ "",+ " Payment: By calling this function the recoverable account will unreserve",+ " their recovery configuration deposit.",+ " (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)",+ "",+ " The dispatch origin for this call must be _Signed_ and must be a",+ " recoverable account (i.e. has a recovery configuration).",+ "",+ " # <weight>",+ " Key: F (len of friends)",+ " - One storage read to get the prefix iterator for active recoveries. O(1)",+ " - One storage read/remove to get the recovery configuration. O(1), Codec O(F)",+ " - One balance call to unreserved. O(X)",+ " - One event.",+ "",+ " Total Complexity: O(F + X)",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_recovered",+ "args": [+ {+ "name": "account",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Cancel the ability to use `as_recovered` for `account`.",+ "",+ " The dispatch origin for this call must be _Signed_ and registered to",+ " be able to make calls on behalf of the recovered account.",+ "",+ " Parameters:",+ " - `account`: The recovered account you are able to call on-behalf-of.",+ "",+ " # <weight>",+ " - One storage mutation to check account is recovered by `who`. O(1)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "RecoveryCreated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been set up for an \\[account\\]."+ ]+ },+ {+ "name": "RecoveryInitiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process has been initiated for lost account by rescuer account.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "RecoveryVouched",+ "args": [+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been vouched for by sender.",+ " \\[lost, rescuer, sender\\]"+ ]+ },+ {+ "name": "RecoveryClosed",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " A recovery process for lost account by rescuer account has been closed.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "AccountRecovered",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Lost account has been successfully recovered by rescuer account.",+ " \\[lost, rescuer\\]"+ ]+ },+ {+ "name": "RecoveryRemoved",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A recovery process has been removed for an \\[account\\]."+ ]+ }+ ],+ "constants": [+ {+ "name": "ConfigDepositBase",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a recovery configuration.",+ "",+ " This is held for an additional storage item whose value size is",+ " `2 + sizeof(BlockNumber, Balance)` bytes."+ ]+ },+ {+ "name": "FriendDepositFactor",+ "type": "BalanceOf",+ "value": "0x00203d88792d00000000000000000000",+ "docs": [+ " The amount of currency needed per additional user when creating a recovery configuration.",+ "",+ " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage value."+ ]+ },+ {+ "name": "MaxFriends",+ "type": "u16",+ "value": "0x0900",+ "docs": [+ " The maximum amount of friends allowed in a recovery configuration."+ ]+ },+ {+ "name": "RecoveryDeposit",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for starting a recovery.",+ "",+ " This is primarily held for deterring malicious recovery attempts, and should",+ " have a value large enough that a bad actor would choose not to place this",+ " deposit. It also acts to fund additional storage item whose value size is",+ " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable",+ " threshold."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotAllowed",+ "docs": [+ " User is not allowed to make a call on behalf of this account"+ ]+ },+ {+ "name": "ZeroThreshold",+ "docs": [+ " Threshold must be greater than zero"+ ]+ },+ {+ "name": "NotEnoughFriends",+ "docs": [+ " Friends list must be greater than zero and threshold"+ ]+ },+ {+ "name": "MaxFriends",+ "docs": [+ " Friends list must be less than max friends"+ ]+ },+ {+ "name": "NotSorted",+ "docs": [+ " Friends list must be sorted and free of duplicates"+ ]+ },+ {+ "name": "NotRecoverable",+ "docs": [+ " This account is not set up for recovery"+ ]+ },+ {+ "name": "AlreadyRecoverable",+ "docs": [+ " This account is already set up for recovery"+ ]+ },+ {+ "name": "AlreadyStarted",+ "docs": [+ " A recovery process has already started for this account"+ ]+ },+ {+ "name": "NotStarted",+ "docs": [+ " A recovery process has not started for this rescuer"+ ]+ },+ {+ "name": "NotFriend",+ "docs": [+ " This account is not a friend who can vouch"+ ]+ },+ {+ "name": "DelayPeriod",+ "docs": [+ " The friend must wait until the delay period to vouch for this recovery"+ ]+ },+ {+ "name": "AlreadyVouched",+ "docs": [+ " This user has already vouched for this recovery"+ ]+ },+ {+ "name": "Threshold",+ "docs": [+ " The threshold for recovering this account has not been met"+ ]+ },+ {+ "name": "StillActive",+ "docs": [+ " There are still active recovery attempts that need to be closed"+ ]+ },+ {+ "name": "AlreadyProxy",+ "docs": [+ " This account is already set up for recovery"+ ]+ },+ {+ "name": "BadState",+ "docs": [+ " Some internal state is broken."+ ]+ }+ ],+ "index": 27+ },+ {+ "name": "Vesting",+ "storage": {+ "prefix": "Vesting",+ "items": [+ {+ "name": "Vesting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AccountId",+ "value": "VestingInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information regarding the vesting of a given account."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vest",+ "args": [],+ "docs": [+ " Unlock any vested funds of the sender account.",+ "",+ " The dispatch origin for this call must be _Signed_ and the sender must have funds still",+ " locked under this pallet.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 2 Reads, 2 Writes",+ " - Reads: Vesting Storage, Balances Locks, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, [Sender Account]",+ " # </weight>"+ ]+ },+ {+ "name": "vest_other",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Unlock any vested funds of a `target` account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account whose vested funds should be unlocked. Must have funds still",+ " locked under this pallet.",+ "",+ " Emits either `VestingCompleted` or `VestingUpdated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account",+ " # </weight>"+ ]+ },+ {+ "name": "vested_transfer",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Create a vested transfer.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 3 Reads, 3 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]",+ " # </weight>"+ ]+ },+ {+ "name": "force_vested_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "schedule",+ "type": "VestingInfo"+ }+ ],+ "docs": [+ " Force a vested transfer.",+ "",+ " The dispatch origin for this call must be _Root_.",+ "",+ " - `source`: The account whose funds should be transferred.",+ " - `target`: The account that should be transferred the vested funds.",+ " - `amount`: The amount of funds to transfer and will be vested.",+ " - `schedule`: The vesting schedule attached to the transfer.",+ "",+ " Emits `VestingCreated`.",+ "",+ " # <weight>",+ " - `O(1)`.",+ " - DbWeight: 4 Reads, 4 Writes",+ " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account",+ " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "VestingUpdated",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " The amount vested has been updated. This could indicate more funds are available. The",+ " balance given is the amount which is left unvested (and thus locked).",+ " \\[account, unvested\\]"+ ]+ },+ {+ "name": "VestingCompleted",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An \\[account\\] has become fully vested. No further vesting can happen."+ ]+ }+ ],+ "constants": [+ {+ "name": "MinVestedTransfer",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount transferred to call `vested_transfer`."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotVesting",+ "docs": [+ " The account given is not vesting."+ ]+ },+ {+ "name": "ExistingVestingSchedule",+ "docs": [+ " An existing vesting schedule already exists for this account that cannot be clobbered."+ ]+ },+ {+ "name": "AmountLow",+ "docs": [+ " Amount being transferred is too low to create a vesting schedule."+ ]+ }+ ],+ "index": 28+ },+ {+ "name": "Scheduler",+ "storage": {+ "prefix": "Scheduler",+ "items": [+ {+ "name": "Agenda",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Vec<Option<Scheduled>>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Items to be executed, indexed by the block number that they should be executed on."+ ]+ },+ {+ "name": "Lookup",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Bytes",+ "value": "TaskAddress",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Lookup from identity to the block number and index of the task."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "Releases"+ },+ "fallback": "0x00",+ "docs": [+ " Storage version of the pallet.",+ "",+ " New networks start with last version."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "schedule",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.29 + .126 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda",+ " - Will use base weight of 25 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel",+ "args": [+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u32"+ }+ ],+ "docs": [+ " Cancel an anonymously scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 22.15 + 2.869 * S µs",+ " - DB Weight:",+ " - Read: Agenda",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 29.6 + .159 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 35 which should be good for more than 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_named",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Cancel a named scheduled task.",+ "",+ " # <weight>",+ " - S = Number of already scheduled calls",+ " - Base Weight: 24.91 + 2.907 * S µs",+ " - DB Weight:",+ " - Read: Agenda, Lookup",+ " - Write: Agenda, Lookup",+ " - Will use base weight of 100 which should be good for up to 30 scheduled calls",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_after",+ "args": [+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Anonymously schedule a task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule`].",+ " # </weight>"+ ]+ },+ {+ "name": "schedule_named_after",+ "args": [+ {+ "name": "id",+ "type": "Bytes"+ },+ {+ "name": "after",+ "type": "BlockNumber"+ },+ {+ "name": "maybe_periodic",+ "type": "Option<Period>"+ },+ {+ "name": "priority",+ "type": "Priority"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Schedule a named task after a delay.",+ "",+ " # <weight>",+ " Same as [`schedule_named`](Self::schedule_named).",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Scheduled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Scheduled some task. \\[when, index\\]"+ ]+ },+ {+ "name": "Canceled",+ "args": [+ "BlockNumber",+ "u32"+ ],+ "docs": [+ " Canceled some task. \\[when, index\\]"+ ]+ },+ {+ "name": "Dispatched",+ "args": [+ "TaskAddress",+ "Option<Bytes>",+ "DispatchResult"+ ],+ "docs": [+ " Dispatched some task. \\[task, id, result\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "MaximumWeight",+ "type": "Weight",+ "value": "0x00806e8774010000",+ "docs": [+ " The maximum weight that may be scheduled per block for any dispatchables of less priority",+ " than `schedule::HARD_DEADLINE`."+ ]+ },+ {+ "name": "MaxScheduledPerBlock",+ "type": "u32",+ "value": "0x32000000",+ "docs": [+ " The maximum number of scheduled calls in the queue for a single block.",+ " Not strictly enforced, but used for weight estimation."+ ]+ }+ ],+ "errors": [+ {+ "name": "FailedToSchedule",+ "docs": [+ " Failed to schedule a call"+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Cannot find the scheduled call."+ ]+ },+ {+ "name": "TargetBlockNumberInPast",+ "docs": [+ " Given target block number is in the past."+ ]+ },+ {+ "name": "RescheduleNoChange",+ "docs": [+ " Reschedule failed because it does not change scheduled time."+ ]+ }+ ],+ "index": 29+ },+ {+ "name": "Proxy",+ "storage": {+ "prefix": "Proxy",+ "items": [+ {+ "name": "Proxies",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyDefinition>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The set of account proxies. Maps the account which has delegated to the accounts",+ " which are being delegated to, together with the amount held on deposit."+ ]+ },+ {+ "name": "Announcements",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(Vec<ProxyAnnouncement>,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000",+ "docs": [+ " The announcements made by the proxy (key)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "proxy",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorised for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "add_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Register a proxy account for the sender that is able to make calls on its behalf.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to make a proxy.",+ " - `proxy_type`: The permissions allowed for this proxy account.",+ " - `delay`: The announcement period required of the initial proxy. Will generally be",+ " zero.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxy",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Unregister a proxy account for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `proxy`: The account that the `caller` would like to remove as a proxy.",+ " - `proxy_type`: The permissions currently enabled for the removed proxy account.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxies",+ "args": [],+ "docs": [+ " Unregister all proxy accounts for the sender.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " WARNING: This may be called on accounts created by `anonymous`, however if done, then",+ " the unreserved fees will be inaccessible. **All access to this account will be lost.**",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "anonymous",+ "args": [+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u16"+ }+ ],+ "docs": [+ " Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and",+ " initialize it with a proxy of `proxy_type` for `origin` sender.",+ "",+ " Requires a `Signed` origin.",+ "",+ " - `proxy_type`: The type of the proxy that the sender will be registered as over the",+ " new account. This will almost always be the most permissive `ProxyType` possible to",+ " allow for maximum flexibility.",+ " - `index`: A disambiguation index, in case this is called multiple times in the same",+ " transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just",+ " want to use `0`.",+ " - `delay`: The announcement period required of the initial proxy. Will generally be",+ " zero.",+ "",+ " Fails with `Duplicate` if this has already been called in this transaction, from the",+ " same sender, with the same parameters.",+ "",+ " Fails if there are insufficient funds to pay for deposit.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>",+ " TODO: Might be over counting 1 read"+ ]+ },+ {+ "name": "kill_anonymous",+ "args": [+ {+ "name": "spawner",+ "type": "AccountId"+ },+ {+ "name": "proxy_type",+ "type": "ProxyType"+ },+ {+ "name": "index",+ "type": "u16"+ },+ {+ "name": "height",+ "type": "Compact<BlockNumber>"+ },+ {+ "name": "ext_index",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " Removes a previously spawned anonymous proxy.",+ "",+ " WARNING: **All access to this account will be lost.** Any funds held in it will be",+ " inaccessible.",+ "",+ " Requires a `Signed` origin, and the sender account must have been created by a call to",+ " `anonymous` with corresponding parameters.",+ "",+ " - `spawner`: The account that originally called `anonymous` to create this account.",+ " - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.",+ " - `proxy_type`: The proxy type originally passed to `anonymous`.",+ " - `height`: The height of the chain when the call to `anonymous` was processed.",+ " - `ext_index`: The extrinsic index in which the call to `anonymous` was processed.",+ "",+ " Fails with `NoPermission` in case the caller is not a previously created anonymous",+ " account whose `anonymous` call has corresponding parameters.",+ "",+ " # <weight>",+ " Weight is a function of the number of proxies the user has (P).",+ " # </weight>"+ ]+ },+ {+ "name": "announce",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Publish the hash of a proxy-call that will be made in the future.",+ "",+ " This must be called some number of blocks before the corresponding `proxy` is attempted",+ " if the delay associated with the proxy relationship is greater than zero.",+ "",+ " No more than `MaxPending` announcements may be made at any one time.",+ "",+ " This will take a deposit of `AnnouncementDepositFactor` as well as",+ " `AnnouncementDepositBase` if there are no other pending announcements.",+ "",+ " The dispatch origin for this call must be _Signed_ and a proxy of `real`.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_announcement",+ "args": [+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove a given announcement.",+ "",+ " May be called by a proxy account to remove a call they previously announced and return",+ " the deposit.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `call_hash`: The hash of the call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "reject_announcement",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "call_hash",+ "type": "CallHashOf"+ }+ ],+ "docs": [+ " Remove the given announcement of a delegate.",+ "",+ " May be called by a target (proxied) account to remove a call that one of their delegates",+ " (`delegate`) has announced they want to execute. The deposit is returned.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `delegate`: The account that previously announced the call.",+ " - `call_hash`: The hash of the call to be made.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ },+ {+ "name": "proxy_announced",+ "args": [+ {+ "name": "delegate",+ "type": "AccountId"+ },+ {+ "name": "real",+ "type": "AccountId"+ },+ {+ "name": "force_proxy_type",+ "type": "Option<ProxyType>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Dispatch the given `call` from an account that the sender is authorized for through",+ " `add_proxy`.",+ "",+ " Removes any corresponding announcement(s).",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Parameters:",+ " - `real`: The account that the proxy will make a call on behalf of.",+ " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",+ " - `call`: The call to be made by the `real` account.",+ "",+ " # <weight>",+ " Weight is a function of:",+ " - A: the number of announcements made.",+ " - P: the number of proxies the user has.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "ProxyExecuted",+ "args": [+ "DispatchResult"+ ],+ "docs": [+ " A proxy was executed correctly, with the given \\[result\\]."+ ]+ },+ {+ "name": "AnonymousCreated",+ "args": [+ "AccountId",+ "AccountId",+ "ProxyType",+ "u16"+ ],+ "docs": [+ " Anonymous account has been created by new proxy with given",+ " disambiguation index and proxy type. \\[anonymous, who, proxy_type, disambiguation_index\\]"+ ]+ },+ {+ "name": "Announced",+ "args": [+ "AccountId",+ "AccountId",+ "Hash"+ ],+ "docs": [+ " An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ProxyDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a proxy.",+ "",+ " This is held for an additional storage item whose value size is",+ " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."+ ]+ },+ {+ "name": "ProxyDepositFactor",+ "type": "BalanceOf",+ "value": "0x0060aa7714b400000000000000000000",+ "docs": [+ " The amount of currency needed per proxy added.",+ "",+ " This is held for adding 32 bytes plus an instance of `ProxyType` more into a pre-existing",+ " storage value. Thus, when configuring `ProxyDepositFactor` one should take into account",+ " `32 + proxy_type.encode().len()` bytes of data."+ ]+ },+ {+ "name": "MaxProxies",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum amount of proxies allowed for a single account."+ ]+ },+ {+ "name": "MaxPending",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum amount of time-delayed announcements that are allowed to be pending."+ ]+ },+ {+ "name": "AnnouncementDepositBase",+ "type": "BalanceOf",+ "value": "0x00f09e544c3900000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating an announcement.",+ "",+ " This is held when a new storage item holding a `Balance` is created (typically 16 bytes)."+ ]+ },+ {+ "name": "AnnouncementDepositFactor",+ "type": "BalanceOf",+ "value": "0x00c054ef286801000000000000000000",+ "docs": [+ " The amount of currency needed per announcement made.",+ "",+ " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)",+ " into a pre-existing storage value."+ ]+ }+ ],+ "errors": [+ {+ "name": "TooMany",+ "docs": [+ " There are too many proxies registered or too many announcements pending."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Proxy registration not found."+ ]+ },+ {+ "name": "NotProxy",+ "docs": [+ " Sender is not a proxy of the account to be proxied."+ ]+ },+ {+ "name": "Unproxyable",+ "docs": [+ " A call which is incompatible with the proxy type's filter was attempted."+ ]+ },+ {+ "name": "Duplicate",+ "docs": [+ " Account is already a proxy."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " Call may not be made by proxy because it may escalate its privileges."+ ]+ },+ {+ "name": "Unannounced",+ "docs": [+ " Announcement, if made at all, was made too recently."+ ]+ },+ {+ "name": "NoSelfProxy",+ "docs": [+ " Cannot add self as proxy."+ ]+ }+ ],+ "index": 30+ },+ {+ "name": "Multisig",+ "storage": {+ "prefix": "Multisig",+ "items": [+ {+ "name": "Multisigs",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "AccountId",+ "key2": "[u8;32]",+ "value": "Multisig",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The set of open multisig operations."+ ]+ },+ {+ "name": "Calls",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "[u8;32]",+ "value": "(OpaqueCall,AccountId,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": []+ }+ ]+ },+ "calls": [+ {+ "name": "as_multi_threshold_1",+ "args": [+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Immediately dispatch a multi-signature call using a single approval from the caller.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `other_signatories`: The accounts (other than the sender) who are part of the",+ " multi-signature, but do not participate in the approval process.",+ " - `call`: The call to be executed.",+ "",+ " Result is equivalent to the dispatched result.",+ "",+ " # <weight>",+ " O(Z + C) where Z is the length of the call and C its execution weight.",+ " -------------------------------",+ " - DB Weight: None",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call",+ "type": "OpaqueCall"+ },+ {+ "name": "store_call",+ "type": "bool"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " If there are enough, then dispatch the call.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call`: The call to be executed.",+ "",+ " NOTE: Unless this is the final approval, you will generally want to use",+ " `approve_as_multi` instead, since it only requires a hash of the call.",+ "",+ " Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise",+ " on success, result is `Ok` and the result from the interior call, if it was executed,",+ " may be found in the deposited `MultisigExecuted` event.",+ "",+ " # <weight>",+ " - `O(S + Z + Call)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - The weight of the `call`.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " -------------------------------",+ " - DB Weight:",+ " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)",+ " - Plus Call Weight",+ " # </weight>"+ ]+ },+ {+ "name": "approve_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "maybe_timepoint",+ "type": "Option<Timepoint>"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ },+ {+ "name": "max_weight",+ "type": "Weight"+ }+ ],+ "docs": [+ " Register approval for a dispatch to be made from a deterministic composite account if",+ " approved by a total of `threshold - 1` of `other_signatories`.",+ "",+ " Payment: `DepositBase` will be reserved if this is the first approval, plus",+ " `threshold` times `DepositFactor`. It is returned once this dispatch happens or",+ " is cancelled.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",+ " not the first approval, then it must be `Some`, with the timepoint (block number and",+ " transaction index) of the first approval transaction.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " NOTE: If this is the final approval, you will want to use `as_multi` instead.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - Up to one binary search and insert (`O(logS + S)`).",+ " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",+ " - One event.",+ " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a",+ " deposit taken for its lifetime of",+ " `DepositBase + threshold * DepositFactor`.",+ " ----------------------------------",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account]",+ " - Write: Multisig Storage, [Caller Account]",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_as_multi",+ "args": [+ {+ "name": "threshold",+ "type": "u16"+ },+ {+ "name": "other_signatories",+ "type": "Vec<AccountId>"+ },+ {+ "name": "timepoint",+ "type": "Timepoint"+ },+ {+ "name": "call_hash",+ "type": "[u8;32]"+ }+ ],+ "docs": [+ " Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously",+ " for this operation will be unreserved on success.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " - `threshold`: The total number of approvals for this dispatch before it is executed.",+ " - `other_signatories`: The accounts (other than the sender) who can approve this",+ " dispatch. May not be empty.",+ " - `timepoint`: The timepoint (block number and transaction index) of the first approval",+ " transaction for this dispatch.",+ " - `call_hash`: The hash of the call to be executed.",+ "",+ " # <weight>",+ " - `O(S)`.",+ " - Up to one balance-reserve or unreserve operation.",+ " - One passthrough operation, one insert, both `O(S)` where `S` is the number of",+ " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",+ " - One encode & hash, both of complexity `O(S)`.",+ " - One event.",+ " - I/O: 1 read `O(S)`, one remove.",+ " - Storage: removes one item.",+ " ----------------------------------",+ " - DB Weight:",+ " - Read: Multisig Storage, [Caller Account], Refund Account, Calls",+ " - Write: Multisig Storage, [Caller Account], Refund Account, Calls",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewMultisig",+ "args": [+ "AccountId",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A new multisig operation has begun. \\[approving, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigApproval",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been approved by someone.",+ " \\[approving, timepoint, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigExecuted",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash",+ "DispatchResult"+ ],+ "docs": [+ " A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]"+ ]+ },+ {+ "name": "MultisigCancelled",+ "args": [+ "AccountId",+ "Timepoint",+ "AccountId",+ "CallHash"+ ],+ "docs": [+ " A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "DepositBase",+ "type": "BalanceOf",+ "value": "0x00f01c0adbed01000000000000000000",+ "docs": [+ " The base amount of currency needed to reserve for creating a multisig execution or to store",+ " a dispatch call for later.",+ "",+ " This is held for an additional storage item whose value size is",+ " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is",+ " `32 + sizeof(AccountId)` bytes."+ ]+ },+ {+ "name": "DepositFactor",+ "type": "BalanceOf",+ "value": "0x0000cc7b9fae00000000000000000000",+ "docs": [+ " The amount of currency needed per unit threshold when creating a multisig execution.",+ "",+ " This is held for adding 32 bytes more into a pre-existing storage value."+ ]+ },+ {+ "name": "MaxSignatories",+ "type": "u16",+ "value": "0x6400",+ "docs": [+ " The maximum amount of signatories allowed in the multisig."+ ]+ }+ ],+ "errors": [+ {+ "name": "MinimumThreshold",+ "docs": [+ " Threshold must be 2 or greater."+ ]+ },+ {+ "name": "AlreadyApproved",+ "docs": [+ " Call is already approved by this signatory."+ ]+ },+ {+ "name": "NoApprovalsNeeded",+ "docs": [+ " Call doesn't need any (more) approvals."+ ]+ },+ {+ "name": "TooFewSignatories",+ "docs": [+ " There are too few signatories in the list."+ ]+ },+ {+ "name": "TooManySignatories",+ "docs": [+ " There are too many signatories in the list."+ ]+ },+ {+ "name": "SignatoriesOutOfOrder",+ "docs": [+ " The signatories were provided out of order; they should be ordered."+ ]+ },+ {+ "name": "SenderInSignatories",+ "docs": [+ " The sender was contained in the other signatories; it shouldn't be."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " Multisig operation not found when attempting to cancel."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " Only the account that originally created the multisig is able to cancel it."+ ]+ },+ {+ "name": "NoTimepoint",+ "docs": [+ " No timepoint was given, yet the multisig operation is already underway."+ ]+ },+ {+ "name": "WrongTimepoint",+ "docs": [+ " A different timepoint was given to the multisig operation that is underway."+ ]+ },+ {+ "name": "UnexpectedTimepoint",+ "docs": [+ " A timepoint was given, yet no multisig operation is underway."+ ]+ },+ {+ "name": "MaxWeightTooLow",+ "docs": [+ " The maximum weight information provided was too low."+ ]+ },+ {+ "name": "AlreadyStored",+ "docs": [+ " The data to be stored is already stored."+ ]+ }+ ],+ "index": 31+ },+ {+ "name": "Bounties",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "BountyCount",+ "modifier": "Default",+ "type": {+ "plain": "BountyIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of bounty proposals that have been made."+ ]+ },+ {+ "name": "Bounties",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BountyIndex",+ "value": "Bounty",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Bounties that have been made."+ ]+ },+ {+ "name": "BountyDescriptions",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BountyIndex",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The description of each bounty."+ ]+ },+ {+ "name": "BountyApprovals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<BountyIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Bounty indices that have been approved but not yet funded."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_bounty",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "description",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Propose a new bounty.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,",+ " or slashed when rejected.",+ "",+ " - `curator`: The curator account whom will manage this bounty.",+ " - `fee`: The curator fee.",+ " - `value`: The total payment amount of this bounty, curator fee included.",+ " - `description`: The description of this bounty."+ ]+ },+ {+ "name": "approve_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Approve a bounty proposal. At a later time, the bounty will be funded and become active",+ " and the original deposit will be returned.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "propose_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "curator",+ "type": "LookupSource"+ },+ {+ "name": "fee",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Assign a curator to a funded bounty.",+ "",+ " May only be called from `T::ApproveOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "unassign_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Unassign curator from a bounty.",+ "",+ " This function can only be called by the `RejectOrigin` a signed origin.",+ "",+ " If this function is called by the `RejectOrigin`, we assume that the curator is malicious",+ " or inactive. As a result, we will slash the curator when possible.",+ "",+ " If the origin is the curator, we take this as a sign they are unable to do their job and",+ " they willingly give up. We could slash them, but for now we allow them to recover their",+ " deposit and exit without issue. (We may want to change this if it is abused.)",+ "",+ " Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows",+ " anyone in the community to call out that a curator is not doing their due diligence, and",+ " we should pick a new curator. In this case the curator should also be slashed.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "accept_curator",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Accept the curator role for a bounty.",+ " A deposit will be reserved from curator and refund upon successful payout.",+ "",+ " May only be called from the curator.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "award_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay.",+ "",+ " The dispatch origin for this call must be the curator of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to award.",+ " - `beneficiary`: The beneficiary account whom will receive the payout.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "claim_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Claim the payout from an awarded bounty after payout delay.",+ "",+ " The dispatch origin for this call must be the beneficiary of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to claim.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "close_bounty",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ }+ ],+ "docs": [+ " Cancel a proposed or active bounty. All the funds will be sent to treasury and",+ " the curator deposit will be unreserved if possible.",+ "",+ " Only `T::RejectOrigin` is able to cancel a bounty.",+ "",+ " - `bounty_id`: Bounty ID to cancel.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "extend_bounty_expiry",+ "args": [+ {+ "name": "bounty_id",+ "type": "Compact<BountyIndex>"+ },+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Extend the expiry time of an active bounty.",+ "",+ " The dispatch origin for this call must be the curator of this bounty.",+ "",+ " - `bounty_id`: Bounty ID to extend.",+ " - `remark`: additional information.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "BountyProposed",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " New bounty proposal. \\[index\\]"+ ]+ },+ {+ "name": "BountyRejected",+ "args": [+ "BountyIndex",+ "Balance"+ ],+ "docs": [+ " A bounty proposal was rejected; funds were slashed. \\[index, bond\\]"+ ]+ },+ {+ "name": "BountyBecameActive",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty proposal is funded and became active. \\[index\\]"+ ]+ },+ {+ "name": "BountyAwarded",+ "args": [+ "BountyIndex",+ "AccountId"+ ],+ "docs": [+ " A bounty is awarded to a beneficiary. \\[index, beneficiary\\]"+ ]+ },+ {+ "name": "BountyClaimed",+ "args": [+ "BountyIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]"+ ]+ },+ {+ "name": "BountyCanceled",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty is cancelled. \\[index\\]"+ ]+ },+ {+ "name": "BountyExtended",+ "args": [+ "BountyIndex"+ ],+ "docs": [+ " A bounty expiry is extended. \\[index\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "DataDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within bounty description."+ ]+ },+ {+ "name": "BountyDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a bounty proposal."+ ]+ },+ {+ "name": "BountyDepositPayoutDelay",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The delay period for which a bounty beneficiary need to wait before claim the payout."+ ]+ },+ {+ "name": "BountyUpdatePeriod",+ "type": "BlockNumber",+ "value": "0x00270600",+ "docs": [+ " Bounty duration in blocks."+ ]+ },+ {+ "name": "BountyCuratorDeposit",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of the curator fee that will be reserved upfront as deposit for bounty curator."+ ]+ },+ {+ "name": "BountyValueMinimum",+ "type": "BalanceOf",+ "value": "0x00406352bfc601000000000000000000",+ "docs": [+ " Minimum value for a bounty."+ ]+ },+ {+ "name": "MaximumReasonLength",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " Maximum acceptable reason length."+ ]+ }+ ],+ "errors": [+ {+ "name": "InsufficientProposersBalance",+ "docs": [+ " Proposer's balance is too low."+ ]+ },+ {+ "name": "InvalidIndex",+ "docs": [+ " No proposal or bounty at that index."+ ]+ },+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "UnexpectedStatus",+ "docs": [+ " The bounty status is unexpected."+ ]+ },+ {+ "name": "RequireCurator",+ "docs": [+ " Require bounty curator."+ ]+ },+ {+ "name": "InvalidValue",+ "docs": [+ " Invalid bounty value."+ ]+ },+ {+ "name": "InvalidFee",+ "docs": [+ " Invalid bounty fee."+ ]+ },+ {+ "name": "PendingPayout",+ "docs": [+ " A bounty payout is pending.",+ " To cancel the bounty, you must unassign and slash the curator."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The bounties cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ],+ "index": 32+ },+ {+ "name": "Tips",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "Tips",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "Hash",+ "value": "OpenTip",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.",+ " This has the insecure enumerable hash function since the key itself is already",+ " guaranteed to be a secure hash."+ ]+ },+ {+ "name": "Reasons",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "Hash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Simple preimage lookup from the reason's hash to the original data. Again, has an",+ " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_awesome",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Report something `reason` that deserves a tip and claim any eventual the finder's fee.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",+ " `DataDepositPerByte` for each byte in `reason`.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R)` where `R` length of `reason`.",+ " - encoding and hashing of 'reason'",+ " - DbReads: `Reasons`, `Tips`",+ " - DbWrites: `Reasons`, `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "retract_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",+ "",+ " If successful, the original deposit will be unreserved.",+ "",+ " The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",+ " must have been reported by the signing account through `report_awesome` (and not",+ " through `tip_new`).",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " Emits `TipRetracted` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(1)`",+ " - Depends on the length of `T::Hash` which is fixed.",+ " - DbReads: `Tips`, `origin account`",+ " - DbWrites: `Reasons`, `Tips`, `origin account`",+ " # </weight>"+ ]+ },+ {+ "name": "tip_new",+ "args": [+ {+ "name": "reason",+ "type": "Bytes"+ },+ {+ "name": "who",+ "type": "AccountId"+ },+ {+ "name": "tip_value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Give a tip for something new; no finder's fee will be taken.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",+ " a UTF-8-encoded URL.",+ " - `who`: The account which should be credited for the tip.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `NewTip` if successful.",+ "",+ " # <weight>",+ " - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.",+ " - `O(T)`: decoding `Tipper` vec of length `T`",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - `O(R)`: hashing and encoding of reason of length `R`",+ " - DbReads: `Tippers`, `Reasons`",+ " - DbWrites: `Reasons`, `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ },+ {+ "name": "tip_value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Declare a tip value for an already-open tip.",+ "",+ " The dispatch origin for this call must be _Signed_ and the signing account must be a",+ " member of the `Tippers` set.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",+ " account ID.",+ " - `tip_value`: The amount of tip that the sender would like to give. The median tip",+ " value of active tippers will be given to the `who`.",+ "",+ " Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",+ " has started.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`, insert tip and check closing,",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ "",+ " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it",+ " is weighted as if almost full i.e of length `T-1`.",+ " - DbReads: `Tippers`, `Tips`",+ " - DbWrites: `Tips`",+ " # </weight>"+ ]+ },+ {+ "name": "close_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Close and payout a tip.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " The tip identified by `hash` must have finished its countdown period.",+ "",+ " - `hash`: The identity of the open tip for which a tip value is declared. This is formed",+ " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",+ "",+ " # <weight>",+ " - Complexity: `O(T)` where `T` is the number of tippers.",+ " decoding `Tipper` vec of length `T`.",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " - DbReads: `Tips`, `Tippers`, `tip finder`",+ " - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`",+ " # </weight>"+ ]+ },+ {+ "name": "slash_tip",+ "args": [+ {+ "name": "hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Remove and slash an already-open tip.",+ "",+ " May only be called from `T::RejectOrigin`.",+ "",+ " As a result, the finder is slashed and the deposits are lost.",+ "",+ " Emits `TipSlashed` if successful.",+ "",+ " # <weight>",+ " `T` is charged as upper bound given by `ContainsLengthBound`.",+ " The actual cost depends on the implementation of `T::Tippers`.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTip",+ "args": [+ "Hash"+ ],+ "docs": [+ " A new tip suggestion has been opened. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipClosing",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has reached threshold and is closing. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipClosed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been closed. \\[tip_hash, who, payout\\]"+ ]+ },+ {+ "name": "TipRetracted",+ "args": [+ "Hash"+ ],+ "docs": [+ " A tip suggestion has been retracted. \\[tip_hash\\]"+ ]+ },+ {+ "name": "TipSlashed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "TipCountdown",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " The period for which a tip remains open after is has achieved threshold tippers."+ ]+ },+ {+ "name": "TipFindersFee",+ "type": "Percent",+ "value": "0x14",+ "docs": [+ " The amount of the final tip which goes to the original reporter of the tip."+ ]+ },+ {+ "name": "TipReportDepositBase",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount held on deposit for placing a tip report."+ ]+ },+ {+ "name": "DataDepositPerByte",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount held on deposit per byte within the tip report reason."+ ]+ },+ {+ "name": "MaximumReasonLength",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " Maximum acceptable reason length."+ ]+ }+ ],+ "errors": [+ {+ "name": "ReasonTooBig",+ "docs": [+ " The reason given is just too big."+ ]+ },+ {+ "name": "AlreadyKnown",+ "docs": [+ " The tip was already found/started."+ ]+ },+ {+ "name": "UnknownTip",+ "docs": [+ " The tip hash is unknown."+ ]+ },+ {+ "name": "NotFinder",+ "docs": [+ " The account attempting to retract the tip is not the finder of the tip."+ ]+ },+ {+ "name": "StillOpen",+ "docs": [+ " The tip cannot be claimed/closed because there are not enough tippers yet."+ ]+ },+ {+ "name": "Premature",+ "docs": [+ " The tip cannot be claimed/closed because it's still in the countdown period."+ ]+ }+ ],+ "index": 33+ },+ {+ "name": "Assets",+ "storage": {+ "prefix": "Assets",+ "items": [+ {+ "name": "Asset",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AssetId",+ "value": "AssetDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Details of an asset."+ ]+ },+ {+ "name": "Account",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_128Concat",+ "key1": "AssetId",+ "key2": "AccountId",+ "value": "AssetBalance",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00000000000000000000",+ "docs": [+ " The number of units of assets held by any given account."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Optional",+ "type": {+ "nMap": {+ "keyVec": [+ "AssetId",+ "AccountId",+ "AccountId"+ ],+ "hashers": [+ "Blake2_128Concat",+ "Blake2_128Concat",+ "Blake2_128Concat"+ ],+ "value": "AssetApproval"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Approved balance transfers. First balance is the amount approved for transfer. Second",+ " is the amount of `T::Currency` reserved for storing this.",+ " First key is the asset ID, second key is the owner and third key is the delegate."+ ]+ },+ {+ "name": "Metadata",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "AssetId",+ "value": "AssetMetadata",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000",+ "docs": [+ " Metadata of an asset."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "create",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "min_balance",+ "type": "TAssetBalance"+ }+ ],+ "docs": [+ " Issue a new class of fungible assets from a public origin.",+ "",+ " This new asset class has no assets initially and its owner is the origin.",+ "",+ " The origin must be Signed and the sender must have sufficient funds free.",+ "",+ " Funds of sender are reserved by `AssetDeposit`.",+ "",+ " Parameters:",+ " - `id`: The identifier of the new asset. This must not be currently in use to identify",+ " an existing asset.",+ " - `admin`: The admin of this class of assets. The admin is the initial address of each",+ " member of the asset class's admin team.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ "",+ " Emits `Created` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_create",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "is_sufficient",+ "type": "bool"+ },+ {+ "name": "min_balance",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Issue a new class of fungible assets from a privileged origin.",+ "",+ " This new asset class has no assets initially.",+ "",+ " The origin must conform to `ForceOrigin`.",+ "",+ " Unlike `create`, no funds are reserved.",+ "",+ " - `id`: The identifier of the new asset. This must not be currently in use to identify",+ " an existing asset.",+ " - `owner`: The owner of this class of assets. The owner has full superuser permissions",+ " over this asset, but may later change and configure the permissions using `transfer_ownership`",+ " and `set_team`.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ "",+ " Emits `ForceCreated` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "destroy",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "witness",+ "type": "AssetDestroyWitness"+ }+ ],+ "docs": [+ " Destroy a class of fungible assets.",+ "",+ " The origin must conform to `ForceOrigin` or must be Signed and the sender must be the",+ " owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be destroyed. This must identify an existing",+ " asset.",+ "",+ " Emits `Destroyed` event when successful.",+ "",+ " NOTE: It can be helpful to first freeze an asset before destroying it so that you",+ " can provide accurate witness information and prevent users from manipulating state",+ " in a way that can make it harder to destroy.",+ "",+ " Weight: `O(c + p + a)` where:",+ " - `c = (witness.accounts - witness.sufficients)`",+ " - `s = witness.sufficients`",+ " - `a = witness.approvals`"+ ]+ },+ {+ "name": "mint",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Mint assets of a particular class.",+ "",+ " The origin must be Signed and the sender must be the Issuer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to have some amount minted.",+ " - `beneficiary`: The account to be credited with the minted assets.",+ " - `amount`: The amount of the asset to be minted.",+ "",+ " Emits `Issued` event when successful.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."+ ]+ },+ {+ "name": "burn",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.",+ "",+ " Origin must be Signed and the sender should be the Manager of the asset `id`.",+ "",+ " Bails with `BalanceZero` if the `who` is already dead.",+ "",+ " - `id`: The identifier of the asset to have some amount burned.",+ " - `who`: The account to be debited from.",+ " - `amount`: The maximum amount by which `who`'s balance should be reduced.",+ "",+ " Emits `Burned` with the actual amount burned. If this takes the balance to below the",+ " minimum for the asset, then the amount burned is increased to take it to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from the sender account to another.",+ "",+ " Origin must be Signed.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `target`: The account to be credited.",+ " - `amount`: The amount by which the sender's balance of assets should be reduced and",+ " `target`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the sender balance above zero but below",+ " the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of",+ " `target`."+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from the sender account to another, keeping the sender account alive.",+ "",+ " Origin must be Signed.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `target`: The account to be credited.",+ " - `amount`: The amount by which the sender's balance of assets should be reduced and",+ " `target`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the sender balance above zero but below",+ " the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of",+ " `target`."+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Move some assets from one account to another.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to have some amount transferred.",+ " - `source`: The account to be debited.",+ " - `dest`: The account to be credited.",+ " - `amount`: The amount by which the `source`'s balance of assets should be reduced and",+ " `dest`'s balance increased. The amount actually transferred may be slightly greater in",+ " the case that the transfer would otherwise take the `source` balance above zero but",+ " below the minimum balance. Must be greater than zero.",+ "",+ " Emits `Transferred` with the actual amount transferred. If this takes the source balance",+ " to below the minimum for the asset, then the amount transferred is increased to take it",+ " to zero.",+ "",+ " Weight: `O(1)`",+ " Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of",+ " `dest`."+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfers from an account.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `who`: The account to be frozen.",+ "",+ " Emits `Frozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Allow unprivileged transfers from an account again.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `who`: The account to be unfrozen.",+ "",+ " Emits `Thawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "freeze_asset",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfers for the asset class.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ "",+ " Emits `Frozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw_asset",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Allow unprivileged transfers for the asset again.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be thawed.",+ "",+ " Emits `Thawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "transfer_ownership",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Owner of an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The new Owner of this asset.",+ "",+ " Emits `OwnerChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_team",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Issuer, Admin and Freezer of an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " - `id`: The identifier of the asset to be frozen.",+ " - `issuer`: The new Issuer of this asset.",+ " - `admin`: The new Admin of this asset.",+ " - `freezer`: The new Freezer of this asset.",+ "",+ " Emits `TeamChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "name",+ "type": "Bytes"+ },+ {+ "name": "symbol",+ "type": "Bytes"+ },+ {+ "name": "decimals",+ "type": "u8"+ }+ ],+ "docs": [+ " Set the metadata for an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " Funds of sender are reserved according to the formula:",+ " `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into",+ " account any already reserved funds.",+ "",+ " - `id`: The identifier of the asset to update.",+ " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",+ " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",+ " - `decimals`: The number of decimals this asset uses to represent one unit.",+ "",+ " Emits `MetadataSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "clear_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `id`.",+ "",+ " Any deposit is freed for the asset owner.",+ "",+ " - `id`: The identifier of the asset to clear.",+ "",+ " Emits `MetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_set_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "name",+ "type": "Bytes"+ },+ {+ "name": "symbol",+ "type": "Bytes"+ },+ {+ "name": "decimals",+ "type": "u8"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Force the metadata for an asset to some value.",+ "",+ " Origin must be ForceOrigin.",+ "",+ " Any deposit is left alone.",+ "",+ " - `id`: The identifier of the asset to update.",+ " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",+ " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",+ " - `decimals`: The number of decimals this asset uses to represent one unit.",+ "",+ " Emits `MetadataSet`.",+ "",+ " Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."+ ]+ },+ {+ "name": "force_clear_metadata",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset.",+ "",+ " Origin must be ForceOrigin.",+ "",+ " Any deposit is returned.",+ "",+ " - `id`: The identifier of the asset to clear.",+ "",+ " Emits `MetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_asset_status",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ },+ {+ "name": "min_balance",+ "type": "Compact<TAssetBalance>"+ },+ {+ "name": "is_sufficient",+ "type": "bool"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Alter the attributes of a given asset.",+ "",+ " Origin must be `ForceOrigin`.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The new Owner of this asset.",+ " - `issuer`: The new Issuer of this asset.",+ " - `admin`: The new Admin of this asset.",+ " - `freezer`: The new Freezer of this asset.",+ " - `min_balance`: The minimum balance of this new asset that any single account must",+ " have. If an account's balance is reduced below this, then it collapses to zero.",+ " - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient",+ " value to account for the state bloat associated with its balance storage. If set to",+ " `true`, then non-zero balances may be stored without a `consumer` reference (and thus",+ " an ED in the Balances pallet or whatever else is used to control user-account state",+ " growth).",+ " - `is_frozen`: Whether this asset class is frozen except for permissioned/admin",+ " instructions.",+ "",+ " Emits `AssetStatusChanged` with the identity of the asset.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "approve_transfer",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Approve an amount of asset for transfer by a delegated third-party account.",+ "",+ " Origin must be Signed.",+ "",+ " Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account",+ " for the purpose of holding the approval. If some non-zero amount of assets is already",+ " approved from signing account to `delegate`, then it is topped up or unreserved to",+ " meet the right value.",+ "",+ " NOTE: The signing account does not need to own `amount` of assets at the point of",+ " making this call.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account to delegate permission to transfer asset.",+ " - `amount`: The amount of asset that may be transferred by `delegate`. If there is",+ " already an approval in place, then this acts additively.",+ "",+ " Emits `ApprovedTransfer` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "cancel_approval",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Cancel all of some asset approved for delegated transfer by a third-party account.",+ "",+ " Origin must be Signed and there must be an approval in place between signer and",+ " `delegate`.",+ "",+ " Unreserves any deposit previously reserved by `approve_transfer` for the approval.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account delegated permission to transfer asset.",+ "",+ " Emits `ApprovalCancelled` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_cancel_approval",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Cancel all of some asset approved for delegated transfer by a third-party account.",+ "",+ " Origin must be either ForceOrigin or Signed origin with the signer being the Admin",+ " account of the asset `id`.",+ "",+ " Unreserves any deposit previously reserved by `approve_transfer` for the approval.",+ "",+ " - `id`: The identifier of the asset.",+ " - `delegate`: The account delegated permission to transfer asset.",+ "",+ " Emits `ApprovalCancelled` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "transfer_approved",+ "args": [+ {+ "name": "id",+ "type": "Compact<AssetId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "destination",+ "type": "LookupSource"+ },+ {+ "name": "amount",+ "type": "Compact<TAssetBalance>"+ }+ ],+ "docs": [+ " Transfer some asset balance from a previously delegated account to some third-party",+ " account.",+ "",+ " Origin must be Signed and there must be an approval in place by the `owner` to the",+ " signer.",+ "",+ " If the entire amount approved for transfer is transferred, then any deposit previously",+ " reserved by `approve_transfer` is unreserved.",+ "",+ " - `id`: The identifier of the asset.",+ " - `owner`: The account which previously approved for a transfer of at least `amount` and",+ " from which the asset balance will be withdrawn.",+ " - `destination`: The account to which the asset balance of `amount` will be transferred.",+ " - `amount`: The amount of assets to transfer.",+ "",+ " Emits `TransferredApproved` on success.",+ "",+ " Weight: `O(1)`"+ ]+ }+ ],+ "events": [+ {+ "name": "Created",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Some asset class was created. \\[asset_id, creator, owner\\]"+ ]+ },+ {+ "name": "Issued",+ "args": [+ "AssetId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were issued. \\[asset_id, owner, total_supply\\]"+ ]+ },+ {+ "name": "Transferred",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were transferred. \\[asset_id, from, to, amount\\]"+ ]+ },+ {+ "name": "Burned",+ "args": [+ "AssetId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " Some assets were destroyed. \\[asset_id, owner, balance\\]"+ ]+ },+ {+ "name": "TeamChanged",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " The management team changed \\[asset_id, issuer, admin, freezer\\]"+ ]+ },+ {+ "name": "OwnerChanged",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " The owner changed \\[asset_id, owner\\]"+ ]+ },+ {+ "name": "Frozen",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some account `who` was frozen. \\[asset_id, who\\]"+ ]+ },+ {+ "name": "Thawed",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some account `who` was thawed. \\[asset_id, who\\]"+ ]+ },+ {+ "name": "AssetFrozen",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Some asset `asset_id` was frozen. \\[asset_id\\]"+ ]+ },+ {+ "name": "AssetThawed",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Some asset `asset_id` was thawed. \\[asset_id\\]"+ ]+ },+ {+ "name": "Destroyed",+ "args": [+ "AssetId"+ ],+ "docs": [+ " An asset class was destroyed."+ ]+ },+ {+ "name": "ForceCreated",+ "args": [+ "AssetId",+ "AccountId"+ ],+ "docs": [+ " Some asset class was force-created. \\[asset_id, owner\\]"+ ]+ },+ {+ "name": "MetadataSet",+ "args": [+ "AssetId",+ "Bytes",+ "Bytes",+ "u8",+ "bool"+ ],+ "docs": [+ " New metadata has been set for an asset. \\[asset_id, name, symbol, decimals, is_frozen\\]"+ ]+ },+ {+ "name": "MetadataCleared",+ "args": [+ "AssetId"+ ],+ "docs": [+ " Metadata has been cleared for an asset. \\[asset_id\\]"+ ]+ },+ {+ "name": "ApprovedTransfer",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " (Additional) funds have been approved for transfer to a destination account.",+ " \\[asset_id, source, delegate, amount\\]"+ ]+ },+ {+ "name": "ApprovalCancelled",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An approval for account `delegate` was cancelled by `owner`.",+ " \\[id, owner, delegate\\]"+ ]+ },+ {+ "name": "TransferredApproved",+ "args": [+ "AssetId",+ "AccountId",+ "AccountId",+ "AccountId",+ "TAssetBalance"+ ],+ "docs": [+ " An `amount` was transferred in its entirety from `owner` to `destination` by",+ " the approved `delegate`.",+ " \\[id, owner, delegate, destination\\]"+ ]+ },+ {+ "name": "AssetStatusChanged",+ "args": [+ "AssetId"+ ],+ "docs": [+ " An asset has had its attributes changed by the `Force` origin.",+ " \\[id\\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "AssetDeposit",+ "type": "DepositBalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved for an asset."+ ]+ },+ {+ "name": "MetadataDepositBase",+ "type": "DepositBalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved when adding metadata to your asset."+ ]+ },+ {+ "name": "MetadataDepositPerByte",+ "type": "DepositBalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The additional funds that must be reserved for the number of bytes you store in your",+ " metadata."+ ]+ },+ {+ "name": "ApprovalDeposit",+ "type": "DepositBalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The amount of funds that must be reserved when creating a new approval."+ ]+ },+ {+ "name": "StringLimit",+ "type": "u32",+ "value": "0x32000000",+ "docs": [+ " The maximum length of a name or symbol stored on-chain."+ ]+ }+ ],+ "errors": [+ {+ "name": "BalanceLow",+ "docs": [+ " Account balance must be greater than or equal to the transfer amount."+ ]+ },+ {+ "name": "BalanceZero",+ "docs": [+ " Balance should be non-zero."+ ]+ },+ {+ "name": "NoPermission",+ "docs": [+ " The signing account has no permission to do the operation."+ ]+ },+ {+ "name": "Unknown",+ "docs": [+ " The given asset ID is unknown."+ ]+ },+ {+ "name": "Frozen",+ "docs": [+ " The origin account is frozen."+ ]+ },+ {+ "name": "InUse",+ "docs": [+ " The asset ID is already taken."+ ]+ },+ {+ "name": "BadWitness",+ "docs": [+ " Invalid witness data given."+ ]+ },+ {+ "name": "MinBalanceZero",+ "docs": [+ " Minimum balance should be non-zero."+ ]+ },+ {+ "name": "NoProvider",+ "docs": [+ " No provider reference exists to allow a non-zero balance of a non-self-sufficient asset."+ ]+ },+ {+ "name": "BadMetadata",+ "docs": [+ " Invalid metadata given."+ ]+ },+ {+ "name": "Unapproved",+ "docs": [+ " No approval exists that would allow the transfer."+ ]+ },+ {+ "name": "WouldDie",+ "docs": [+ " The source account would not survive the transfer and it needs to stay alive."+ ]+ }+ ],+ "index": 34+ },+ {+ "name": "Mmr",+ "storage": {+ "prefix": "Mmr",+ "items": [+ {+ "name": "RootHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Latest MMR Root hash."+ ]+ },+ {+ "name": "NumberOfLeaves",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current size of the MMR (number of leaves)."+ ]+ },+ {+ "name": "Nodes",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Identity",+ "key": "u64",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Hashes of the nodes in the MMR.",+ "",+ " Note this collection only contains MMR peaks, the inner nodes (and leaves)",+ " are pruned and only stored in the Offchain DB."+ ]+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [],+ "errors": [],+ "index": 35+ },+ {+ "name": "Lottery",+ "storage": {+ "prefix": "Lottery",+ "items": [+ {+ "name": "LotteryIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": []+ },+ {+ "name": "Lottery",+ "modifier": "Optional",+ "type": {+ "plain": "LotteryConfig"+ },+ "fallback": "0x00",+ "docs": [+ " The configuration for the current lottery."+ ]+ },+ {+ "name": "Participants",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "AccountId",+ "value": "(u32,Vec<CallIndex>)",+ "linked": false+ }+ },+ "fallback": "0x0000000000",+ "docs": [+ " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)"+ ]+ },+ {+ "name": "TicketsCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Total number of tickets sold."+ ]+ },+ {+ "name": "Tickets",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "u32",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Each ticket's owner.",+ "",+ " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones",+ " are actually valid ticket mappings."+ ]+ },+ {+ "name": "CallIndices",+ "modifier": "Default",+ "type": {+ "plain": "Vec<CallIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " The calls stored in this pallet to be used in an active lottery if configured",+ " by `Config::ValidateCall`."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "buy_ticket",+ "args": [+ {+ "name": "call",+ "type": "Call"+ }+ ],+ "docs": [+ " Buy a ticket to enter the lottery.",+ "",+ " This extrinsic acts as a passthrough function for `call`. In all",+ " situations where `call` alone would succeed, this extrinsic should",+ " succeed.",+ "",+ " If `call` is successful, then we will attempt to purchase a ticket,",+ " which may fail silently. To detect success of a ticket purchase, you",+ " should listen for the `TicketBought` event.",+ "",+ " This extrinsic must be called by a signed origin."+ ]+ },+ {+ "name": "set_calls",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Set calls in storage which can be used to purchase a lottery ticket.",+ "",+ " This function only matters if you use the `ValidateCall` implementation",+ " provided by this pallet, which uses storage to determine the valid calls.",+ "",+ " This extrinsic must be called by the Manager origin."+ ]+ },+ {+ "name": "start_lottery",+ "args": [+ {+ "name": "price",+ "type": "BalanceOf"+ },+ {+ "name": "length",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ },+ {+ "name": "repeat",+ "type": "bool"+ }+ ],+ "docs": [+ " Start a lottery using the provided configuration.",+ "",+ " This extrinsic must be called by the `ManagerOrigin`.",+ "",+ " Parameters:",+ "",+ " * `price`: The cost of a single ticket.",+ " * `length`: How long the lottery should run for starting at the current block.",+ " * `delay`: How long after the lottery end we should wait before picking a winner.",+ " * `repeat`: If the lottery should repeat when completed."+ ]+ },+ {+ "name": "stop_repeat",+ "args": [],+ "docs": [+ " If a lottery is repeating, you can use this to stop the repeat.",+ " The lottery will continue to run to completion.",+ "",+ " This extrinsic must be called by the `ManagerOrigin`."+ ]+ }+ ],+ "events": [+ {+ "name": "LotteryStarted",+ "args": [],+ "docs": [+ " A lottery has been started!"+ ]+ },+ {+ "name": "CallsUpdated",+ "args": [],+ "docs": [+ " A new set of calls have been set!"+ ]+ },+ {+ "name": "Winner",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A winner has been chosen!"+ ]+ },+ {+ "name": "TicketBought",+ "args": [+ "AccountId",+ "CallIndex"+ ],+ "docs": [+ " A ticket has been bought!"+ ]+ }+ ],+ "constants": [+ {+ "name": "PalletId",+ "type": "PalletId",+ "value": "0x70792f6c6f74746f",+ "docs": [+ " The Lottery's pallet id"+ ]+ },+ {+ "name": "MaxCalls",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The max number of calls available in a single lottery."+ ]+ },+ {+ "name": "MaxGenerateRandom",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " Number of time we should try to generate a random number that has no modulo bias.",+ " The larger this number, the more potential computation is used for picking the winner,",+ " but also the more likely that the chosen winner is done fairly."+ ]+ }+ ],+ "errors": [+ {+ "name": "NotConfigured",+ "docs": [+ " A lottery has not been configured."+ ]+ },+ {+ "name": "InProgress",+ "docs": [+ " A lottery is already in progress."+ ]+ },+ {+ "name": "AlreadyEnded",+ "docs": [+ " A lottery has already ended."+ ]+ },+ {+ "name": "InvalidCall",+ "docs": [+ " The call is not valid for an open lottery."+ ]+ },+ {+ "name": "AlreadyParticipating",+ "docs": [+ " You are already participating in the lottery with this call."+ ]+ },+ {+ "name": "TooManyCalls",+ "docs": [+ " Too many calls for a single lottery."+ ]+ },+ {+ "name": "EncodingFailed",+ "docs": [+ " Failed to encode calls"+ ]+ }+ ],+ "index": 36+ },+ {+ "name": "Gilt",+ "storage": {+ "prefix": "Gilt",+ "items": [+ {+ "name": "QueueTotals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(u32,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The totals of items and balances within each queue. Saves a lot of storage reads in the",+ " case of sparsely packed queues.",+ "",+ " The vector is indexed by duration in `Period`s, offset by one, so information on the queue",+ " whose duration is one `Period` would be storage `0`."+ ]+ },+ {+ "name": "Queues",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "u32",+ "value": "Vec<GiltBid>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The queues of bids ready to become gilts. Indexed by duration (in `Period`s)."+ ]+ },+ {+ "name": "ActiveTotal",+ "modifier": "Default",+ "type": {+ "plain": "ActiveGiltsTotal"+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Information relating to the gilts currently active."+ ]+ },+ {+ "name": "Active",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "ActiveIndex",+ "value": "ActiveGilt",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The currently active gilts, indexed according to the order of creation."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "place_bid",+ "args": [+ {+ "name": "amount",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "duration",+ "type": "u32"+ }+ ],+ "docs": [+ " Place a bid for a gilt to be issued.",+ "",+ " Origin must be Signed, and account must have at least `amount` in free balance.",+ "",+ " - `amount`: The amount of the bid; these funds will be reserved. If the bid is",+ " successfully elevated into an issued gilt, then these funds will continue to be",+ " reserved until the gilt expires. Must be at least `MinFreeze`.",+ " - `duration`: The number of periods for which the funds will be locked if the gilt is",+ " issued. It will expire only after this period has elapsed after the point of issuance.",+ " Must be greater than 1 and no more than `QueueCount`.",+ "",+ " Complexities:",+ " - `Queues[duration].len()` (just take max)."+ ]+ },+ {+ "name": "retract_bid",+ "args": [+ {+ "name": "amount",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "duration",+ "type": "u32"+ }+ ],+ "docs": [+ " Retract a previously placed bid.",+ "",+ " Origin must be Signed, and the account should have previously issued a still-active bid",+ " of `amount` for `duration`.",+ "",+ " - `amount`: The amount of the previous bid.",+ " - `duration`: The duration of the previous bid."+ ]+ },+ {+ "name": "set_target",+ "args": [+ {+ "name": "target",+ "type": "Compact<Perquintill>"+ }+ ],+ "docs": [+ " Set target proportion of gilt-funds.",+ "",+ " Origin must be `AdminOrigin`.",+ "",+ " - `target`: The target proportion of effective issued funds that should be under gilts",+ " at any one time."+ ]+ },+ {+ "name": "thaw",+ "args": [+ {+ "name": "index",+ "type": "Compact<ActiveIndex>"+ }+ ],+ "docs": [+ " Remove an active but expired gilt. Reserved funds under gilt are freed and balance is",+ " adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion",+ " of effective total issued funds.",+ "",+ " Origin must be Signed and the account must be the owner of the gilt of the given index.",+ "",+ " - `index`: The index of the gilt to be thawed."+ ]+ }+ ],+ "events": [+ {+ "name": "BidPlaced",+ "args": [+ "AccountId",+ "BalanceOf",+ "u32"+ ],+ "docs": [+ " A bid was successfully placed.",+ " \\[ who, amount, duration \\]"+ ]+ },+ {+ "name": "BidRetracted",+ "args": [+ "AccountId",+ "BalanceOf",+ "u32"+ ],+ "docs": [+ " A bid was successfully removed (before being accepted as a gilt).",+ " \\[ who, amount, duration \\]"+ ]+ },+ {+ "name": "GiltIssued",+ "args": [+ "ActiveIndex",+ "BlockNumber",+ "AccountId",+ "BalanceOf"+ ],+ "docs": [+ " A bid was accepted as a gilt. The balance may not be released until expiry.",+ " \\[ index, expiry, who, amount \\]"+ ]+ },+ {+ "name": "GiltThawed",+ "args": [+ "ActiveIndex",+ "AccountId",+ "BalanceOf",+ "BalanceOf"+ ],+ "docs": [+ " An expired gilt has been thawed.",+ " \\[ index, who, original_amount, additional_amount \\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "IgnoredIssuance",+ "type": "BalanceOf",+ "value": "0x00000000000000000000000000000000",+ "docs": [+ " The issuance to ignore. This is subtracted from the `Currency`'s `total_issuance` to get",+ " the issuance by which we inflate or deflate the gilt."+ ]+ },+ {+ "name": "QueueCount",+ "type": "u32",+ "value": "0x2c010000",+ "docs": [+ " Number of duration queues in total. This sets the maximum duration supported, which is",+ " this value multiplied by `Period`."+ ]+ },+ {+ "name": "MaxQueueLen",+ "type": "u32",+ "value": "0xe8030000",+ "docs": [+ " Maximum number of items that may be in each duration queue."+ ]+ },+ {+ "name": "FifoQueueLen",+ "type": "u32",+ "value": "0xf4010000",+ "docs": [+ " Portion of the queue which is free from ordering and just a FIFO.",+ "",+ " Must be no greater than `MaxQueueLen`."+ ]+ },+ {+ "name": "Period",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The base period for the duration queues. This is the common multiple across all",+ " supported freezing durations that can be bid upon."+ ]+ },+ {+ "name": "MinFreeze",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount of funds that may be offered to freeze for a gilt. Note that this",+ " does not actually limit the amount which may be frozen in a gilt since gilts may be",+ " split up in order to satisfy the desired amount of funds under gilts.",+ "",+ " It should be at least big enough to ensure that there is no possible storage spam attack",+ " or queue-filling attack."+ ]+ },+ {+ "name": "IntakePeriod",+ "type": "BlockNumber",+ "value": "0x0a000000",+ "docs": [+ " The number of blocks between consecutive attempts to issue more gilts in an effort to",+ " get to the target amount to be frozen.",+ "",+ " A larger value results in fewer storage hits each block, but a slower period to get to",+ " the target."+ ]+ },+ {+ "name": "MaxIntakeBids",+ "type": "u32",+ "value": "0x0a000000",+ "docs": [+ " The maximum amount of bids that can be turned into issued gilts each block. A larger",+ " value here means less of the block available for transactions should there be a glut of",+ " bids to make into gilts to reach the target."+ ]+ }+ ],+ "errors": [+ {+ "name": "DurationTooSmall",+ "docs": [+ " The duration of the bid is less than one."+ ]+ },+ {+ "name": "DurationTooBig",+ "docs": [+ " The duration is the bid is greater than the number of queues."+ ]+ },+ {+ "name": "AmountTooSmall",+ "docs": [+ " The amount of the bid is less than the minimum allowed."+ ]+ },+ {+ "name": "BidTooLow",+ "docs": [+ " The queue for the bid's duration is full and the amount bid is too low to get in through",+ " replacing an existing bid."+ ]+ },+ {+ "name": "Unknown",+ "docs": [+ " Gilt index is unknown."+ ]+ },+ {+ "name": "NotOwner",+ "docs": [+ " Not the owner of the gilt."+ ]+ },+ {+ "name": "NotExpired",+ "docs": [+ " Gilt not yet at expiry date."+ ]+ },+ {+ "name": "NotFound",+ "docs": [+ " The given bid for retraction is not found."+ ]+ }+ ],+ "index": 37+ },+ {+ "name": "Uniques",+ "storage": {+ "prefix": "Uniques",+ "items": [+ {+ "name": "Class",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "ClassId",+ "value": "ClassDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Details of an asset class."+ ]+ },+ {+ "name": "Account",+ "modifier": "Optional",+ "type": {+ "nMap": {+ "keyVec": [+ "AccountId",+ "ClassId",+ "InstanceId"+ ],+ "hashers": [+ "Blake2_128Concat",+ "Blake2_128Concat",+ "Blake2_128Concat"+ ],+ "value": "()"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The assets held by any given account; set out this way so that assets owned by a single",+ " account can be enumerated."+ ]+ },+ {+ "name": "Asset",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_128Concat",+ "key1": "ClassId",+ "key2": "InstanceId",+ "value": "InstanceDetails",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The assets in existence and their ownership details."+ ]+ },+ {+ "name": "ClassMetadataOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "ClassId",+ "value": "ClassMetadata",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Metadata of an asset class."+ ]+ },+ {+ "name": "InstanceMetadataOf",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_128Concat",+ "key1": "ClassId",+ "key2": "InstanceId",+ "value": "InstanceMetadata",+ "key2Hasher": "Blake2_128Concat"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Metadata of an asset instance."+ ]+ },+ {+ "name": "Attribute",+ "modifier": "Optional",+ "type": {+ "nMap": {+ "keyVec": [+ "ClassId",+ "Option<InstanceId>",+ "Bytes"+ ],+ "hashers": [+ "Blake2_128Concat",+ "Blake2_128Concat",+ "Blake2_128Concat"+ ],+ "value": "(Bytes,DepositBalanceOf)"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Metadata of an asset class."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "create",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Issue a new class of non-fungible assets from a public origin.",+ "",+ " This new asset class has no assets initially and its owner is the origin.",+ "",+ " The origin must be Signed and the sender must have sufficient funds free.",+ "",+ " `AssetDeposit` funds of sender are reserved.",+ "",+ " Parameters:",+ " - `class`: The identifier of the new asset class. This must not be currently in use.",+ " - `admin`: The admin of this class of assets. The admin is the initial address of each",+ " member of the asset class's admin team.",+ "",+ " Emits `Created` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_create",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "free_holding",+ "type": "bool"+ }+ ],+ "docs": [+ " Issue a new class of non-fungible assets from a privileged origin.",+ "",+ " This new asset class has no assets initially.",+ "",+ " The origin must conform to `ForceOrigin`.",+ "",+ " Unlike `create`, no funds are reserved.",+ "",+ " - `class`: The identifier of the new asset. This must not be currently in use.",+ " - `owner`: The owner of this class of assets. The owner has full superuser permissions",+ " over this asset, but may later change and configure the permissions using",+ " `transfer_ownership` and `set_team`.",+ "",+ " Emits `ForceCreated` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "destroy",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "witness",+ "type": "DestroyWitness"+ }+ ],+ "docs": [+ " Destroy a class of fungible assets.",+ "",+ " The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the",+ " owner of the asset `class`.",+ "",+ " - `class`: The identifier of the asset class to be destroyed.",+ " - `witness`: Information on the instances minted in the asset class. This must be",+ " correct.",+ "",+ " Emits `Destroyed` event when successful.",+ "",+ " Weight: `O(n + m)` where:",+ " - `n = witness.instances`",+ " - `m = witness.instance_metadatas`",+ " - `a = witness.attributes`"+ ]+ },+ {+ "name": "mint",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Mint an asset instance of a particular class.",+ "",+ " The origin must be Signed and the sender must be the Issuer of the asset `class`.",+ "",+ " - `class`: The class of the asset to be minted.",+ " - `instance`: The instance value of the asset to be minted.",+ " - `beneficiary`: The initial owner of the minted asset.",+ "",+ " Emits `Issued` event when successful.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "burn",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "check_owner",+ "type": "Option<LookupSource>"+ }+ ],+ "docs": [+ " Destroy a single asset instance.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `class`.",+ "",+ " - `class`: The class of the asset to be burned.",+ " - `instance`: The instance of the asset to be burned.",+ " - `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the",+ " asset is owned by this value.",+ "",+ " Emits `Burned` with the actual amount burned.",+ "",+ " Weight: `O(1)`",+ " Modes: `check_owner.is_some()`."+ ]+ },+ {+ "name": "transfer",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Move an asset from the sender account to another.",+ "",+ " Origin must be Signed and the signing account must be either:",+ " - the Admin of the asset `class`;",+ " - the Owner of the asset `instance`;",+ " - the approved delegate for the asset `instance` (in this case, the approval is reset).",+ "",+ " Arguments:",+ " - `class`: The class of the asset to be transferred.",+ " - `instance`: The instance of the asset to be transferred.",+ " - `dest`: The account to receive ownership of the asset.",+ "",+ " Emits `Transferred`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "redeposit",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instances",+ "type": "Vec<InstanceId>"+ }+ ],+ "docs": [+ " Reevaluate the deposits on some assets.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `class`.",+ "",+ " - `class`: The class of the asset to be frozen.",+ " - `instances`: The instances of the asset class whose deposits will be reevaluated.",+ "",+ " NOTE: This exists as a best-effort function. Any asset instances which are unknown or",+ " in the case that the owner account does not have reservable funds to pay for a",+ " deposit increase are ignored. Generally the owner isn't going to call this on instances",+ " whose existing deposit is less than the refreshed deposit as it would only cost them,",+ " so it's of little consequence.",+ "",+ " It will still return an error in the case that the class is unknown of the signer is",+ " not permitted to call it.",+ "",+ " Weight: `O(instances.len())`"+ ]+ },+ {+ "name": "freeze",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfer of an asset instance.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `class`.",+ "",+ " - `class`: The class of the asset to be frozen.",+ " - `instance`: The instance of the asset to be frozen.",+ "",+ " Emits `Frozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ }+ ],+ "docs": [+ " Re-allow unprivileged transfer of an asset instance.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `class`.",+ "",+ " - `class`: The class of the asset to be thawed.",+ " - `instance`: The instance of the asset to be thawed.",+ "",+ " Emits `Thawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "freeze_class",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ }+ ],+ "docs": [+ " Disallow further unprivileged transfers for a whole asset class.",+ "",+ " Origin must be Signed and the sender should be the Freezer of the asset `class`.",+ "",+ " - `class`: The asset class to be frozen.",+ "",+ " Emits `ClassFrozen`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "thaw_class",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ }+ ],+ "docs": [+ " Re-allow unprivileged transfers for a whole asset class.",+ "",+ " Origin must be Signed and the sender should be the Admin of the asset `class`.",+ "",+ " - `class`: The class to be thawed.",+ "",+ " Emits `ClassThawed`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "transfer_ownership",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Owner of an asset class.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `class`.",+ "",+ " - `class`: The asset class whose owner should be changed.",+ " - `owner`: The new Owner of this asset class.",+ "",+ " Emits `OwnerChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_team",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Change the Issuer, Admin and Freezer of an asset class.",+ "",+ " Origin must be Signed and the sender should be the Owner of the asset `class`.",+ "",+ " - `class`: The asset class whose team should be changed.",+ " - `issuer`: The new Issuer of this asset class.",+ " - `admin`: The new Admin of this asset class.",+ " - `freezer`: The new Freezer of this asset class.",+ "",+ " Emits `TeamChanged`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "approve_transfer",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "delegate",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Approve an instance to be transferred by a delegated third-party account.",+ "",+ " Origin must be Signed and must be the owner of the asset `instance`.",+ "",+ " - `class`: The class of the asset to be approved for delegated transfer.",+ " - `instance`: The instance of the asset to be approved for delegated transfer.",+ " - `delegate`: The account to delegate permission to transfer the asset.",+ "",+ " Emits `ApprovedTransfer` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "cancel_approval",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "maybe_check_delegate",+ "type": "Option<LookupSource>"+ }+ ],+ "docs": [+ " Cancel the prior approval for the transfer of an asset by a delegate.",+ "",+ " Origin must be either:",+ " - the `Force` origin;",+ " - `Signed` with the signer being the Admin of the asset `class`;",+ " - `Signed` with the signer being the Owner of the asset `instance`;",+ "",+ " Arguments:",+ " - `class`: The class of the asset of whose approval will be cancelled.",+ " - `instance`: The instance of the asset of whose approval will be cancelled.",+ " - `maybe_check_delegate`: If `Some` will ensure that the given account is the one to",+ " which permission of transfer is delegated.",+ "",+ " Emits `ApprovalCancelled` on success.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "force_asset_status",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "owner",+ "type": "LookupSource"+ },+ {+ "name": "issuer",+ "type": "LookupSource"+ },+ {+ "name": "admin",+ "type": "LookupSource"+ },+ {+ "name": "freezer",+ "type": "LookupSource"+ },+ {+ "name": "free_holding",+ "type": "bool"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Alter the attributes of a given asset.",+ "",+ " Origin must be `ForceOrigin`.",+ "",+ " - `class`: The identifier of the asset.",+ " - `owner`: The new Owner of this asset.",+ " - `issuer`: The new Issuer of this asset.",+ " - `admin`: The new Admin of this asset.",+ " - `freezer`: The new Freezer of this asset.",+ " - `free_holding`: Whether a deposit is taken for holding an instance of this asset",+ " class.",+ " - `is_frozen`: Whether this asset class is frozen except for permissioned/admin",+ " instructions.",+ "",+ " Emits `AssetStatusChanged` with the identity of the asset.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_attribute",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "maybe_instance",+ "type": "Option<InstanceId>"+ },+ {+ "name": "key",+ "type": "Bytes"+ },+ {+ "name": "value",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set an attribute for an asset class or instance.",+ "",+ " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",+ " asset `class`.",+ "",+ " If the origin is Signed, then funds of signer are reserved according to the formula:",+ " `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into",+ " account any already reserved funds.",+ "",+ " - `class`: The identifier of the asset class whose instance's metadata to set.",+ " - `maybe_instance`: The identifier of the asset instance whose metadata to set.",+ " - `key`: The key of the attribute.",+ " - `value`: The value to which to set the attribute.",+ "",+ " Emits `AttributeSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "clear_attribute",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "maybe_instance",+ "type": "Option<InstanceId>"+ },+ {+ "name": "key",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set an attribute for an asset class or instance.",+ "",+ " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",+ " asset `class`.",+ "",+ " If the origin is Signed, then funds of signer are reserved according to the formula:",+ " `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into",+ " account any already reserved funds.",+ "",+ " - `class`: The identifier of the asset class whose instance's metadata to set.",+ " - `instance`: The identifier of the asset instance whose metadata to set.",+ " - `key`: The key of the attribute.",+ " - `value`: The value to which to set the attribute.",+ "",+ " Emits `AttributeSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_metadata",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Set the metadata for an asset instance.",+ "",+ " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",+ " asset `class`.",+ "",+ " If the origin is Signed, then funds of signer are reserved according to the formula:",+ " `MetadataDepositBase + DepositPerByte * data.len` taking into",+ " account any already reserved funds.",+ "",+ " - `class`: The identifier of the asset class whose instance's metadata to set.",+ " - `instance`: The identifier of the asset instance whose metadata to set.",+ " - `data`: The general information of this asset. Limited in length by `StringLimit`.",+ " - `is_frozen`: Whether the metadata should be frozen against further changes.",+ "",+ " Emits `MetadataSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "clear_metadata",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "instance",+ "type": "Compact<InstanceId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset instance.",+ "",+ " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",+ " asset `instance`.",+ "",+ " Any deposit is freed for the asset class owner.",+ "",+ " - `class`: The identifier of the asset class whose instance's metadata to clear.",+ " - `instance`: The identifier of the asset instance whose metadata to clear.",+ "",+ " Emits `MetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "set_class_metadata",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ },+ {+ "name": "data",+ "type": "Bytes"+ },+ {+ "name": "is_frozen",+ "type": "bool"+ }+ ],+ "docs": [+ " Set the metadata for an asset class.",+ "",+ " Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",+ " the asset `class`.",+ "",+ " If the origin is `Signed`, then funds of signer are reserved according to the formula:",+ " `MetadataDepositBase + DepositPerByte * data.len` taking into",+ " account any already reserved funds.",+ "",+ " - `class`: The identifier of the asset whose metadata to update.",+ " - `data`: The general information of this asset. Limited in length by `StringLimit`.",+ " - `is_frozen`: Whether the metadata should be frozen against further changes.",+ "",+ " Emits `ClassMetadataSet`.",+ "",+ " Weight: `O(1)`"+ ]+ },+ {+ "name": "clear_class_metadata",+ "args": [+ {+ "name": "class",+ "type": "Compact<ClassId>"+ }+ ],+ "docs": [+ " Clear the metadata for an asset class.",+ "",+ " Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",+ " the asset `class`.",+ "",+ " Any deposit is freed for the asset class owner.",+ "",+ " - `class`: The identifier of the asset class whose metadata to clear.",+ "",+ " Emits `ClassMetadataCleared`.",+ "",+ " Weight: `O(1)`"+ ]+ }+ ],+ "events": [+ {+ "name": "Created",+ "args": [+ "ClassId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An asset class was created. \\[ class, creator, owner \\]"+ ]+ },+ {+ "name": "ForceCreated",+ "args": [+ "ClassId",+ "AccountId"+ ],+ "docs": [+ " An asset class was force-created. \\[ class, owner \\]"+ ]+ },+ {+ "name": "Destroyed",+ "args": [+ "ClassId"+ ],+ "docs": [+ " An asset `class` was destroyed. \\[ class \\]"+ ]+ },+ {+ "name": "Issued",+ "args": [+ "ClassId",+ "InstanceId",+ "AccountId"+ ],+ "docs": [+ " An asset `instace` was issued. \\[ class, instance, owner \\]"+ ]+ },+ {+ "name": "Transferred",+ "args": [+ "ClassId",+ "InstanceId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An asset `instace` was transferred. \\[ class, instance, from, to \\]"+ ]+ },+ {+ "name": "Burned",+ "args": [+ "ClassId",+ "InstanceId",+ "AccountId"+ ],+ "docs": [+ " An asset `instance` was destroyed. \\[ class, instance, owner \\]"+ ]+ },+ {+ "name": "Frozen",+ "args": [+ "ClassId",+ "InstanceId"+ ],+ "docs": [+ " Some asset `instance` was frozen. \\[ class, instance \\]"+ ]+ },+ {+ "name": "Thawed",+ "args": [+ "ClassId",+ "InstanceId"+ ],+ "docs": [+ " Some asset `instance` was thawed. \\[ class, instance \\]"+ ]+ },+ {+ "name": "ClassFrozen",+ "args": [+ "ClassId"+ ],+ "docs": [+ " Some asset `class` was frozen. \\[ class \\]"+ ]+ },+ {+ "name": "ClassThawed",+ "args": [+ "ClassId"+ ],+ "docs": [+ " Some asset `class` was thawed. \\[ class \\]"+ ]+ },+ {+ "name": "OwnerChanged",+ "args": [+ "ClassId",+ "AccountId"+ ],+ "docs": [+ " The owner changed \\[ class, new_owner \\]"+ ]+ },+ {+ "name": "TeamChanged",+ "args": [+ "ClassId",+ "AccountId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " The management team changed \\[ class, issuer, admin, freezer \\]"+ ]+ },+ {+ "name": "ApprovedTransfer",+ "args": [+ "ClassId",+ "InstanceId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An `instance` of an asset `class` has been approved by the `owner` for transfer by a",+ " `delegate`.",+ " \\[ class, instance, owner, delegate \\]"+ ]+ },+ {+ "name": "ApprovalCancelled",+ "args": [+ "ClassId",+ "InstanceId",+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An approval for a `delegate` account to transfer the `instance` of an asset `class` was",+ " cancelled by its `owner`.",+ " \\[ class, instance, owner, delegate \\]"+ ]+ },+ {+ "name": "AssetStatusChanged",+ "args": [+ "ClassId"+ ],+ "docs": [+ " An asset `class` has had its attributes changed by the `Force` origin.",+ " \\[ class \\]"+ ]+ },+ {+ "name": "ClassMetadataSet",+ "args": [+ "ClassId",+ "Bytes",+ "bool"+ ],+ "docs": [+ " New metadata has been set for an asset class. \\[ class, data, is_frozen \\]"+ ]+ },+ {+ "name": "ClassMetadataCleared",+ "args": [+ "ClassId"+ ],+ "docs": [+ " Metadata has been cleared for an asset class. \\[ class \\]"+ ]+ },+ {+ "name": "MetadataSet",+ "args": [+ "ClassId",+ "InstanceId",+ "Bytes",+ "bool"+ ],+ "docs": [+ " New metadata has been set for an asset instance.",+ " \\[ class, instance, data, is_frozen \\]"+ ]+ },+ {+ "name": "MetadataCleared",+ "args": [+ "ClassId",+ "InstanceId"+ ],+ "docs": [+ " Metadata has been cleared for an asset instance. \\[ class, instance \\]"+ ]+ },+ {+ "name": "Redeposited",+ "args": [+ "ClassId",+ "Vec<InstanceId>"+ ],+ "docs": [+ " Metadata has been cleared for an asset instance. \\[ class, successful_instances \\]"+ ]+ },+ {+ "name": "AttributeSet",+ "args": [+ "ClassId",+ "Option<InstanceId>",+ "Bytes",+ "Bytes"+ ],+ "docs": [+ " New attribute metadata has been set for an asset class or instance.",+ " \\[ class, maybe_instance, key, value \\]"+ ]+ },+ {+ "name": "AttributeCleared",+ "args": [+ "ClassId",+ "Option<InstanceId>",+ "Bytes"+ ],+ "docs": [+ " Attribute metadata has been cleared for an asset class or instance.",+ " \\[ class, maybe_instance, key, maybe_value \\]"+ ]+ }+ ],+ "constants": [+ {+ "name": "ClassDeposit",+ "type": "DepositBalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved for an asset class."+ ]+ },+ {+ "name": "InstanceDeposit",+ "type": "DepositBalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved for an asset instance."+ ]+ },+ {+ "name": "MetadataDepositBase",+ "type": "DepositBalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved when adding metadata to your asset."+ ]+ },+ {+ "name": "AttributeDepositBase",+ "type": "DepositBalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": [+ " The basic amount of funds that must be reserved when adding an attribute to an asset."+ ]+ },+ {+ "name": "DepositPerByte",+ "type": "DepositBalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The additional funds that must be reserved for the number of bytes store in metadata,",+ " either \"normal\" metadata or attribute metadata."+ ]+ },+ {+ "name": "StringLimit",+ "type": "u32",+ "value": "0x32000000",+ "docs": [+ " The maximum length of data stored on-chain."+ ]+ },+ {+ "name": "KeyLimit",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum length of an attribute key."+ ]+ },+ {+ "name": "ValueLimit",+ "type": "u32",+ "value": "0x00010000",+ "docs": [+ " The maximum length of an attribute value."+ ]+ }+ ],+ "errors": [+ {+ "name": "NoPermission",+ "docs": [+ " The signing account has no permission to do the operation."+ ]+ },+ {+ "name": "Unknown",+ "docs": [+ " The given asset ID is unknown."+ ]+ },+ {+ "name": "AlreadyExists",+ "docs": [+ " The asset instance ID has already been used for an asset."+ ]+ },+ {+ "name": "WrongOwner",+ "docs": [+ " The owner turned out to be different to what was expected."+ ]+ },+ {+ "name": "BadWitness",+ "docs": [+ " Invalid witness data given."+ ]+ },+ {+ "name": "InUse",+ "docs": [+ " The asset ID is already taken."+ ]+ },+ {+ "name": "Frozen",+ "docs": [+ " The asset instance or class is frozen."+ ]+ },+ {+ "name": "WrongDelegate",+ "docs": [+ " The delegate turned out to be different to what was expected."+ ]+ },+ {+ "name": "NoDelegate",+ "docs": [+ " There is no delegate approved."+ ]+ },+ {+ "name": "Unapproved",+ "docs": [+ " No approval exists that would allow the transfer."+ ]+ }+ ],+ "index": 38+ },+ {+ "name": "TransactionStorage",+ "storage": {+ "prefix": "TransactionStorage",+ "items": [+ {+ "name": "Transactions",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "BlockNumber",+ "value": "Vec<TransactionInfo>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Collection of transaction metadata by block number."+ ]+ },+ {+ "name": "ChunkCount",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_128Concat",+ "key": "BlockNumber",+ "value": "u32",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " Count indexed chunks for each block."+ ]+ },+ {+ "name": "ByteFee",+ "modifier": "Optional",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00",+ "docs": [+ " Storage fee per byte."+ ]+ },+ {+ "name": "EntryFee",+ "modifier": "Optional",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00",+ "docs": [+ " Storage fee per transaction."+ ]+ },+ {+ "name": "MaxTransactionSize",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Maximum data set in a single transaction in bytes."+ ]+ },+ {+ "name": "MaxBlockTransactions",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Maximum number of indexed transactions in the block."+ ]+ },+ {+ "name": "StoragePeriod",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`",+ " for block authoring."+ ]+ },+ {+ "name": "BlockTransactions",+ "modifier": "Default",+ "type": {+ "plain": "Vec<TransactionInfo>"+ },+ "fallback": "0x00",+ "docs": []+ },+ {+ "name": "ProofChecked",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Was the proof checked in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "store",+ "args": [+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Index and store data on chain. Minimum data size is 1 bytes, maximum is `MaxTransactionSize`.",+ " Data will be removed after `STORAGE_PERIOD` blocks, unless `renew` is called.",+ " # <weight>",+ " - n*log(n) of data size, as all data is pushed to an in-memory trie.",+ " Additionally contains a DB write.",+ " # </weight>"+ ]+ },+ {+ "name": "renew",+ "args": [+ {+ "name": "block",+ "type": "BlockNumber"+ },+ {+ "name": "index",+ "type": "u32"+ }+ ],+ "docs": [+ " Renew previously stored data. Parameters are the block number that contains",+ " previous `store` or `renew` call and transaction index within that block.",+ " Transaction index is emitted in the `Stored` or `Renewed` event.",+ " Applies same fees as `store`.",+ " # <weight>",+ " - Constant.",+ " # </weight>"+ ]+ },+ {+ "name": "check_proof",+ "args": [+ {+ "name": "proof",+ "type": "TransactionStorageProof"+ }+ ],+ "docs": [+ " Check storage proof for block number `block_number() - StoragePeriod`.",+ " If such block does not exist the proof is expected to be `None`.",+ " # <weight>",+ " - Linear w.r.t the number of indexed transactions in the proved block for random probing.",+ " There's a DB read for each transaction.",+ " Here we assume a maximum of 100 probed transactions.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Stored",+ "args": [+ "u32"+ ],+ "docs": [+ " Stored data under specified index."+ ]+ },+ {+ "name": "Renewed",+ "args": [+ "u32"+ ],+ "docs": [+ " Renewed data under specified index."+ ]+ },+ {+ "name": "ProofChecked",+ "args": [],+ "docs": [+ " Storage proof was successfully checked."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "InsufficientFunds",+ "docs": [+ " Insufficient account balance."+ ]+ },+ {+ "name": "NotConfigured",+ "docs": [+ " Invalid configuration."+ ]+ },+ {+ "name": "RenewedNotFound",+ "docs": [+ " Renewed extrinsic is not found."+ ]+ },+ {+ "name": "EmptyTransaction",+ "docs": [+ " Attempting to store empty transaction"+ ]+ },+ {+ "name": "UnexpectedProof",+ "docs": [+ " Proof was not expected in this block."+ ]+ },+ {+ "name": "InvalidProof",+ "docs": [+ " Proof failed verification."+ ]+ },+ {+ "name": "MissingProof",+ "docs": [+ " Missing storage proof."+ ]+ },+ {+ "name": "MissingStateData",+ "docs": [+ " Unable to verify proof becasue state data is missing."+ ]+ },+ {+ "name": "DoubleCheck",+ "docs": [+ " Double proof check in the block."+ ]+ },+ {+ "name": "ProofNotChecked",+ "docs": [+ " Storage proof was not checked in the block."+ ]+ },+ {+ "name": "TransactionTooLarge",+ "docs": [+ " Transaction is too large."+ ]+ },+ {+ "name": "TooManyTransactions",+ "docs": [+ " Too many transactions in the block."+ ]+ },+ {+ "name": "BadContext",+ "docs": [+ " Attempted to call `store` outside of block execution."+ ]+ }+ ],+ "index": 39+ }+ ],+ "extrinsic": {+ "version": 4,+ "signedExtensions": [+ "CheckSpecVersion",+ "CheckTxVersion",+ "CheckGenesis",+ "CheckMortality",+ "CheckNonce",+ "CheckWeight",+ "ChargeTransactionPayment"+ ]+ }+ }+ }+}
+ tests/meta/v9.hex view
@@ -0,0 +1,1 @@+0x6d65746109641853797374656d011853797374656d34304163636f756e744e6f6e636501010130543a3a4163636f756e74496420543a3a496e646578001000000000047c2045787472696e73696373206e6f6e636520666f72206163636f756e74732e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e4c416c6c45787472696e73696373576569676874000018576569676874040004150120546f74616c2077656967687420666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010138543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101010c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730102010828291c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e010400342501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e002d0120546865206669727374206b657920736572766573206e6f20707572706f73652e2054686973206669656c64206973206465636c6172656420617320646f75626c655f6d6170206a757374a820666f7220636f6e76656e69656e6365206f66207573696e67206072656d6f76655f707265666978602e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e011c2866696c6c5f626c6f636b0004210120412062696720646973706174636820746861742077696c6c20646973616c6c6f7720616e79206f74686572207472616e73616374696f6e20746f20626520696e636c756465642e1872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040c6e65771c5665633c75383e04482053657420746865206e657720636f64652e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f7261676504106b657973205665633c4b65793e0478204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697804187072656669780c4b6579041501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e01084045787472696e7369635375636365737304304469737061746368496e666f049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f045420416e2065787472696e736963206661696c65642e000c4c526571756972655369676e65644f726967696e004452657175697265526f6f744f726967696e003c526571756972654e6f4f726967696e001c5574696c697479000104146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e04b02053656e642061206261746368206f662064697370617463682063616c6c7320286f6e6c7920726f6f74292e0104344261746368457865637574656404785665633c526573756c743c28292c2044697370617463684572726f723e3e0000001042616265011042616265242845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100205b75383b2033325d80000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e384e65787452616e646f6d6e6573730100205b75383b2033325d800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101010c753332345665633c5b75383b2033325d3e000400002c496e697469616c697a65640000204d6179626556726604000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e010000083445706f63684475726174696f6e0c75363420c800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420b80b00000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e002454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e245820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420dc0500000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e0028417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e0000001c496e6469636573011c496e6469636573082c4e657874456e756d53657401003c543a3a4163636f756e74496e6465781000000000047c20546865206e657874206672656520656e756d65726174696f6e207365742e1c456e756d5365740101013c543a3a4163636f756e74496e646578445665633c543a3a4163636f756e7449643e00040004582054686520656e756d65726174696f6e20736574732e010001043c4e65774163636f756e74496e64657808244163636f756e744964304163636f756e74496e64657810882041206e6577206163636f756e7420696e646578207761732061737369676e65642e0005012054686973206576656e74206973206e6f7420747269676765726564207768656e20616e206578697374696e6720696e64657820697320726561737369676e65646020746f20616e6f7468657220604163636f756e744964602e00002042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010028543a3a42616c616e6365400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c56657374696e6700010130543a3a4163636f756e744964ac56657374696e675363686564756c653c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e00040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e2c4672656542616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c9c20546865202766726565272062616c616e6365206f66206120676976656e206163636f756e742e004101205468697320697320746865206f6e6c792062616c616e63652074686174206d61747465727320696e207465726d73206f66206d6f7374206f7065726174696f6e73206f6e20746f6b656e732e204974750120616c6f6e65206973207573656420746f2064657465726d696e65207468652062616c616e6365207768656e20696e2074686520636f6e747261637420657865637574696f6e20656e7669726f6e6d656e742e205768656e207468697355012062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e20746865202763757272656e74206163636f756e74272069733d012064656c657465643a207370656369666963616c6c7920604672656542616c616e6365602e20467572746865722c2074686520604f6e4672656542616c616e63655a65726f602063616c6c6261636b450120697320696e766f6b65642c20676976696e672061206368616e636520746f2065787465726e616c206d6f64756c657320746f20636c65616e2075702064617461206173736f636961746564207769746854207468652064656c65746564206163636f756e742e005d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c657465642069662060526573657276656442616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473150120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e3c526573657276656442616c616e636501010130543a3a4163636f756e74496428543a3a42616c616e63650040000000000000000000000000000000002c75012054686520616d6f756e74206f66207468652062616c616e6365206f66206120676976656e206163636f756e7420746861742069732065787465726e616c6c792072657365727665643b20746869732063616e207374696c6c206765749c20736c61736865642c20627574206765747320736c6173686564206c617374206f6620616c6c2e006d0120546869732062616c616e63652069732061202772657365727665272062616c616e63652074686174206f746865722073756273797374656d732075736520696e206f7264657220746f2073657420617369646520746f6b656e732501207468617420617265207374696c6c20276f776e65642720627920746865206163636f756e7420686f6c6465722c20627574207768696368206172652073757370656e6461626c652e007501205768656e20746869732062616c616e63652066616c6c732062656c6f77207468652076616c7565206f6620604578697374656e7469616c4465706f736974602c207468656e2074686973202772657365727665206163636f756e7427b42069732064656c657465643a207370656369666963616c6c792c2060526573657276656442616c616e6365602e004d01206073797374656d3a3a4163636f756e744e6f6e63656020697320616c736f2064656c6574656420696620604672656542616c616e63656020697320616c736f207a65726f2028697420616c736f2067657473190120636f6c6c617073656420746f207a65726f2069662069742065766572206265636f6d6573206c657373207468616e20604578697374656e7469616c4465706f736974602e29144c6f636b7301010130543a3a4163636f756e744964b05665633c42616c616e63654c6f636b3c543a3a42616c616e63652c20543a3a426c6f636b4e756d6265723e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e0110207472616e736665720810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e64d8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e004c2052656c617465642066756e6374696f6e733a0051012020202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e2d012020202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365d420202020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642edc2020202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765725901202020202060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e6365646020616e642060543a3a4f6e4672656542616c616e63655a65726f3a3a6f6e5f667265655f62616c616e63655f7a65726f602e49012020202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616cf82020202020636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e00302023203c2f7765696768743e2c7365745f62616c616e63650c0c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365206e65775f667265654c436f6d706163743c543a3a42616c616e63653e306e65775f72657365727665644c436f6d706163743c543a3a42616c616e63653e349420536574207468652062616c616e636573206f66206120676976656e206163636f756e742e00210120546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c090120616c736f2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e636560292e190120496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742ce82069742077696c6c20726573657420746865206163636f756e74206e6f6e636520286073797374656d3a3a4163636f756e744e6f6e636560292e00b420546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e002c2023203c7765696768743e80202d20496e646570656e64656e74206f662074686520617267756d656e74732ec4202d20436f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e64207772697465732e302023203c2f7765696768743e38666f7263655f7472616e736665720c18736f757263658c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636510646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e0851012045786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d61792062652c207370656369666965642e4c7472616e736665725f6b6565705f616c6976650810646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c75654c436f6d706163743c543a3a42616c616e63653e1851012053616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c2074686540206f726967696e206163636f756e742e00bc20393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c4205b607472616e73666572605d3a207374727563742e4d6f64756c652e68746d6c236d6574686f642e7472616e73666572010c284e65774163636f756e7408244163636f756e7449641c42616c616e6365046c2041206e6577206163636f756e742077617320637265617465642e345265617065644163636f756e7404244163636f756e744964045c20416e206163636f756e7420776173207265617065642e205472616e7366657210244163636f756e744964244163636f756e7449641c42616c616e63651c42616c616e636504b0205472616e7366657220737563636565646564202866726f6d2c20746f2c2076616c75652c2066656573292e0c484578697374656e7469616c4465706f73697428543a3a42616c616e63654000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e2c5472616e7366657246656528543a3a42616c616e6365400010a5d4e800000000000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e46656528543a3a42616c616e6365400010a5d4e80000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e00485472616e73616374696f6e5061796d656e74012042616c616e63657304444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665653042616c616e63654f663c543e400010a5d4e8000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e001c5374616b696e67011c5374616b696e67683856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010130543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010130543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010130543a3a4163636f756e7449644452657761726444657374696e6174696f6e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010130543a3a4163636f756e7449643856616c696461746f72507265667301040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010130543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e01040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010130543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e6c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e24536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010120457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2902040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020120457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e02040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010130543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101018c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014010626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965654452657761726444657374696e6174696f6e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e003101206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f62616c616e636560207370656369666965642062792060543a3a43757272656e6379602e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737325012074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965654452657761726444657374696e6174696f6e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e1c45012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c6564206279206569746865722074686520726f6f74206f726967696e206f7270207468652060543a3a536c61736843616e63656c4f726967696e602e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e010c18526577617264081c42616c616e63651c42616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e001c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b6579730002041c5665633c75383e38543a3a56616c696461746f7249641c543a3a4b657973010400109c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e204b65794f776e65720002041c5665633c75383e50284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496401040010250120546865206f776e6572206f662061206b65792e20546865207365636f6e64206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e00590120546865206669727374206b657920697320616c77617973206044454455505f4b45595f5052454649586020746f206861766520616c6c20746865206461746120696e207468652073616d65206272616e6368206f6661012074686520747269652e20486176696e6720616c6c206461746120696e207468652073616d65206272616e63682073686f756c642070726576656e7420736c6f77696e6720646f776e206f7468657220717565726965732e0104207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e28e42053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b6579602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e88202d204f286c6f67206e2920696e206e756d626572206f66206163636f756e74732e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e044044454455505f4b45595f50524546495814265b75385d38343a73657373696f6e3a6b6579730865012055736564206173206669727374206b657920666f7220604e6578744b6579736020616e6420604b65794f776e65726020746f2070757420616c6c20746865206461746120696e746f207468652073616d65206272616e636834206f662074686520747269652e002444656d6f6372616379012444656d6f6372616379403c5075626c696350726f70436f756e7401002450726f70496e646578100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009c5665633c2850726f70496e6465782c20543a3a486173682c20543a3a4163636f756e744964293e040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e24507265696d616765730001011c543a3a48617368d4285665633c75383e2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d62657229000400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e244465706f7369744f660001012450726f70496e646578842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e2900040004842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e3c5265666572656e64756d436f756e7401003c5265666572656e64756d496e646578100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e244e65787454616c6c7901003c5265666572656e64756d496e646578100000000004c820546865206e657874207265666572656e64756d20696e64657820746861742073686f756c642062652074616c6c6965642e405265666572656e64756d496e666f4f660001013c5265666572656e64756d496e646578a4285265666572656e64756d496e666f3c543a3a426c6f636b4e756d6265722c20543a3a486173683e2900040004b420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e344469737061746368517565756501010438543a3a426c6f636b4e756d6265729c5665633c4f7074696f6e3c28543a3a486173682c205265666572656e64756d496e646578293e3e00040004c0205175657565206f66207375636365737366756c207265666572656e646120746f20626520646973706174636865642e24566f74657273466f720101013c5265666572656e64756d496e646578445665633c543a3a4163636f756e7449643e00040004a4204765742074686520766f7465727320666f72207468652063757272656e742070726f706f73616c2e18566f74654f660101017c285265666572656e64756d496e6465782c20543a3a4163636f756e7449642910566f7465000400106101204765742074686520766f746520696e206120676976656e207265666572656e64756d206f66206120706172746963756c617220766f7465722e2054686520726573756c74206973206d65616e696e6766756c206f6e6c794d012069662060766f746572735f666f726020696e636c756465732074686520766f746572207768656e2063616c6c6564207769746820746865207265666572656e64756d2028796f75276c6c20676574207468655d012064656661756c742060566f7465602076616c7565206f7468657277697365292e20496620796f7520646f6e27742077616e7420746f20636865636b2060766f746572735f666f72602c207468656e20796f752063616ef420616c736f20636865636b20666f722073696d706c65206578697374656e636520776974682060566f74654f663a3a657869737473602066697273742e1450726f787900010130543a3a4163636f756e74496430543a3a4163636f756e7449640004000831012057686f2069732061626c6520746f20766f746520666f722077686f6d2e2056616c7565206973207468652066756e642d686f6c64696e67206163636f756e742c206b6579206973207468658820766f74652d7472616e73616374696f6e2d73656e64696e67206163636f756e742e2c44656c65676174696f6e7301010130543a3a4163636f756e7449646828543a3a4163636f756e7449642c20436f6e76696374696f6e2901840000000000000000000000000000000000000000000000000000000000000000000441012047657420746865206163636f756e742028616e64206c6f636b20706572696f64732920746f20776869636820616e6f74686572206163636f756e742069732064656c65676174696e6720766f74652e544c6173745461626c656457617345787465726e616c010010626f6f6c0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00006028543a3a486173682c20566f74655468726573686f6c6429040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001011c543a3a486173688c28543a3a426c6f636b4e756d6265722c205665633c543a3a4163636f756e7449643e290004000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101011c543a3a4861736810626f6f6c000400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e01541c70726f706f7365083470726f706f73616c5f686173681c543a3a486173681476616c756554436f6d706163743c42616c616e63654f663c543e3e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e80202d2054776f204442206368616e6765732c206f6e6520444220656e7472792e302023203c2f7765696768743e187365636f6e64042070726f706f73616c48436f6d706163743c50726f70496e6465783e18a02050726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e002c2023203c7765696768743e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e10766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c350120566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bbc206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e2870726f78795f766f746508247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e10766f746510566f74651c510120566f746520696e2061207265666572656e64756d206f6e20626568616c66206f6620612073746173682e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374f8207468652070726f706f73616c3b20206f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e002c2023203c7765696768743e20202d204f2831292e7c202d204f6e65204442206368616e67652c206f6e6520444220656e7472792e302023203c2f7765696768743e40656d657267656e63795f63616e63656c04247265665f696e6465783c5265666572656e64756d496e646578085101205363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d6530207265666572656e64756d2e4065787465726e616c5f70726f706f7365043470726f706f73616c5f686173681c543a3a48617368083101205363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c30207265666572656e64756d2e6465787465726e616c5f70726f706f73655f6d616a6f72697479043470726f706f73616c5f686173681c543a3a48617368145901205363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c656020616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e6065787465726e616c5f70726f706f73655f64656661756c74043470726f706f73616c5f686173681c543a3a48617368144901205363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f84207363686564756c6520616e2065787465726e616c207265666572656e64756d2e004d0120556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c61636520619c207072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e28666173745f747261636b0c3470726f706f73616c5f686173681c543a3a4861736834766f74696e675f706572696f6438543a3a426c6f636b4e756d6265721464656c617938543a3a426c6f636b4e756d626572245101205363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564650120696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65ec20627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00f8202d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e6101202d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f9820202060456d657267656e6379566f74696e67506572696f646020696620746f6f206c6f772e5501202d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265bc202020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e347665746f5f65787465726e616c043470726f706f73616c5f686173681c543a3a4861736804bc205665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e4463616e63656c5f7265666572656e64756d04247265665f696e64657860436f6d706163743c5265666572656e64756d496e6465783e04542052656d6f76652061207265666572656e64756d2e3463616e63656c5f7175657565640c107768656e5c436f6d706163743c543a3a426c6f636b4e756d6265723e14776869636830436f6d706163743c7533323e107768617460436f6d706163743c5265666572656e64756d496e6465783e04a02043616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e247365745f70726f7879041470726f787930543a3a4163636f756e7449641498205370656369667920612070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3072657369676e5f70726f787900149820436c656172207468652070726f78792e2043616c6c6564206279207468652070726f78792e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e3072656d6f76655f70726f7879041470726f787930543a3a4163636f756e744964149820436c656172207468652070726f78792e2043616c6c6564206279207468652073746173682e002c2023203c7765696768743e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e2064656c65676174650808746f30543a3a4163636f756e74496428636f6e76696374696f6e28436f6e76696374696f6e143c2044656c656761746520766f74652e002c2023203c7765696768743e58202d204f6e6520657874726120444220656e7472792e302023203c2f7765696768743e28756e64656c656761746500144420556e64656c656761746520766f74652e002c2023203c7765696768743e20202d204f2831292e302023203c2f7765696768743e58636c6561725f7075626c69635f70726f706f73616c7300040101205665746f20616e6420626c61636b6c697374207468652070726f706f73616c20686173682e204d7573742062652066726f6d20526f6f74206f726967696e2e346e6f74655f707265696d6167650440656e636f6465645f70726f706f73616c1c5665633c75383e0861012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f206265250120696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e586e6f74655f696d6d696e656e745f707265696d6167650c40656e636f6465645f70726f706f73616c1c5665633c75383e107768656e38543a3a426c6f636b4e756d6265721477686963680c7533320845012052656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f206265b420696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e34726561705f707265696d616765043470726f706f73616c5f686173681c543a3a4861736804f42052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e01402050726f706f736564082450726f70496e6465781c42616c616e636504c02041206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c65640c2450726f70496e6465781c42616c616e6365385665633c4163636f756e7449643e04dc2041207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400049820416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c53746172746564083c5265666572656e64756d496e64657834566f74655468726573686f6c6404602041207265666572656e64756d2068617320626567756e2e18506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f74506173736564043c5265666572656e64756d496e64657804b020412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c6564043c5265666572656e64756d496e64657804842041207265666572656e64756d20686173206265656e2063616e63656c6c65642e204578656375746564083c5265666572656e64756d496e64657810626f6f6c047420412070726f706f73616c20686173206265656e20656e61637465642e2444656c65676174656408244163636f756e744964244163636f756e74496404e020416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404244163636f756e74496404e820416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c244163636f756e74496410486173682c426c6f636b4e756d626572049820416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e34507265696d6167654e6f7465640c1048617368244163636f756e7449641c42616c616e636504e020412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e30507265696d616765557365640c1048617368244163636f756e7449641c42616c616e636504150120412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e3c507265696d616765496e76616c69640810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e3c507265696d6167654d697373696e670810486173683c5265666572656e64756d496e646578040d0120412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e38507265696d616765526561706564101048617368244163636f756e7449641c42616c616e6365244163636f756e744964045d012041207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c6563746564206279207468652072656170657220286c617374206974656d292e1c3c456e6163746d656e74506572696f6438543a3a426c6f636b4e756d62657210002f0d0014710120546865206d696e696d756d20706572696f64206f66206c6f636b696e6720616e642074686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174690120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e2074686520636173652077686572659c207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f6438543a3a426c6f636b4e756d62657210004e0c0004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f6438543a3a426c6f636b4e756d62657210004e0c0004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e384d696e696d756d4465706f7369743042616c616e63654f663c543e400000c16ff2862300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e54456d657267656e6379566f74696e67506572696f6438543a3a426c6f636b4e756d626572108051010004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f7220616e20656d657267656e6379207265666572656e64756d2e34436f6f6c6f6666506572696f6438543a3a426c6f636b4e756d62657210004e0c0004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f7369743042616c616e63654f663c543e400010a5d4e800000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e001c436f756e63696c014c496e7374616e636531436f6c6c656374697665142450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001011c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001011c543a3a486173684c566f7465733c543a3a4163636f756e7449643e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e01102c7365745f6d656d62657273042c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e105101205365742074686520636f6c6c6563746976652773206d656d62657273686970206d616e75616c6c7920746f20606e65775f6d656d62657273602e204265206e69636520746f2074686520636861696e20616e645c2070726f76696465206974207072652d736f727465642e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e01182050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e000048546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665142450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001011c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001011c543a3a486173684c566f7465733c543a3a4163636f756e7449643e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e01102c7365745f6d656d62657273042c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e105101205365742074686520636f6c6c6563746976652773206d656d62657273686970206d616e75616c6c7920746f20606e65775f6d656d62657273602e204265206e69636520746f2074686520636861696e20616e645c2070726f76696465206974207072652d736f727465642e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e01182050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e000024456c656374696f6e73014050687261676d656e456c656374696f6e181c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e1c566f7465734f6601010130543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e01040004010120566f746573206f66206120706172746963756c617220766f7465722c20776974682074686520726f756e6420696e646578206f662074686520766f7465732e1c5374616b654f6601010130543a3a4163636f756e7449643042616c616e63654f663c543e0040000000000000000000000000000000000464204c6f636b6564207374616b65206f66206120766f7465722e2843616e646964617465730100445665633c543a3a4163636f756e7449643e0400086501205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742069642e20412063757272656e74206d656d6265722063616e206e6576657220656e7465720101207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e3c050120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792eac2020202d206265206c657373207468616e20746865206e756d626572206f662063616e646964617465732e005d012055706f6e20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e742069732072657365727665642e5d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f283129c8205772697465733a204f28562920676976656e2060566020766f7465732e205620697320626f756e6465642062792031362e302023203c2f7765696768743e3072656d6f76655f766f746572001c21012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f28312934205772697465733a204f283129302023203c2f7765696768743e507265706f72745f646566756e63745f766f74657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6fb420202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d6265722e002c2023203c7765696768743e2c202323232320537461746515012052656164733a204f284e4c6f674d2920676976656e204d2063757272656e742063616e6469646174657320616e64204e20766f74657320666f722060746172676574602e34205772697465733a204f283129302023203c2f7765696768743e407375626d69745f63616e646964616379003478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e2c20232323232053746174658c2052656164733a204f284c6f674e2920476976656e204e2063616e646964617465732e34205772697465733a204f283129302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379002451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722075702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64842020206f726967696e2069732072656d6f76656420617320612072756e6e65722e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e3472656d6f76655f6d656d626572040c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c6163657320746865f4206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20726f756e6420697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e2c2023232323205374617465582052656164733a204f28646f5f70687261676d656e295c205772697465733a204f28646f5f70687261676d656e29302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e0855012041206e6577207465726d2077697468206e6577206d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e6469646174657320657869737465642c206e6f742074686174450120656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f72207468697320707572706f73652e24456d7074795465726d0004d8204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e304d656d6265724b69636b656404244163636f756e7449640845012041206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a02041206d656d626572206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c086101204120766f7465722028666972737420656c656d656e742920776173207265706f72746564202862797420746865207365636f6e6420656c656d656e742920776974682074686520746865207265706f7274206265696e678c207375636365737366756c206f72206e6f742028746869726420656c656d656e74292e143443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d030000000000000000000028566f74696e67426f6e643042616c616e63654f663c543e4000407a10f35a000000000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d626572108013030000004c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970041c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e0114286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00b4204d6179206f6e6c792062652063616c6c65642066726f6d20604164644f726967696e60206f7220726f6f742e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00c0204d6179206f6e6c792062652063616c6c65642066726f6d206052656d6f76654f726967696e60206f7220726f6f742e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e7449640cc02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00b8204d6179206f6e6c792062652063616c6c65642066726f6d2060537761704f726967696e60206f7220726f6f742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00bc204d6179206f6e6c792062652063616c6c65642066726f6d206052657365744f726967696e60206f7220726f6f742e286368616e67655f6b6579040c6e657730543a3a4163636f756e7449640cd82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904b4727374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e00003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e001c4772616e647061013c4772616e64706146696e616c6974791c2c417574686f726974696573010034417574686f726974794c6973740400102c20444550524543415445440061012054686973207573656420746f2073746f7265207468652063757272656e7420617574686f72697479207365742c20776869636820686173206265656e206d6967726174656420746f207468652077656c6c2d6b6e6f776e94204752414e4450415f415554484f52495445535f4b455920756e686173686564206b65792e14537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001011453657449643053657373696f6e496e64657800040004c1012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f7220776869636820697473206d656d62657273207765726520726573706f6e7369626c652e0104487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0464205265706f727420736f6d65206d69736265686176696f722e010c384e6577417574686f7269746965730434417574686f726974794c6973740490204e657720617574686f726974792073657420686173206265656e206170706c6965642e1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e0000205472656173757279012054726561737572790c3450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001013450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e010c3470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e94202d204f6e65204442206368616e67652c206f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e1cfc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e205d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e01182050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f736974041c42616c616e6365048020536f6d652066756e64732068617665206265656e206465706f73697465642e103050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080700000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e0024436f6e7472616374730120436f6e74726163741c204761735370656e7401000c476173200000000000000000048020476173207370656e7420736f2066617220696e207468697320626c6f636b2e3c43757272656e745363686564756c650100205363686564756c65c5010000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af000000000000000100000000000000010000000000000004000000000001001000000000400000002000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001012c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001012c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010130543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e00040004a82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e20476173507269636501003042616c616e63654f663c543e4001000000000000000000000000000000047820546865207072696365206f66206f6e6520756e6974206f66206761732e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e0118205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365046901205472616e736665722068617070656e6564206066726f6d6020746f2060746f60207769746820676976656e206076616c7565602061732070617274206f662061206063616c6c60206f722060696e7374616e7469617465602e30496e7374616e74696174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e28436f646553746f72656404104861736804b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c5363686564756c6555706461746564040c75333204c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e284469737061746368656408244163636f756e74496410626f6f6c08390120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e20436f6e747261637408244163636f756e7449641c5665633c75383e048c20416e206576656e742066726f6d20636f6e7472616374206f66206163636f756e742e404c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c75333210080000000851012053697a65206f66206120636f6e7472616374206174207468652074696d65206f6620696e7374616e746961696f6e2e205468697320697320612073696d706c652077617920746f20656e737572652074686174a420656d70747920636f6e747261637473206576656e7475616c6c7920676574732064656c657465642e2c52656e74427974654665653042616c616e63654f663c543e4000407a10f35a00000000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e4000008a5d7845630100000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e400080a1a76b4a3500000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e2c5472616e736665724665653042616c616e63654f663c543e400010a5d4e800000000000000000000000494205468652066656520726571756972656420746f206d616b652061207472616e736665722e2c4372656174696f6e4665653042616c616e63654f663c543e400010a5d4e80000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e485472616e73616374696f6e426173654665653042616c616e63654f663c543e400010a5d4e8000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c436f6e74726163744665653042616c616e63654f663c543e400010a5d4e80000000000000000000000084101205468652066656520726571756972656420746f20696e7374616e7469617465206120636f6e747261637420696e7374616e63652e204120726561736f6e61626c652064656661756c742076616c75651c2069732032312e2c43616c6c426173654665650c47617320e803000000000000081d0120546865206261736520666565206368617267656420666f722063616c6c696e6720696e746f206120636f6e74726163742e204120726561736f6e61626c652064656661756c74382076616c7565206973203133352e48496e7374616e7469617465426173654665650c47617320e80300000000000008390120546865206261736520666565206368617267656420666f7220696e7374616e74696174696e67206120636f6e74726163742e204120726561736f6e61626c652064656661756c742076616c756520206973203137352e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e34426c6f636b4761734c696d69740c47617320809698000000000008250120546865206d6178696d756d20616d6f756e74206f6620676173207468617420636f756c6420626520657870656e6465642070657220626c6f636b2e204120726561736f6e61626c65742064656661756c742076616c75652069732031305f3030305f3030302e00105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e010c107375646f042070726f706f73616c40426f783c543a3a50726f706f73616c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652070726f706f73616c40426f783c543a3a50726f706f73616c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ed4202d20556e6b6e6f776e20776569676874206f662064657269766174697665206070726f706f73616c6020657865637574696f6e2e302023203c2f7765696768743e010c1453756469640410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e284b65794368616e67656404244163636f756e74496404f020546865207375646f6572206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e000020496d4f6e6c696e650120496d4f6e6c696e651020476f737369704174010038543a3a426c6f636b4e756d626572100000000004a02054686520626c6f636b206e756d626572207768656e2077652073686f756c6420676f737369702e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002013053657373696f6e496e6465782441757468496e6465781c5665633c75383e01040008e420466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e646578608c20746f20606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102013053657373696f6e496e64657838543a3a56616c696461746f7249640c75333201100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500010c444865617274626561745265636569766564042c417574686f72697479496404c02041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964601c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0431012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e63652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e000048417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e6365730c1c5265706f727473000101345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010201104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010101104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f7408550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e00006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e0100000000144e69636b7301105375646f04184e616d654f6600010130543a3a4163636f756e7449645c285665633c75383e2c2042616c616e63654f663c543e29000400047020546865206c6f6f6b7570207461626c6520666f72206e616d65732e0110207365745f6e616d6504106e616d651c5665633c75383e405d012053657420616e206163636f756e742773206e616d652e20546865206e616d652073686f756c642062652061205554462d382d656e636f64656420737472696e6720627920636f6e76656e74696f6e2c2074686f7567684c20776520646f6e277420636865636b2069742e00610120546865206e616d65206d6179206e6f74206265206d6f7265207468616e2060543a3a4d61784c656e677468602062797465732c206e6f72206c657373207468616e2060543a3a4d696e4c656e677468602062797465732e005d0120496620746865206163636f756e7420646f65736e277420616c726561647920686176652061206e616d652c207468656e206120666565206f6620605265736572766174696f6e466565602069732072657365727665644020696e20746865206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e84202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e28636c6561725f6e616d650028510120436c65617220616e206163636f756e742773206e616d6520616e642072657475726e20746865206465706f7369742e204661696c7320696620746865206163636f756e7420776173206e6f74206e616d65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e246b696c6c5f6e616d6504187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636534e42052656d6f766520616e206163636f756e742773206e616d6520616e642074616b6520636861726765206f6620746865206465706f7369742e004901204661696c73206966206077686f6020686173206e6f74206265656e206e616d65642e20546865206465706f736974206973206465616c742077697468207468726f7567682060543a3a536c6173686564604c20696d62616c616e63652068616e646c65722e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e002c2023203c7765696768743e20202d204f2831292edc202d204f6e6520756e62616c616e6365642068616e646c6572202870726f6261626c7920612062616c616e6365207472616e736665722968202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e28666f7263655f6e616d6508187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106e616d651c5665633c75383e30c82053657420612074686972642d7061727479206163636f756e742773206e616d652077697468206e6f206465706f7369742e00a0204e6f206c656e67746820636865636b696e6720697320646f6e65206f6e20746865206e616d652e00310120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f206f72206d617463682060543a3a466f7263654f726967696e602e002c2023203c7765696768743e20202d204f2831292e84202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e2e68202d204f6e652073746f7261676520726561642f77726974652e34202d204f6e65206576656e742e302023203c2f7765696768743e01141c4e616d6553657404244163636f756e74496404402041206e616d6520776173207365742e284e616d65466f7263656404244163636f756e74496404642041206e616d652077617320666f726369626c79207365742e2c4e616d654368616e67656404244163636f756e74496404502041206e616d6520776173206368616e6765642e2c4e616d65436c656172656408244163636f756e7449641c42616c616e636504d02041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e284e616d654b696c6c656408244163636f756e7449641c42616c616e636504c82041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e0c385265736572766174696f6e4665653042616c616e63654f663c543e4000407a10f35a000000000000000000000444205265736572766174696f6e206665652e244d696e4c656e6774680c7533321003000000048820546865206d696e696d756d206c656e6774682061206e616d65206d61792062652e244d61784c656e6774680c7533321010000000048820546865206d6178696d756d206c656e6774682061206e616d65206d61792062652e00
+ tests/meta/v9.json view
@@ -0,0 +1,4896 @@+{+ "magicNumber": 1635018093,+ "metadata": {+ "v9": {+ "modules": [+ {+ "name": "System",+ "storage": {+ "prefix": "System",+ "items": [+ {+ "name": "AccountNonce",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Index",+ "linked": false+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " Extrinsics nonce for accounts."+ ]+ },+ {+ "name": "ExtrinsicCount",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total extrinsics count for the current block."+ ]+ },+ {+ "name": "AllExtrinsicsWeight",+ "modifier": "Optional",+ "type": {+ "plain": "Weight"+ },+ "fallback": "0x00",+ "docs": [+ " Total weight for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "AllExtrinsicsLen",+ "modifier": "Optional",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00",+ "docs": [+ " Total length (in bytes) for all extrinsics put together, for the current block."+ ]+ },+ {+ "name": "BlockHash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "BlockNumber",+ "value": "Hash",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Map of block numbers to block hashes."+ ]+ },+ {+ "name": "ExtrinsicData",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "u32",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Extrinsics data for the current block (maps an extrinsic's index to its data)."+ ]+ },+ {+ "name": "Number",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current block number being processed. Set by `execute_block`."+ ]+ },+ {+ "name": "ParentHash",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Hash of the previous block."+ ]+ },+ {+ "name": "ExtrinsicsRoot",+ "modifier": "Default",+ "type": {+ "plain": "Hash"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Extrinsics root of the current block, also part of the block header."+ ]+ },+ {+ "name": "Digest",+ "modifier": "Default",+ "type": {+ "plain": "DigestOf"+ },+ "fallback": "0x00",+ "docs": [+ " Digest of the current block, also part of the block header."+ ]+ },+ {+ "name": "Events",+ "modifier": "Default",+ "type": {+ "plain": "Vec<EventRecord>"+ },+ "fallback": "0x00",+ "docs": [+ " Events deposited for the current block."+ ]+ },+ {+ "name": "EventCount",+ "modifier": "Default",+ "type": {+ "plain": "EventIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of events in the `Events<T>` list."+ ]+ },+ {+ "name": "EventTopics",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "()",+ "key2": "Hash",+ "value": "Vec<(BlockNumber,EventIndex)>",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " Mapping between a topic (represented by T::Hash) and a vector of indexes",+ " of events in the `<Events<T>>` list.",+ "",+ " The first key serves no purpose. This field is declared as double_map just",+ " for convenience of using `remove_prefix`.",+ "",+ " All topic vectors have deterministic storage locations depending on the topic. This",+ " allows light-clients to leverage the changes trie storage tracking mechanism and",+ " in case of changes fetch the list of events of interest.",+ "",+ " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",+ " the `EventIndex` then in case if the topic has the same contents on the next block",+ " no notification will be triggered thus the event might be lost."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "fill_block",+ "args": [],+ "docs": [+ " A big dispatch that will disallow any other transaction to be included."+ ]+ },+ {+ "name": "remark",+ "args": [+ {+ "name": "_remark",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Make some on-chain remark."+ ]+ },+ {+ "name": "set_heap_pages",+ "args": [+ {+ "name": "pages",+ "type": "u64"+ }+ ],+ "docs": [+ " Set the number of pages in the WebAssembly environment's heap."+ ]+ },+ {+ "name": "set_code",+ "args": [+ {+ "name": "new",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set the new code."+ ]+ },+ {+ "name": "set_storage",+ "args": [+ {+ "name": "items",+ "type": "Vec<KeyValue>"+ }+ ],+ "docs": [+ " Set some items of storage."+ ]+ },+ {+ "name": "kill_storage",+ "args": [+ {+ "name": "keys",+ "type": "Vec<Key>"+ }+ ],+ "docs": [+ " Kill some items from storage."+ ]+ },+ {+ "name": "kill_prefix",+ "args": [+ {+ "name": "prefix",+ "type": "Key"+ }+ ],+ "docs": [+ " Kill all storage items with a key that starts with the given prefix."+ ]+ }+ ],+ "events": [+ {+ "name": "ExtrinsicSuccess",+ "args": [+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic completed successfully."+ ]+ },+ {+ "name": "ExtrinsicFailed",+ "args": [+ "DispatchError",+ "DispatchInfo"+ ],+ "docs": [+ " An extrinsic failed."+ ]+ }+ ],+ "constants": [],+ "errors": [+ {+ "name": "RequireSignedOrigin",+ "docs": []+ },+ {+ "name": "RequireRootOrigin",+ "docs": []+ },+ {+ "name": "RequireNoOrigin",+ "docs": []+ }+ ]+ },+ {+ "name": "Utility",+ "storage": null,+ "calls": [+ {+ "name": "batch",+ "args": [+ {+ "name": "calls",+ "type": "Vec<Call>"+ }+ ],+ "docs": [+ " Send a batch of dispatch calls (only root)."+ ]+ }+ ],+ "events": [+ {+ "name": "BatchExecuted",+ "args": [+ "Vec<Result<(),DispatchError>>"+ ],+ "docs": []+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Babe",+ "storage": {+ "prefix": "Babe",+ "items": [+ {+ "name": "EpochIndex",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current epoch index."+ ]+ },+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>"+ },+ "fallback": "0x00",+ "docs": [+ " Current epoch authorities."+ ]+ },+ {+ "name": "GenesisSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The slot at which the first epoch actually started. This is 0",+ " until the first block of the chain."+ ]+ },+ {+ "name": "CurrentSlot",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current slot number."+ ]+ },+ {+ "name": "Randomness",+ "modifier": "Default",+ "type": {+ "plain": "[u8;32]"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The epoch randomness for the *current* epoch.",+ "",+ " # Security",+ "",+ " This MUST NOT be used for gambling, as it can be influenced by a",+ " malicious validator in the short term. It MAY be used in many",+ " cryptographic protocols, however, so long as one remembers that this",+ " (like everything else on-chain) it is public. For example, it can be",+ " used where a number is needed that cannot have been chosen by an",+ " adversary, for purposes such as public-coin zero-knowledge proofs."+ ]+ },+ {+ "name": "NextRandomness",+ "modifier": "Default",+ "type": {+ "plain": "[u8;32]"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Next epoch randomness."+ ]+ },+ {+ "name": "SegmentIndex",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Randomness under construction.",+ "",+ " We make a tradeoff between storage accesses and list length.",+ " We store the under-construction randomness in segments of up to",+ " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.",+ "",+ " Once a segment reaches this length, we begin the next one.",+ " We reset all segments and return to `0` at the beginning of every",+ " epoch."+ ]+ },+ {+ "name": "UnderConstruction",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "u32",+ "value": "Vec<[u8;32]>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": []+ },+ {+ "name": "Initialized",+ "modifier": "Optional",+ "type": {+ "plain": "MaybeVrf"+ },+ "fallback": "0x00",+ "docs": [+ " Temporary value (cleared at block finalization) which is `Some`",+ " if per-block initialization has already been called for current block."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [+ {+ "name": "EpochDuration",+ "type": "u64",+ "value": "0xc800000000000000",+ "docs": [+ " The number of **slots** that an epoch takes. We couple sessions to",+ " epochs, i.e. we start a new session once the new epoch begins."+ ]+ },+ {+ "name": "ExpectedBlockTime",+ "type": "Moment",+ "value": "0xb80b000000000000",+ "docs": [+ " The expected average block time at which BABE should be creating",+ " blocks. Since BABE is probabilistic it is not trivial to figure out",+ " what the expected average block time should be based on the slot",+ " duration and the security parameter `c` (where `1 - c` represents",+ " the probability of a slot being empty)."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Timestamp",+ "storage": {+ "prefix": "Timestamp",+ "items": [+ {+ "name": "Now",+ "modifier": "Default",+ "type": {+ "plain": "Moment"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Current time for the current block."+ ]+ },+ {+ "name": "DidUpdate",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Did the timestamp get updated in this block?"+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set",+ "args": [+ {+ "name": "now",+ "type": "Compact<Moment>"+ }+ ],+ "docs": [+ " Set the current time.",+ "",+ " This call should be invoked exactly once per block. It will panic at the finalization",+ " phase, if this call hasn't been invoked by that time.",+ "",+ " The timestamp should be greater than the previous one by the amount specified by",+ " `MinimumPeriod`.",+ "",+ " The dispatch origin for this call must be `Inherent`."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "MinimumPeriod",+ "type": "Moment",+ "value": "0xdc05000000000000",+ "docs": [+ " The minimum period between blocks. Beware that this is different to the *expected* period",+ " that the block production apparatus provides. Your chosen consensus system will generally",+ " work with this to determine a sensible block time. e.g. For Aura, it will be double this",+ " period on default settings."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Authorship",+ "storage": {+ "prefix": "Authorship",+ "items": [+ {+ "name": "Uncles",+ "modifier": "Default",+ "type": {+ "plain": "Vec<UncleEntryItem>"+ },+ "fallback": "0x00",+ "docs": [+ " Uncles"+ ]+ },+ {+ "name": "Author",+ "modifier": "Optional",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x00",+ "docs": [+ " Author of current block."+ ]+ },+ {+ "name": "DidSetUncles",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " Whether uncles were already set in this block."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_uncles",+ "args": [+ {+ "name": "new_uncles",+ "type": "Vec<Header>"+ }+ ],+ "docs": [+ " Provide a set of uncles."+ ]+ }+ ],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Indices",+ "storage": {+ "prefix": "Indices",+ "items": [+ {+ "name": "NextEnumSet",+ "modifier": "Default",+ "type": {+ "plain": "AccountIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free enumeration set."+ ]+ },+ {+ "name": "EnumSet",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountIndex",+ "value": "Vec<AccountId>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The enumeration sets."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "NewAccountIndex",+ "args": [+ "AccountId",+ "AccountIndex"+ ],+ "docs": [+ " A new account index was assigned.",+ "",+ " This event is not triggered when an existing index is reassigned",+ " to another `AccountId`."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Balances",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "TotalIssuance",+ "modifier": "Default",+ "type": {+ "plain": "Balance"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The total units issued in the system."+ ]+ },+ {+ "name": "Vesting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "VestingSchedule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information regarding the vesting of a given account."+ ]+ },+ {+ "name": "FreeBalance",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Balance",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The 'free' balance of a given account.",+ "",+ " This is the only balance that matters in terms of most operations on tokens. It",+ " alone is used to determine the balance when in the contract execution environment. When this",+ " balance falls below the value of `ExistentialDeposit`, then the 'current account' is",+ " deleted: specifically `FreeBalance`. Further, the `OnFreeBalanceZero` callback",+ " is invoked, giving a chance to external modules to clean up data associated with",+ " the deleted account.",+ "",+ " `system::AccountNonce` is also deleted if `ReservedBalance` is also zero (it also gets",+ " collapsed to zero if it ever becomes less than `ExistentialDeposit`."+ ]+ },+ {+ "name": "ReservedBalance",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Balance",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of the balance of a given account that is externally reserved; this can still get",+ " slashed, but gets slashed last of all.",+ "",+ " This balance is a 'reserve' balance that other subsystems use in order to set aside tokens",+ " that are still 'owned' by the account holder, but which are suspendable.",+ "",+ " When this balance falls below the value of `ExistentialDeposit`, then this 'reserve account'",+ " is deleted: specifically, `ReservedBalance`.",+ "",+ " `system::AccountNonce` is also deleted if `FreeBalance` is also zero (it also gets",+ " collapsed to zero if it ever becomes less than `ExistentialDeposit`.)"+ ]+ },+ {+ "name": "Locks",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Vec<BalanceLock>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Any liquidity locks on some account balances."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "transfer",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Transfer some liquid free balance to another account.",+ "",+ " `transfer` will set the `FreeBalance` of the sender and receiver.",+ " It will decrease the total issuance of the system by the `TransferFee`.",+ " If the sender's account is below the existential deposit as a result",+ " of the transfer, the account will be reaped.",+ "",+ " The dispatch origin for this call must be `Signed` by the transactor.",+ "",+ " # <weight>",+ " - Dependent on arguments but not critical, given proper implementations for",+ " input config types. See related functions below.",+ " - It contains a limited number of reads and writes internally and no complex computation.",+ "",+ " Related functions:",+ "",+ " - `ensure_can_withdraw` is always called internally but has a bounded complexity.",+ " - Transferring balances to accounts that did not exist before will cause",+ " `T::OnNewAccount::on_new_account` to be called.",+ " - Removing enough funds from an account will trigger",+ " `T::DustRemoval::on_unbalanced` and `T::OnFreeBalanceZero::on_free_balance_zero`.",+ " - `transfer_keep_alive` works the same way as `transfer`, but has an additional",+ " check that the transfer will not kill the origin account.",+ "",+ " # </weight>"+ ]+ },+ {+ "name": "set_balance",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "new_free",+ "type": "Compact<Balance>"+ },+ {+ "name": "new_reserved",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Set the balances of a given account.",+ "",+ " This will alter `FreeBalance` and `ReservedBalance` in storage. it will",+ " also decrease the total issuance of the system (`TotalIssuance`).",+ " If the new free or reserved balance is below the existential deposit,",+ " it will reset the account nonce (`system::AccountNonce`).",+ "",+ " The dispatch origin for this call is `root`.",+ "",+ " # <weight>",+ " - Independent of the arguments.",+ " - Contains a limited number of reads and writes.",+ " # </weight>"+ ]+ },+ {+ "name": "force_transfer",+ "args": [+ {+ "name": "source",+ "type": "LookupSource"+ },+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Exactly as `transfer`, except the origin must be root and the source account may be",+ " specified."+ ]+ },+ {+ "name": "transfer_keep_alive",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<Balance>"+ }+ ],+ "docs": [+ " Same as the [`transfer`] call, but with a check that the transfer will not kill the",+ " origin account.",+ "",+ " 99% of the time you want [`transfer`] instead.",+ "",+ " [`transfer`]: struct.Module.html#method.transfer"+ ]+ }+ ],+ "events": [+ {+ "name": "NewAccount",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A new account was created."+ ]+ },+ {+ "name": "ReapedAccount",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account was reaped."+ ]+ },+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance",+ "Balance"+ ],+ "docs": [+ " Transfer succeeded (from, to, value, fees)."+ ]+ }+ ],+ "constants": [+ {+ "name": "ExistentialDeposit",+ "type": "Balance",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to keep an account open."+ ]+ },+ {+ "name": "TransferFee",+ "type": "Balance",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to make a transfer."+ ]+ },+ {+ "name": "CreationFee",+ "type": "Balance",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to create an account."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "TransactionPayment",+ "storage": {+ "prefix": "Balances",+ "items": [+ {+ "name": "NextFeeMultiplier",+ "modifier": "Default",+ "type": {+ "plain": "Multiplier"+ },+ "fallback": "0x0000000000000000",+ "docs": []+ }+ ]+ },+ "calls": null,+ "events": null,+ "constants": [+ {+ "name": "TransactionBaseFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the base."+ ]+ },+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Staking",+ "storage": {+ "prefix": "Staking",+ "items": [+ {+ "name": "ValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The ideal number of staking participants."+ ]+ },+ {+ "name": "MinimumValidatorCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x04000000",+ "docs": [+ " Minimum number of staking participants before emergency conditions are imposed."+ ]+ },+ {+ "name": "Invulnerables",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",+ " easy to initialize and the performance hit is minimal (we expect no more than four",+ " invulnerables) and restricted to testnets."+ ]+ },+ {+ "name": "Bonded",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all locked \"stash\" accounts to the controller account."+ ]+ },+ {+ "name": "Ledger",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "StakingLedger",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."+ ]+ },+ {+ "name": "Payee",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "RewardDestination",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Where the reward payment should be made. Keyed by stash."+ ]+ },+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "ValidatorPrefs",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from (wannabe) validator stash key to the preferences of that validator."+ ]+ },+ {+ "name": "Nominators",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Nominations",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " The map from nominator stash key to the set of stash keys of all validators to nominate.",+ "",+ " NOTE: is private so that we can ensure upgraded before all typical accesses.",+ " Direct storage APIs can still bypass this protection."+ ]+ },+ {+ "name": "Stakers",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Exposure",+ "linked": false+ }+ },+ "fallback": "0x000000",+ "docs": [+ " Nominators for a particular account that is in action right now. You can't iterate",+ " through validators here, but you can find them in the Session module.",+ "",+ " This is keyed by the stash account."+ ]+ },+ {+ "name": "CurrentElected",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The currently elected validator set keyed by stash account ID."+ ]+ },+ {+ "name": "CurrentEra",+ "modifier": "Default",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The current era index."+ ]+ },+ {+ "name": "CurrentEraStart",+ "modifier": "Default",+ "type": {+ "plain": "MomentOf"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The start of the current era."+ ]+ },+ {+ "name": "CurrentEraStartSessionIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The session index at which the current era started."+ ]+ },+ {+ "name": "CurrentEraPointsEarned",+ "modifier": "Default",+ "type": {+ "plain": "EraPoints"+ },+ "fallback": "0x0000000000",+ "docs": [+ " Rewards for the current era. Using indices of current elected set."+ ]+ },+ {+ "name": "SlotStake",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of balance actively at stake for each validator slot, currently.",+ "",+ " This is used to derive rewards and punishments."+ ]+ },+ {+ "name": "ForceEra",+ "modifier": "Default",+ "type": {+ "plain": "Forcing"+ },+ "fallback": "0x00",+ "docs": [+ " True if the next session change will be a new era regardless of index."+ ]+ },+ {+ "name": "SlashRewardFraction",+ "modifier": "Default",+ "type": {+ "plain": "Perbill"+ },+ "fallback": "0x00000000",+ "docs": [+ " The percentage of the slash that is distributed to reporters.",+ "",+ " The rest of the slashed value is handled by the `Slash`."+ ]+ },+ {+ "name": "CanceledSlashPayout",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " The amount of currency given to reporters of a slash event which was",+ " canceled by extraordinary circumstances (e.g. governance)."+ ]+ },+ {+ "name": "UnappliedSlashes",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "EraIndex",+ "value": "Vec<UnappliedSlash>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " All unapplied slashes that are queued for later."+ ]+ },+ {+ "name": "BondedEras",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(EraIndex,SessionIndex)>"+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from still-bonded eras to the first session index of that era."+ ]+ },+ {+ "name": "ValidatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "(Perbill,BalanceOf)",+ "key2Hasher": "Twox128"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on validators, mapped by era to the highest slash proportion",+ " and slash value of the era."+ ]+ },+ {+ "name": "NominatorSlashInEra",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "EraIndex",+ "key2": "AccountId",+ "value": "BalanceOf",+ "key2Hasher": "Twox128"+ }+ },+ "fallback": "0x00",+ "docs": [+ " All slashing events on nominators, mapped by era to the highest slash value of the era."+ ]+ },+ {+ "name": "SlashingSpans",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "SlashingSpans",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Slashing spans for stash accounts."+ ]+ },+ {+ "name": "SpanSlash",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "(AccountId,SpanIndex)",+ "value": "SpanRecord",+ "linked": false+ }+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Records information about the maximum slash of a stash within a slashing span,",+ " as well as how much reward has been paid out."+ ]+ },+ {+ "name": "EarliestUnappliedSlash",+ "modifier": "Optional",+ "type": {+ "plain": "EraIndex"+ },+ "fallback": "0x00",+ "docs": [+ " The earliest era for which we have a pending, unapplied slash."+ ]+ },+ {+ "name": "StorageVersion",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The version of storage for upgrade."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "bond",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " Take the origin account as a stash and lock up `value` of its balance. `controller` will",+ " be the account that controls it.",+ "",+ " `value` must be more than the `minimum_balance` specified by `T::Currency`.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash account.",+ "",+ " # <weight>",+ " - Independent of the arguments. Moderate complexity.",+ " - O(1).",+ " - Three extra DB entries.",+ "",+ " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned unless",+ " the `origin` falls below _existential deposit_ and gets removed as dust.",+ " # </weight>"+ ]+ },+ {+ "name": "bond_extra",+ "args": [+ {+ "name": "max_additional",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Add some extra amount that have appeared in the stash `free_balance` into the balance up",+ " for staking.",+ "",+ " Use this if there are additional funds in your stash account that you wish to bond.",+ " Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount",+ " that can be added.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - O(1).",+ " - One DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "unbond",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Schedule a portion of the stash to be unlocked ready for transfer out after the bond",+ " period ends. If this leaves an amount actively bonded less than",+ " T::Currency::minimum_balance(), then it is increased to the full amount.",+ "",+ " Once the unlock period is done, you can call `withdraw_unbonded` to actually move",+ " the funds out of management ready for transfer.",+ "",+ " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)",+ " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need",+ " to be called first to remove some of the chunks (if possible).",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " See also [`Call::withdraw_unbonded`].",+ "",+ " # <weight>",+ " - Independent of the arguments. Limited but potentially exploitable complexity.",+ " - Contains a limited number of reads.",+ " - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",+ " will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",+ " The only way to clean the aforementioned storage item is also user-controlled via `withdraw_unbonded`.",+ " - One DB entry.",+ " </weight>"+ ]+ },+ {+ "name": "withdraw_unbonded",+ "args": [],+ "docs": [+ " Remove any unlocked chunks from the `unlocking` queue from our management.",+ "",+ " This essentially frees up that balance to be used by the stash account to do",+ " whatever it wants.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " See also [`Call::unbond`].",+ "",+ " # <weight>",+ " - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",+ " It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",+ " indirectly user-controlled. See [`unbond`] for more detail.",+ " - Contains a limited number of reads, yet the size of which could be large based on `ledger`.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "validate",+ "args": [+ {+ "name": "prefs",+ "type": "ValidatorPrefs"+ }+ ],+ "docs": [+ " Declare the desire to validate for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "nominate",+ "args": [+ {+ "name": "targets",+ "type": "Vec<LookupSource>"+ }+ ],+ "docs": [+ " Declare the desire to nominate `targets` for the origin controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - The transaction's complexity is proportional to the size of `targets`,",+ " which is capped at `MAX_NOMINATIONS`.",+ " - Both the reads and writes follow a similar pattern.",+ " # </weight>"+ ]+ },+ {+ "name": "chill",+ "args": [],+ "docs": [+ " Declare no desire to either validate or nominate.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains one read.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_payee",+ "args": [+ {+ "name": "payee",+ "type": "RewardDestination"+ }+ ],+ "docs": [+ " (Re-)set the payment target for a controller.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the controller, not the stash.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_controller",+ "args": [+ {+ "name": "controller",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " (Re-)set the controller of a stash.",+ "",+ " Effects will be felt at the beginning of the next era.",+ "",+ " The dispatch origin for this call must be _Signed_ by the stash, not the controller.",+ "",+ " # <weight>",+ " - Independent of the arguments. Insignificant complexity.",+ " - Contains a limited number of reads.",+ " - Writes are limited to the `origin` account key.",+ " # </weight>"+ ]+ },+ {+ "name": "set_validator_count",+ "args": [+ {+ "name": "new",+ "type": "Compact<u32>"+ }+ ],+ "docs": [+ " The ideal number of validators."+ ]+ },+ {+ "name": "force_no_eras",+ "args": [],+ "docs": [+ " Force there to be no new eras indefinitely.",+ "",+ " # <weight>",+ " - No arguments.",+ " # </weight>"+ ]+ },+ {+ "name": "force_new_era",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of the next session. After this, it will be",+ " reset to normal (non-forced) behaviour.",+ "",+ " # <weight>",+ " - No arguments.",+ " # </weight>"+ ]+ },+ {+ "name": "set_invulnerables",+ "args": [+ {+ "name": "validators",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the validators who cannot be slashed (if any)."+ ]+ },+ {+ "name": "force_unstake",+ "args": [+ {+ "name": "stash",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Force a current staker to become completely unstaked, immediately."+ ]+ },+ {+ "name": "force_new_era_always",+ "args": [],+ "docs": [+ " Force there to be a new era at the end of sessions indefinitely.",+ "",+ " # <weight>",+ " - One storage write",+ " # </weight>"+ ]+ },+ {+ "name": "cancel_deferred_slash",+ "args": [+ {+ "name": "era",+ "type": "EraIndex"+ },+ {+ "name": "slash_indices",+ "type": "Vec<u32>"+ }+ ],+ "docs": [+ " Cancel enactment of a deferred slash. Can be called by either the root origin or",+ " the `T::SlashCancelOrigin`.",+ " passing the era and indices of the slashes for that era to kill.",+ "",+ " # <weight>",+ " - One storage write.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Reward",+ "args": [+ "Balance",+ "Balance"+ ],+ "docs": [+ " All validators have been rewarded by the first balance; the second is the remainder",+ " from the maximum amount of reward."+ ]+ },+ {+ "name": "Slash",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " One validator (and its nominators) has been slashed by the given amount."+ ]+ },+ {+ "name": "OldSlashingReportDiscarded",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " An old slashing report from a prior era was discarded because it could",+ " not be processed."+ ]+ }+ ],+ "constants": [+ {+ "name": "SessionsPerEra",+ "type": "SessionIndex",+ "value": "0x06000000",+ "docs": [+ " Number of sessions per era."+ ]+ },+ {+ "name": "BondingDuration",+ "type": "EraIndex",+ "value": "0xa0020000",+ "docs": [+ " Number of eras that staked funds must remain bonded for."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Session",+ "storage": {+ "prefix": "Session",+ "items": [+ {+ "name": "Validators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ValidatorId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of validators."+ ]+ },+ {+ "name": "CurrentIndex",+ "modifier": "Default",+ "type": {+ "plain": "SessionIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Current index of the session."+ ]+ },+ {+ "name": "QueuedChanged",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the underlying economic identities or weighting behind the validators",+ " has changed in the queued validator set."+ ]+ },+ {+ "name": "QueuedKeys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(ValidatorId,Keys)>"+ },+ "fallback": "0x00",+ "docs": [+ " The queued keys for the next session. When the next session begins, these keys",+ " will be used to determine the validator's session keys."+ ]+ },+ {+ "name": "DisabledValidators",+ "modifier": "Default",+ "type": {+ "plain": "Vec<u32>"+ },+ "fallback": "0x00",+ "docs": [+ " Indices of disabled validators.",+ "",+ " The set is cleared when `on_session_ending` returns a new set of identities."+ ]+ },+ {+ "name": "NextKeys",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Bytes",+ "key2": "ValidatorId",+ "value": "Keys",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The next session keys for a validator.",+ "",+ " The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of",+ " the trie. Having all data in the same branch should prevent slowing down other queries."+ ]+ },+ {+ "name": "KeyOwner",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Twox64Concat",+ "key1": "Bytes",+ "key2": "(KeyTypeId,Bytes)",+ "value": "ValidatorId",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " The owner of a key. The second key is the `KeyTypeId` + the encoded key.",+ "",+ " The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch of",+ " the trie. Having all data in the same branch should prevent slowing down other queries."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_keys",+ "args": [+ {+ "name": "keys",+ "type": "Keys"+ },+ {+ "name": "proof",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Sets the session key(s) of the function caller to `key`.",+ " Allows an account to set its session key prior to becoming a validator.",+ " This doesn't take effect until the next session.",+ "",+ " The dispatch origin of this function must be signed.",+ "",+ " # <weight>",+ " - O(log n) in number of accounts.",+ " - One extra DB entry.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewSession",+ "args": [+ "SessionIndex"+ ],+ "docs": [+ " New session has happened. Note that the argument is the session index, not the block",+ " number as the type might suggest."+ ]+ }+ ],+ "constants": [+ {+ "name": "DEDUP_KEY_PREFIX",+ "type": "Bytes",+ "value": "0x343a73657373696f6e3a6b657973",+ "docs": [+ " Used as first key for `NextKeys` and `KeyOwner` to put all the data into the same branch",+ " of the trie."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Democracy",+ "storage": {+ "prefix": "Democracy",+ "items": [+ {+ "name": "PublicPropCount",+ "modifier": "Default",+ "type": {+ "plain": "PropIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The number of (public) proposals that have been made so far."+ ]+ },+ {+ "name": "PublicProps",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(PropIndex,Hash,AccountId)>"+ },+ "fallback": "0x00",+ "docs": [+ " The public proposals. Unsorted. The second item is the proposal's hash."+ ]+ },+ {+ "name": "Preimages",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "(Bytes,AccountId,BalanceOf,BlockNumber)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Map of hashes to the proposal preimage, along with who registered it and their deposit.",+ " The block number is the block at which it was deposited."+ ]+ },+ {+ "name": "DepositOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "PropIndex",+ "value": "(BalanceOf,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Those who have locked a deposit."+ ]+ },+ {+ "name": "ReferendumCount",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next free referendum index, aka the number of referenda started so far."+ ]+ },+ {+ "name": "NextTally",+ "modifier": "Default",+ "type": {+ "plain": "ReferendumIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " The next referendum index that should be tallied."+ ]+ },+ {+ "name": "ReferendumInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReferendumIndex",+ "value": "ReferendumInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Information concerning any given referendum."+ ]+ },+ {+ "name": "DispatchQueue",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Twox64Concat",+ "key": "BlockNumber",+ "value": "Vec<Option<(Hash,ReferendumIndex)>>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Queue of successful referenda to be dispatched."+ ]+ },+ {+ "name": "VotersFor",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReferendumIndex",+ "value": "Vec<AccountId>",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Get the voters for the current proposal."+ ]+ },+ {+ "name": "VoteOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "(ReferendumIndex,AccountId)",+ "value": "Vote",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Get the vote in a given referendum of a particular voter. The result is meaningful only",+ " if `voters_for` includes the voter when called with the referendum (you'll get the",+ " default `Vote` value otherwise). If you don't want to check `voters_for`, then you can",+ " also check for simple existence with `VoteOf::exists` first."+ ]+ },+ {+ "name": "Proxy",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "AccountId",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Who is able to vote for whom. Value is the fund-holding account, key is the",+ " vote-transaction-sending account."+ ]+ },+ {+ "name": "Delegations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(AccountId,Conviction)",+ "linked": true+ }+ },+ "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " Get the account (and lock periods) to which another account is delegating vote."+ ]+ },+ {+ "name": "LastTabledWasExternal",+ "modifier": "Default",+ "type": {+ "plain": "bool"+ },+ "fallback": "0x00",+ "docs": [+ " True if the last referendum tabled was submitted externally. False if it was a public",+ " proposal."+ ]+ },+ {+ "name": "NextExternal",+ "modifier": "Optional",+ "type": {+ "plain": "(Hash,VoteThreshold)"+ },+ "fallback": "0x00",+ "docs": [+ " The referendum to be tabled whenever it would be valid to table an external proposal.",+ " This happens when a referendum needs to be tabled and one of two conditions are met:",+ " - `LastTabledWasExternal` is `false`; or",+ " - `PublicProps` is empty."+ ]+ },+ {+ "name": "Blacklist",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "(BlockNumber,Vec<AccountId>)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A record of who vetoed what. Maps proposal hash to a possible existent block number",+ " (until when it may not be resubmitted) and who vetoed it."+ ]+ },+ {+ "name": "Cancellations",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "bool",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Record of all proposals that have been subject to emergency cancellation."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " # <weight>",+ " - O(1).",+ " - Two DB changes, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "second",+ "args": [+ {+ "name": "proposal",+ "type": "Compact<PropIndex>"+ }+ ],+ "docs": [+ " Propose a sensitive action to be taken.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "Vote"+ }+ ],+ "docs": [+ " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;",+ " otherwise it is a vote to keep the status quo.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB change, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "proxy_vote",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ },+ {+ "name": "vote",+ "type": "Vote"+ }+ ],+ "docs": [+ " Vote in a referendum on behalf of a stash. If `vote.is_aye()`, the vote is to enact",+ " the proposal; otherwise it is a vote to keep the status quo.",+ "",+ " # <weight>",+ " - O(1).",+ " - One DB change, one DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "emergency_cancel",+ "args": [+ {+ "name": "ref_index",+ "type": "ReferendumIndex"+ }+ ],+ "docs": [+ " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same",+ " referendum."+ ]+ },+ {+ "name": "external_propose",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a referendum to be tabled once it is legal to schedule an external",+ " referendum."+ ]+ },+ {+ "name": "external_propose_majority",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a majority-carries referendum to be tabled next once it is legal to schedule",+ " an external referendum.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call."+ ]+ },+ {+ "name": "external_propose_default",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to",+ " schedule an external referendum.",+ "",+ " Unlike `external_propose`, blacklisting has no effect on this and it may replace a",+ " pre-scheduled `external_propose` call."+ ]+ },+ {+ "name": "fast_track",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ },+ {+ "name": "voting_period",+ "type": "BlockNumber"+ },+ {+ "name": "delay",+ "type": "BlockNumber"+ }+ ],+ "docs": [+ " Schedule the currently externally-proposed majority-carries referendum to be tabled",+ " immediately. If there is no externally-proposed referendum currently, or if there is one",+ " but it is not a majority-carries referendum then it fails.",+ "",+ " - `proposal_hash`: The hash of the current external proposal.",+ " - `voting_period`: The period that is allowed for voting on this proposal. Increased to",+ " `EmergencyVotingPeriod` if too low.",+ " - `delay`: The number of block after voting has ended in approval and this should be",+ " enacted. This doesn't have a minimum amount."+ ]+ },+ {+ "name": "veto_external",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Veto and blacklist the external proposal hash."+ ]+ },+ {+ "name": "cancel_referendum",+ "args": [+ {+ "name": "ref_index",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Remove a referendum."+ ]+ },+ {+ "name": "cancel_queued",+ "args": [+ {+ "name": "when",+ "type": "Compact<BlockNumber>"+ },+ {+ "name": "which",+ "type": "Compact<u32>"+ },+ {+ "name": "what",+ "type": "Compact<ReferendumIndex>"+ }+ ],+ "docs": [+ " Cancel a proposal queued for enactment."+ ]+ },+ {+ "name": "set_proxy",+ "args": [+ {+ "name": "proxy",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Specify a proxy. Called by the stash.",+ "",+ " # <weight>",+ " - One extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "resign_proxy",+ "args": [],+ "docs": [+ " Clear the proxy. Called by the proxy.",+ "",+ " # <weight>",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_proxy",+ "args": [+ {+ "name": "proxy",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Clear the proxy. Called by the stash.",+ "",+ " # <weight>",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "delegate",+ "args": [+ {+ "name": "to",+ "type": "AccountId"+ },+ {+ "name": "conviction",+ "type": "Conviction"+ }+ ],+ "docs": [+ " Delegate vote.",+ "",+ " # <weight>",+ " - One extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "undelegate",+ "args": [],+ "docs": [+ " Undelegate vote.",+ "",+ " # <weight>",+ " - O(1).",+ " # </weight>"+ ]+ },+ {+ "name": "clear_public_proposals",+ "args": [],+ "docs": [+ " Veto and blacklist the proposal hash. Must be from Root origin."+ ]+ },+ {+ "name": "note_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This doesn't require the proposal to be",+ " in the dispatch queue but does require a deposit, returned once enacted."+ ]+ },+ {+ "name": "note_imminent_preimage",+ "args": [+ {+ "name": "encoded_proposal",+ "type": "Bytes"+ },+ {+ "name": "when",+ "type": "BlockNumber"+ },+ {+ "name": "which",+ "type": "u32"+ }+ ],+ "docs": [+ " Register the preimage for an upcoming proposal. This requires the proposal to be",+ " in the dispatch queue. No deposit is needed."+ ]+ },+ {+ "name": "reap_preimage",+ "args": [+ {+ "name": "proposal_hash",+ "type": "Hash"+ }+ ],+ "docs": [+ " Remove an expired proposal preimage and collect the deposit."+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "PropIndex",+ "Balance"+ ],+ "docs": [+ " A motion has been proposed by a public account."+ ]+ },+ {+ "name": "Tabled",+ "args": [+ "PropIndex",+ "Balance",+ "Vec<AccountId>"+ ],+ "docs": [+ " A public proposal has been tabled for referendum vote."+ ]+ },+ {+ "name": "ExternalTabled",+ "args": [],+ "docs": [+ " An external proposal has been tabled."+ ]+ },+ {+ "name": "Started",+ "args": [+ "ReferendumIndex",+ "VoteThreshold"+ ],+ "docs": [+ " A referendum has begun."+ ]+ },+ {+ "name": "Passed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been approved by referendum."+ ]+ },+ {+ "name": "NotPassed",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal has been rejected by referendum."+ ]+ },+ {+ "name": "Cancelled",+ "args": [+ "ReferendumIndex"+ ],+ "docs": [+ " A referendum has been cancelled."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "ReferendumIndex",+ "bool"+ ],+ "docs": [+ " A proposal has been enacted."+ ]+ },+ {+ "name": "Delegated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " An account has delegated their vote to another account."+ ]+ },+ {+ "name": "Undelegated",+ "args": [+ "AccountId"+ ],+ "docs": [+ " An account has cancelled a previous delegation operation."+ ]+ },+ {+ "name": "Vetoed",+ "args": [+ "AccountId",+ "Hash",+ "BlockNumber"+ ],+ "docs": [+ " An external proposal has been vetoed."+ ]+ },+ {+ "name": "PreimageNoted",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal's preimage was noted, and the deposit taken."+ ]+ },+ {+ "name": "PreimageUsed",+ "args": [+ "Hash",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A proposal preimage was removed and used (the deposit was returned)."+ ]+ },+ {+ "name": "PreimageInvalid",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was invalid."+ ]+ },+ {+ "name": "PreimageMissing",+ "args": [+ "Hash",+ "ReferendumIndex"+ ],+ "docs": [+ " A proposal could not be executed because its preimage was missing."+ ]+ },+ {+ "name": "PreimageReaped",+ "args": [+ "Hash",+ "AccountId",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " A registered preimage was removed and the deposit collected by the reaper (last item)."+ ]+ }+ ],+ "constants": [+ {+ "name": "EnactmentPeriod",+ "type": "BlockNumber",+ "value": "0x002f0d00",+ "docs": [+ " The minimum period of locking and the period between a proposal being approved and enacted.",+ "",+ " It should generally be a little more than the unstake period to ensure that",+ " voting stakers have an opportunity to remove themselves from the system in the case where",+ " they are on the losing side of a vote."+ ]+ },+ {+ "name": "LaunchPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) new public referenda are launched."+ ]+ },+ {+ "name": "VotingPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " How often (in blocks) to check for new votes."+ ]+ },+ {+ "name": "MinimumDeposit",+ "type": "BalanceOf",+ "value": "0x0000c16ff28623000000000000000000",+ "docs": [+ " The minimum amount to be used as a deposit for a public referendum proposal."+ ]+ },+ {+ "name": "EmergencyVotingPeriod",+ "type": "BlockNumber",+ "value": "0x80510100",+ "docs": [+ " Minimum voting period allowed for an emergency referendum."+ ]+ },+ {+ "name": "CooloffPeriod",+ "type": "BlockNumber",+ "value": "0x004e0c00",+ "docs": [+ " Period in blocks where an external proposal may not be re-submitted after being vetoed."+ ]+ },+ {+ "name": "PreimageByteDeposit",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The amount of balance that must be deposited per byte of preimage stored."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Council",+ "storage": {+ "prefix": "Instance1Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the collective's membership manually to `new_members`. Be nice to the chain and",+ " provide it pre-sorted.",+ "",+ " Requires root origin."+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective."+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage reads and writes.",+ " - Argument `threshold` has bearing on weight.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage read and writes.",+ " - Will be slightly heavier if the proposal is approved / disapproved after the vote.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`)."+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`)."+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold."+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A motion was executed; `bool` is true if returned without error."+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A single member did some action; `bool` is true if returned without error."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "TechnicalCommittee",+ "storage": {+ "prefix": "Instance2Collective",+ "items": [+ {+ "name": "Proposals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " The hashes of the active proposals."+ ]+ },+ {+ "name": "ProposalOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Proposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Actual proposal for a given hash, if it's current."+ ]+ },+ {+ "name": "Voting",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Hash",+ "value": "Votes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes on a given proposal, if it is ongoing."+ ]+ },+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " Proposals so far."+ ]+ },+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current members of the collective. This is stored sorted (just by value)."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_members",+ "args": [+ {+ "name": "new_members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Set the collective's membership manually to `new_members`. Be nice to the chain and",+ " provide it pre-sorted.",+ "",+ " Requires root origin."+ ]+ },+ {+ "name": "execute",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Dispatch a proposal from a member using the `Member` origin.",+ "",+ " Origin must be a member of the collective."+ ]+ },+ {+ "name": "propose",+ "args": [+ {+ "name": "threshold",+ "type": "Compact<MemberCount>"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage reads and writes.",+ " - Argument `threshold` has bearing on weight.",+ " # </weight>"+ ]+ },+ {+ "name": "vote",+ "args": [+ {+ "name": "proposal",+ "type": "Hash"+ },+ {+ "name": "index",+ "type": "Compact<ProposalIndex>"+ },+ {+ "name": "approve",+ "type": "bool"+ }+ ],+ "docs": [+ " # <weight>",+ " - Bounded storage read and writes.",+ " - Will be slightly heavier if the proposal is approved / disapproved after the vote.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "AccountId",+ "ProposalIndex",+ "Hash",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been proposed (by given account) with a threshold (given",+ " `MemberCount`)."+ ]+ },+ {+ "name": "Voted",+ "args": [+ "AccountId",+ "Hash",+ "bool",+ "MemberCount",+ "MemberCount"+ ],+ "docs": [+ " A motion (given hash) has been voted on by given account, leaving",+ " a tally (yes votes and no votes given respectively as `MemberCount`)."+ ]+ },+ {+ "name": "Approved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was approved by the required threshold."+ ]+ },+ {+ "name": "Disapproved",+ "args": [+ "Hash"+ ],+ "docs": [+ " A motion was not approved by the required threshold."+ ]+ },+ {+ "name": "Executed",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A motion was executed; `bool` is true if returned without error."+ ]+ },+ {+ "name": "MemberExecuted",+ "args": [+ "Hash",+ "bool"+ ],+ "docs": [+ " A single member did some action; `bool` is true if returned without error."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Elections",+ "storage": {+ "prefix": "PhragmenElection",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current elected membership. Sorted based on account id."+ ]+ },+ {+ "name": "RunnersUp",+ "modifier": "Default",+ "type": {+ "plain": "Vec<(AccountId,BalanceOf)>"+ },+ "fallback": "0x00",+ "docs": [+ " The current runners_up. Sorted based on low to high merit (worse to best runner)."+ ]+ },+ {+ "name": "ElectionRounds",+ "modifier": "Default",+ "type": {+ "plain": "u32"+ },+ "fallback": "0x00000000",+ "docs": [+ " The total number of vote rounds that have happened, excluding the upcoming one."+ ]+ },+ {+ "name": "VotesOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "Vec<AccountId>",+ "linked": true+ }+ },+ "fallback": "0x00",+ "docs": [+ " Votes of a particular voter, with the round index of the votes."+ ]+ },+ {+ "name": "StakeOf",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "BalanceOf",+ "linked": false+ }+ },+ "fallback": "0x00000000000000000000000000000000",+ "docs": [+ " Locked stake of a voter."+ ]+ },+ {+ "name": "Candidates",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The present candidate list. Sorted based on account id. A current member can never enter",+ " this vector and is always implicitly assumed to be a candidate."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "vote",+ "args": [+ {+ "name": "votes",+ "type": "Vec<AccountId>"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ }+ ],+ "docs": [+ " Vote for a set of candidates for the upcoming round of election.",+ "",+ " The `votes` should:",+ " - not be empty.",+ " - be less than the number of candidates.",+ "",+ " Upon voting, `value` units of `who`'s balance is locked and a bond amount is reserved.",+ " It is the responsibility of the caller to not place all of their balance into the lock",+ " and keep some for further transactions.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(1)",+ " Writes: O(V) given `V` votes. V is bounded by 16.",+ " # </weight>"+ ]+ },+ {+ "name": "remove_voter",+ "args": [],+ "docs": [+ " Remove `origin` as a voter. This removes the lock and returns the bond.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(1)",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "report_defunct_voter",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Report `target` for being an defunct voter. In case of a valid report, the reporter is",+ " rewarded by the bond amount of `target`. Otherwise, the reporter itself is removed and",+ " their bond is slashed.",+ "",+ " A defunct voter is defined to be:",+ " - a voter whose current submitted votes are all invalid. i.e. all of them are no",+ " longer a candidate nor an active member.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(NLogM) given M current candidates and N votes for `target`.",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "submit_candidacy",+ "args": [],+ "docs": [+ " Submit oneself for candidacy.",+ "",+ " A candidate will either:",+ " - Lose at the end of the term and forfeit their deposit.",+ " - Win and become a member. Members will eventually get their stash back.",+ " - Become a runner-up. Runners-ups are reserved members in case one gets forcefully",+ " removed.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(LogN) Given N candidates.",+ " Writes: O(1)",+ " # </weight>"+ ]+ },+ {+ "name": "renounce_candidacy",+ "args": [],+ "docs": [+ " Renounce one's intention to be a candidate for the next election round. 3 potential",+ " outcomes exist:",+ " - `origin` is a candidate and not elected in any set. In this case, the bond is",+ " unreserved, returned and origin is removed as a candidate.",+ " - `origin` is a current runner up. In this case, the bond is unreserved, returned and",+ " origin is removed as a runner.",+ " - `origin` is a current member. In this case, the bond is unreserved and origin is",+ " removed as a member, consequently not being a candidate for the next round anymore.",+ " Similar to [`remove_voter`], if replacement runners exists, they are immediately used."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove a particular member from the set. This is effective immediately and the bond of",+ " the outgoing member is slashed.",+ "",+ " If a runner-up is available, then the best runner-up will be removed and replaces the",+ " outgoing member. Otherwise, a new phragmen round is started.",+ "",+ " Note that this does not affect the designated block number of the next election.",+ "",+ " # <weight>",+ " #### State",+ " Reads: O(do_phragmen)",+ " Writes: O(do_phragmen)",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NewTerm",+ "args": [+ "Vec<(AccountId,Balance)>"+ ],+ "docs": [+ " A new term with new members. This indicates that enough candidates existed, not that",+ " enough have has been elected. The inner value must be examined for this purpose."+ ]+ },+ {+ "name": "EmptyTerm",+ "args": [],+ "docs": [+ " No (or not enough) candidates existed for this round."+ ]+ },+ {+ "name": "MemberKicked",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has been removed. This should always be followed by either `NewTerm` ot",+ " `EmptyTerm`."+ ]+ },+ {+ "name": "MemberRenounced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A member has renounced their candidacy."+ ]+ },+ {+ "name": "VoterReported",+ "args": [+ "AccountId",+ "AccountId",+ "bool"+ ],+ "docs": [+ " A voter (first element) was reported (byt the second element) with the the report being",+ " successful or not (third element)."+ ]+ }+ ],+ "constants": [+ {+ "name": "CandidacyBond",+ "type": "BalanceOf",+ "value": "0x0080c6a47e8d03000000000000000000",+ "docs": []+ },+ {+ "name": "VotingBond",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": []+ },+ {+ "name": "DesiredMembers",+ "type": "u32",+ "value": "0x0d000000",+ "docs": []+ },+ {+ "name": "DesiredRunnersUp",+ "type": "u32",+ "value": "0x07000000",+ "docs": []+ },+ {+ "name": "TermDuration",+ "type": "BlockNumber",+ "value": "0x80130300",+ "docs": []+ }+ ],+ "errors": []+ },+ {+ "name": "TechnicalMembership",+ "storage": {+ "prefix": "Instance1Membership",+ "items": [+ {+ "name": "Members",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AccountId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current membership, stored as an ordered Vec."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "add_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Add a member `who` to the set.",+ "",+ " May only be called from `AddOrigin` or root."+ ]+ },+ {+ "name": "remove_member",+ "args": [+ {+ "name": "who",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Remove a member `who` from the set.",+ "",+ " May only be called from `RemoveOrigin` or root."+ ]+ },+ {+ "name": "swap_member",+ "args": [+ {+ "name": "remove",+ "type": "AccountId"+ },+ {+ "name": "add",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out one member `remove` for another `add`.",+ "",+ " May only be called from `SwapOrigin` or root."+ ]+ },+ {+ "name": "reset_members",+ "args": [+ {+ "name": "members",+ "type": "Vec<AccountId>"+ }+ ],+ "docs": [+ " Change the membership to a new set, disregarding the existing membership. Be nice and",+ " pass `members` pre-sorted.",+ "",+ " May only be called from `ResetOrigin` or root."+ ]+ },+ {+ "name": "change_key",+ "args": [+ {+ "name": "new",+ "type": "AccountId"+ }+ ],+ "docs": [+ " Swap out the sending member for some other key `new`.",+ "",+ " May only be called from `Signed` origin of a current member."+ ]+ }+ ],+ "events": [+ {+ "name": "MemberAdded",+ "args": [],+ "docs": [+ " The given member was added; see the transaction for who."+ ]+ },+ {+ "name": "MemberRemoved",+ "args": [],+ "docs": [+ " The given member was removed; see the transaction for who."+ ]+ },+ {+ "name": "MembersSwapped",+ "args": [],+ "docs": [+ " Two members were swapped; see the transaction for who."+ ]+ },+ {+ "name": "MembersReset",+ "args": [],+ "docs": [+ " The membership was reset; see the transaction for who the new set is."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [],+ "docs": [+ " One of the members' keys changed."+ ]+ },+ {+ "name": "Dummy",+ "args": [+ "PhantomData"+ ],+ "docs": [+ " Phantom member, never used."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "FinalityTracker",+ "storage": null,+ "calls": [+ {+ "name": "final_hint",+ "args": [+ {+ "name": "hint",+ "type": "Compact<BlockNumber>"+ }+ ],+ "docs": [+ " Hint that the author of this block thinks the best finalized",+ " block is the given number."+ ]+ }+ ],+ "events": null,+ "constants": [+ {+ "name": "WindowSize",+ "type": "BlockNumber",+ "value": "0x65000000",+ "docs": [+ " The number of recent samples to keep from this chain. Default is 101."+ ]+ },+ {+ "name": "ReportLatency",+ "type": "BlockNumber",+ "value": "0xe8030000",+ "docs": [+ " The delay after which point things become suspicious. Default is 1000."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Grandpa",+ "storage": {+ "prefix": "GrandpaFinality",+ "items": [+ {+ "name": "Authorities",+ "modifier": "Default",+ "type": {+ "plain": "AuthorityList"+ },+ "fallback": "0x00",+ "docs": [+ " DEPRECATED",+ "",+ " This used to store the current authority set, which has been migrated to the well-known",+ " GRANDPA_AUTHORITES_KEY unhashed key."+ ]+ },+ {+ "name": "State",+ "modifier": "Default",+ "type": {+ "plain": "StoredState"+ },+ "fallback": "0x00",+ "docs": [+ " State of the current authority set."+ ]+ },+ {+ "name": "PendingChange",+ "modifier": "Optional",+ "type": {+ "plain": "StoredPendingChange"+ },+ "fallback": "0x00",+ "docs": [+ " Pending change: (signaled at, scheduled change)."+ ]+ },+ {+ "name": "NextForced",+ "modifier": "Optional",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00",+ "docs": [+ " next block number where we can force a change."+ ]+ },+ {+ "name": "Stalled",+ "modifier": "Optional",+ "type": {+ "plain": "(BlockNumber,BlockNumber)"+ },+ "fallback": "0x00",+ "docs": [+ " `true` if we are currently stalled."+ ]+ },+ {+ "name": "CurrentSetId",+ "modifier": "Default",+ "type": {+ "plain": "SetId"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The number of changes (both in terms of keys and underlying economic responsibilities)",+ " in the \"set\" of Grandpa validators from genesis."+ ]+ },+ {+ "name": "SetIdSession",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "SetId",+ "value": "SessionIndex",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from grandpa set ID to the index of the *most recent* session for which its members were responsible."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "report_misbehavior",+ "args": [+ {+ "name": "_report",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Report some misbehavior."+ ]+ }+ ],+ "events": [+ {+ "name": "NewAuthorities",+ "args": [+ "AuthorityList"+ ],+ "docs": [+ " New authority set has been applied."+ ]+ },+ {+ "name": "Paused",+ "args": [],+ "docs": [+ " Current authority set has been paused."+ ]+ },+ {+ "name": "Resumed",+ "args": [],+ "docs": [+ " Current authority set has been resumed."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "Treasury",+ "storage": {+ "prefix": "Treasury",+ "items": [+ {+ "name": "ProposalCount",+ "modifier": "Default",+ "type": {+ "plain": "ProposalIndex"+ },+ "fallback": "0x00000000",+ "docs": [+ " Number of proposals that have been made."+ ]+ },+ {+ "name": "Proposals",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ProposalIndex",+ "value": "TreasuryProposal",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Proposals that have been made."+ ]+ },+ {+ "name": "Approvals",+ "modifier": "Default",+ "type": {+ "plain": "Vec<ProposalIndex>"+ },+ "fallback": "0x00",+ "docs": [+ " Proposal indices that have been approved but not yet awarded."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "propose_spend",+ "args": [+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "beneficiary",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Put forward a suggestion for spending. A deposit proportional to the value",+ " is reserved and slashed if the proposal is rejected. It is returned once the",+ " proposal is awarded.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change, one extra DB entry.",+ " # </weight>"+ ]+ },+ {+ "name": "reject_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Reject a proposed spend. The original deposit will be slashed.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB clear.",+ " # </weight>"+ ]+ },+ {+ "name": "approve_proposal",+ "args": [+ {+ "name": "proposal_id",+ "type": "Compact<ProposalIndex>"+ }+ ],+ "docs": [+ " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",+ " and the original deposit will be returned.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Proposed",+ "args": [+ "ProposalIndex"+ ],+ "docs": [+ " New proposal."+ ]+ },+ {+ "name": "Spending",+ "args": [+ "Balance"+ ],+ "docs": [+ " We have ended a spend period and will now allocate funds."+ ]+ },+ {+ "name": "Awarded",+ "args": [+ "ProposalIndex",+ "Balance",+ "AccountId"+ ],+ "docs": [+ " Some funds have been allocated."+ ]+ },+ {+ "name": "Burnt",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some of our funds have been burnt."+ ]+ },+ {+ "name": "Rollover",+ "args": [+ "Balance"+ ],+ "docs": [+ " Spending has finished; this is the amount that rolls over until next spend."+ ]+ },+ {+ "name": "Deposit",+ "args": [+ "Balance"+ ],+ "docs": [+ " Some funds have been deposited."+ ]+ }+ ],+ "constants": [+ {+ "name": "ProposalBond",+ "type": "Permill",+ "value": "0x50c30000",+ "docs": [+ " Fraction of a proposal's value that should be bonded in order to place the proposal.",+ " An accepted proposal gets these back. A rejected proposal does not."+ ]+ },+ {+ "name": "ProposalBondMinimum",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Minimum amount of funds that should be placed in a deposit for making a proposal."+ ]+ },+ {+ "name": "SpendPeriod",+ "type": "BlockNumber",+ "value": "0x80700000",+ "docs": [+ " Period between successive spends."+ ]+ },+ {+ "name": "Burn",+ "type": "Permill",+ "value": "0x20a10700",+ "docs": [+ " Percentage of spare funds (if any) that are burnt per spend period."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Contracts",+ "storage": {+ "prefix": "Contract",+ "items": [+ {+ "name": "GasSpent",+ "modifier": "Default",+ "type": {+ "plain": "Gas"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " Gas spent so far in this block."+ ]+ },+ {+ "name": "CurrentSchedule",+ "modifier": "Default",+ "type": {+ "plain": "Schedule"+ },+ "fallback": "0x0000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af0000000000000001000000000000000100000000000000040000000000010010000000004000000020000000",+ "docs": [+ " Current cost schedule for contracts."+ ]+ },+ {+ "name": "PristineCode",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "CodeHash",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping from an original code hash to the original code, untouched by instrumentation."+ ]+ },+ {+ "name": "CodeStorage",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "CodeHash",+ "value": "PrefabWasmModule",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " A mapping between an original code hash and instrumented wasm code, ready for execution."+ ]+ },+ {+ "name": "AccountCounter",+ "modifier": "Default",+ "type": {+ "plain": "u64"+ },+ "fallback": "0x0000000000000000",+ "docs": [+ " The subtrie counter."+ ]+ },+ {+ "name": "ContractInfoOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "ContractInfo",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The code associated with a given account."+ ]+ },+ {+ "name": "GasPrice",+ "modifier": "Default",+ "type": {+ "plain": "BalanceOf"+ },+ "fallback": "0x01000000000000000000000000000000",+ "docs": [+ " The price of one unit of gas."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "update_schedule",+ "args": [+ {+ "name": "schedule",+ "type": "Schedule"+ }+ ],+ "docs": [+ " Updates the schedule for metering contracts.",+ "",+ " The schedule must have a greater version than the stored schedule."+ ]+ },+ {+ "name": "put_code",+ "args": [+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "code",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Stores the given binary Wasm code into the chain's storage and returns its `codehash`.",+ " You can instantiate contracts only with stored code."+ ]+ },+ {+ "name": "call",+ "args": [+ {+ "name": "dest",+ "type": "LookupSource"+ },+ {+ "name": "value",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Makes a call to an account, optionally transferring some balance.",+ "",+ " * If the account is a smart-contract account, the associated code will be",+ " executed and any value will be transferred.",+ " * If the account is a regular account, any value will be transferred.",+ " * If no account exists and the call value is not less than `existential_deposit`,",+ " a regular account will be created and any value will be transferred."+ ]+ },+ {+ "name": "instantiate",+ "args": [+ {+ "name": "endowment",+ "type": "Compact<BalanceOf>"+ },+ {+ "name": "gas_limit",+ "type": "Compact<Gas>"+ },+ {+ "name": "code_hash",+ "type": "CodeHash"+ },+ {+ "name": "data",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Instantiates a new contract from the `codehash` generated by `put_code`, optionally transferring some balance.",+ "",+ " Instantiation is executed as follows:",+ "",+ " - The destination address is computed based on the sender and hash of the code.",+ " - The smart-contract account is created at the computed address.",+ " - The `ctor_code` is executed in the context of the newly-created account. Buffer returned",+ " after the execution is saved as the `code` of the account. That code will be invoked",+ " upon any call received by this account.",+ " - The contract is initialized."+ ]+ },+ {+ "name": "claim_surcharge",+ "args": [+ {+ "name": "dest",+ "type": "AccountId"+ },+ {+ "name": "aux_sender",+ "type": "Option<AccountId>"+ }+ ],+ "docs": [+ " Allows block producers to claim a small reward for evicting a contract. If a block producer",+ " fails to do so, a regular users will be allowed to claim the reward.",+ "",+ " If contract is not evicted as a result of this call, no actions are taken and",+ " the sender is not eligible for the reward."+ ]+ }+ ],+ "events": [+ {+ "name": "Transfer",+ "args": [+ "AccountId",+ "AccountId",+ "Balance"+ ],+ "docs": [+ " Transfer happened `from` to `to` with given `value` as part of a `call` or `instantiate`."+ ]+ },+ {+ "name": "Instantiated",+ "args": [+ "AccountId",+ "AccountId"+ ],+ "docs": [+ " Contract deployed by address at the specified address."+ ]+ },+ {+ "name": "CodeStored",+ "args": [+ "Hash"+ ],+ "docs": [+ " Code with the specified hash has been stored."+ ]+ },+ {+ "name": "ScheduleUpdated",+ "args": [+ "u32"+ ],+ "docs": [+ " Triggered when the current schedule is updated."+ ]+ },+ {+ "name": "Dispatched",+ "args": [+ "AccountId",+ "bool"+ ],+ "docs": [+ " A call was dispatched from the given account. The bool signals whether it was",+ " successful execution or not."+ ]+ },+ {+ "name": "Contract",+ "args": [+ "AccountId",+ "Bytes"+ ],+ "docs": [+ " An event from contract of account."+ ]+ }+ ],+ "constants": [+ {+ "name": "SignedClaimHandicap",+ "type": "BlockNumber",+ "value": "0x02000000",+ "docs": [+ " Number of block delay an extrinsic claim surcharge has.",+ "",+ " When claim surcharge is called by an extrinsic the rent is checked",+ " for current_block - delay"+ ]+ },+ {+ "name": "TombstoneDeposit",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " The minimum amount required to generate a tombstone."+ ]+ },+ {+ "name": "StorageSizeOffset",+ "type": "u32",+ "value": "0x08000000",+ "docs": [+ " Size of a contract at the time of instantiaion. This is a simple way to ensure that",+ " empty contracts eventually gets deleted."+ ]+ },+ {+ "name": "RentByteFee",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Price of a byte of storage per one block interval. Should be greater than 0."+ ]+ },+ {+ "name": "RentDepositOffset",+ "type": "BalanceOf",+ "value": "0x00008a5d784563010000000000000000",+ "docs": [+ " The amount of funds a contract should deposit in order to offset",+ " the cost of one byte.",+ "",+ " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,",+ " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.",+ " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,",+ " then it would pay 500 BU/day."+ ]+ },+ {+ "name": "SurchargeReward",+ "type": "BalanceOf",+ "value": "0x0080a1a76b4a35000000000000000000",+ "docs": [+ " Reward that is received by the party whose touch has led",+ " to removal of a contract."+ ]+ },+ {+ "name": "TransferFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to make a transfer."+ ]+ },+ {+ "name": "CreationFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to create an account."+ ]+ },+ {+ "name": "TransactionBaseFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the base."+ ]+ },+ {+ "name": "TransactionByteFee",+ "type": "BalanceOf",+ "value": "0x00e40b54020000000000000000000000",+ "docs": [+ " The fee to be paid for making a transaction; the per-byte portion."+ ]+ },+ {+ "name": "ContractFee",+ "type": "BalanceOf",+ "value": "0x0010a5d4e80000000000000000000000",+ "docs": [+ " The fee required to instantiate a contract instance. A reasonable default value",+ " is 21."+ ]+ },+ {+ "name": "CallBaseFee",+ "type": "Gas",+ "value": "0xe803000000000000",+ "docs": [+ " The base fee charged for calling into a contract. A reasonable default",+ " value is 135."+ ]+ },+ {+ "name": "InstantiateBaseFee",+ "type": "Gas",+ "value": "0xe803000000000000",+ "docs": [+ " The base fee charged for instantiating a contract. A reasonable default value",+ " is 175."+ ]+ },+ {+ "name": "MaxDepth",+ "type": "u32",+ "value": "0x20000000",+ "docs": [+ " The maximum nesting level of a call/instantiate stack. A reasonable default",+ " value is 100."+ ]+ },+ {+ "name": "MaxValueSize",+ "type": "u32",+ "value": "0x00400000",+ "docs": [+ " The maximum size of a storage value in bytes. A reasonable default is 16 KiB."+ ]+ },+ {+ "name": "BlockGasLimit",+ "type": "Gas",+ "value": "0x8096980000000000",+ "docs": [+ " The maximum amount of gas that could be expended per block. A reasonable",+ " default value is 10_000_000."+ ]+ }+ ],+ "errors": []+ },+ {+ "name": "Sudo",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "Key",+ "modifier": "Default",+ "type": {+ "plain": "AccountId"+ },+ "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",+ "docs": [+ " The `AccountId` of the sudo key."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "sudo",+ "args": [+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Root` origin.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Unknown weight of derivative `proposal` execution.",+ " # </weight>"+ ]+ },+ {+ "name": "set_key",+ "args": [+ {+ "name": "new",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB change.",+ " # </weight>"+ ]+ },+ {+ "name": "sudo_as",+ "args": [+ {+ "name": "who",+ "type": "LookupSource"+ },+ {+ "name": "proposal",+ "type": "Proposal"+ }+ ],+ "docs": [+ " Authenticates the sudo key and dispatches a function call with `Signed` origin from",+ " a given account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - Limited storage reads.",+ " - One DB write (event).",+ " - Unknown weight of derivative `proposal` execution.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "Sudid",+ "args": [+ "bool"+ ],+ "docs": [+ " A sudo just took place."+ ]+ },+ {+ "name": "KeyChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " The sudoer just switched identity; the old key is supplied."+ ]+ },+ {+ "name": "SudoAsDone",+ "args": [+ "bool"+ ],+ "docs": [+ " A sudo just took place."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "ImOnline",+ "storage": {+ "prefix": "ImOnline",+ "items": [+ {+ "name": "GossipAt",+ "modifier": "Default",+ "type": {+ "plain": "BlockNumber"+ },+ "fallback": "0x00000000",+ "docs": [+ " The block number when we should gossip."+ ]+ },+ {+ "name": "Keys",+ "modifier": "Default",+ "type": {+ "plain": "Vec<AuthorityId>"+ },+ "fallback": "0x00",+ "docs": [+ " The current set of keys that may issue a heartbeat."+ ]+ },+ {+ "name": "ReceivedHeartbeats",+ "modifier": "Optional",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "SessionIndex",+ "key2": "AuthIndex",+ "value": "Bytes",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " For each session index, we keep a mapping of `AuthIndex`",+ " to `offchain::OpaqueNetworkState`."+ ]+ },+ {+ "name": "AuthoredBlocks",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "SessionIndex",+ "key2": "ValidatorId",+ "value": "u32",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00000000",+ "docs": [+ " For each session index, we keep a mapping of `T::ValidatorId` to the",+ " number of blocks authored by the given authority."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "heartbeat",+ "args": [+ {+ "name": "heartbeat",+ "type": "Heartbeat"+ },+ {+ "name": "_signature",+ "type": "Signature"+ }+ ],+ "docs": []+ }+ ],+ "events": [+ {+ "name": "HeartbeatReceived",+ "args": [+ "AuthorityId"+ ],+ "docs": [+ " A new heartbeat was received from `AuthorityId`"+ ]+ },+ {+ "name": "AllGood",+ "args": [],+ "docs": [+ " At the end of the session, no offence was committed."+ ]+ },+ {+ "name": "SomeOffline",+ "args": [+ "Vec<IdentificationTuple>"+ ],+ "docs": [+ " At the end of the session, at least once validator was found to be offline."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "AuthorityDiscovery",+ "storage": null,+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Offences",+ "storage": {+ "prefix": "Offences",+ "items": [+ {+ "name": "Reports",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "ReportIdOf",+ "value": "OffenceDetails",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The primary structure that holds all offence records keyed by report identifiers."+ ]+ },+ {+ "name": "ConcurrentReportsIndex",+ "modifier": "Default",+ "type": {+ "doubleMap": {+ "hasher": "Blake2_256",+ "key1": "Kind",+ "key2": "OpaqueTimeSlot",+ "value": "Vec<ReportIdOf>",+ "key2Hasher": "Blake2_256"+ }+ },+ "fallback": "0x00",+ "docs": [+ " A vector of reports of the same kind that happened at the same time slot."+ ]+ },+ {+ "name": "ReportsByKindIndex",+ "modifier": "Default",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "Kind",+ "value": "Bytes",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " Enumerates all reports of a kind along with the time they happened.",+ "",+ " All reports are sorted by the time of offence.",+ "",+ " Note that the actual type of this mapping is `Vec<u8>`, this is because values of",+ " different types are not supported at the moment so we are doing the manual serialization."+ ]+ }+ ]+ },+ "calls": [],+ "events": [+ {+ "name": "Offence",+ "args": [+ "Kind",+ "OpaqueTimeSlot"+ ],+ "docs": [+ " There is an offence reported of the given `kind` happened at the `session_index` and",+ " (kind-specific) time slot. This event is not deposited for duplicate slashes."+ ]+ }+ ],+ "constants": [],+ "errors": []+ },+ {+ "name": "RandomnessCollectiveFlip",+ "storage": {+ "prefix": "RandomnessCollectiveFlip",+ "items": [+ {+ "name": "RandomMaterial",+ "modifier": "Default",+ "type": {+ "plain": "Vec<Hash>"+ },+ "fallback": "0x00",+ "docs": [+ " Series of block headers from the last 81 blocks that acts as random seed material. This",+ " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",+ " the oldest hash."+ ]+ }+ ]+ },+ "calls": [],+ "events": null,+ "constants": [],+ "errors": []+ },+ {+ "name": "Nicks",+ "storage": {+ "prefix": "Sudo",+ "items": [+ {+ "name": "NameOf",+ "modifier": "Optional",+ "type": {+ "map": {+ "hasher": "Blake2_256",+ "key": "AccountId",+ "value": "(Bytes,BalanceOf)",+ "linked": false+ }+ },+ "fallback": "0x00",+ "docs": [+ " The lookup table for names."+ ]+ }+ ]+ },+ "calls": [+ {+ "name": "set_name",+ "args": [+ {+ "name": "name",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set an account's name. The name should be a UTF-8-encoded string by convention, though",+ " we don't check it.",+ "",+ " The name may not be more than `T::MaxLength` bytes, nor less than `T::MinLength` bytes.",+ "",+ " If the account doesn't already have a name, then a fee of `ReservationFee` is reserved",+ " in the account.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - At most one balance operation.",+ " - One storage read/write.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "clear_name",+ "args": [],+ "docs": [+ " Clear an account's name and return the deposit. Fails if the account was not named.",+ "",+ " The dispatch origin for this call must be _Signed_.",+ "",+ " # <weight>",+ " - O(1).",+ " - One balance operation.",+ " - One storage read/write.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "kill_name",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ }+ ],+ "docs": [+ " Remove an account's name and take charge of the deposit.",+ "",+ " Fails if `who` has not been named. The deposit is dealt with through `T::Slashed`",+ " imbalance handler.",+ "",+ " The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " - One unbalanced handler (probably a balance transfer)",+ " - One storage read/write.",+ " - One event.",+ " # </weight>"+ ]+ },+ {+ "name": "force_name",+ "args": [+ {+ "name": "target",+ "type": "LookupSource"+ },+ {+ "name": "name",+ "type": "Bytes"+ }+ ],+ "docs": [+ " Set a third-party account's name with no deposit.",+ "",+ " No length checking is done on the name.",+ "",+ " The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`.",+ "",+ " # <weight>",+ " - O(1).",+ " - At most one balance operation.",+ " - One storage read/write.",+ " - One event.",+ " # </weight>"+ ]+ }+ ],+ "events": [+ {+ "name": "NameSet",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was set."+ ]+ },+ {+ "name": "NameForced",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was forcibly set."+ ]+ },+ {+ "name": "NameChanged",+ "args": [+ "AccountId"+ ],+ "docs": [+ " A name was changed."+ ]+ },+ {+ "name": "NameCleared",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was cleared, and the given balance returned."+ ]+ },+ {+ "name": "NameKilled",+ "args": [+ "AccountId",+ "Balance"+ ],+ "docs": [+ " A name was removed and the given balance slashed."+ ]+ }+ ],+ "constants": [+ {+ "name": "ReservationFee",+ "type": "BalanceOf",+ "value": "0x00407a10f35a00000000000000000000",+ "docs": [+ " Reservation fee."+ ]+ },+ {+ "name": "MinLength",+ "type": "u32",+ "value": "0x03000000",+ "docs": [+ " The minimum length a name may be."+ ]+ },+ {+ "name": "MaxLength",+ "type": "u32",+ "value": "0x10000000",+ "docs": [+ " The maximum length a name may be."+ ]+ }+ ],+ "errors": []+ }+ ]+ }+ }+}
web3-polkadot.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: web3-polkadot-version: 1.1.0.0+version: 1.1.0.1 license: Apache-2.0 license-file: LICENSE copyright: (c) Aleksandr Krupenkin 2016-2026@@ -12,6 +12,17 @@ description: Client library for Third Generation of Web. category: Network build-type: Simple+data-files:+ tests/meta/v10.hex+ tests/meta/v11.hex+ tests/meta/v12.hex+ tests/meta/v13.hex+ tests/meta/v9.hex+ tests/meta/v10.json+ tests/meta/v11.json+ tests/meta/v12.json+ tests/meta/v13.json+ tests/meta/v9.json source-repository head type: git