From bbf7c51e463e38bba4ee3641d5c497bfb7e3fd99 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 13 May 2024 16:56:24 -0400 Subject: [PATCH 001/153] Create first outline --- bip-update-process.md | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bip-update-process.md diff --git a/bip-update-process.md b/bip-update-process.md new file mode 100644 index 0000000000..cdb9c0219c --- /dev/null +++ b/bip-update-process.md @@ -0,0 +1,50 @@ +
+  BIP: ?
+  Title: Updated BIP Process
+  Author: Murch 
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Process
+  Status: Draft
+  Type: Process
+  Created: 2024-05-13
+  License: CC0-1.0
+  Replaces: 2
+
+ +## Abstract + +## Copyright + +This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. + +## What is a BIP? +### What is the significance of BIPs? +### What should be documented in a BIP? +### Types +#### Informational +#### Process +#### Standards Track + +## Editors +### Responsibilities + +## Format +### Specification +#### BIP Header Preamble +#### Auxiliary Files + +## Workflow +### Ideation +### Draft +### Proposed +### Final +### Withdrawn +### Transferring Ownership + +## Licensing + +## Changes from BIP-2 + +## Related Work + +- BIP-1 +- BIP-2 From d1d49e958de0271bfe580f425a04f144d1b8b814 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 13 May 2024 17:53:23 -0400 Subject: [PATCH 002/153] Add an initial abstract --- bip-update-process.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index cdb9c0219c..6d18b55de9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -12,6 +12,17 @@ ## Abstract +A Bitcoin Improvement Proposal (BIP) provides a concise, self-contained technical description of one new concept, +feature, standard, or incident relevant to the Bitcoin community. + +TODO: Should incidents continue to be in-scope? + +We intend BIPs to be the primary mechanism for proposing new protocol features, coordinating client standards, and +sharing design decisions that have gone into Bitcoin. Each BIP is primarily owned by its author, the BIP Champion, and +represents only the Champion’s opinion or recommendation. + +This BIP replaces BIP-2 with a more well-defined and clear process. + ## Copyright This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. From 0bd8036edecc86fe66b4cb14ece689cf1414b00a Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 15 May 2024 14:49:29 -0400 Subject: [PATCH 003/153] Start filling in Workflow --- bip-update-process.md | 53 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 6d18b55de9..8247581ff5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -44,11 +44,56 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p #### Auxiliary Files ## Workflow + +The BIP process starts with an idea for Bitcoin. Each potential BIP must have one or multiple champions—the people +who write the BIP, shepherd the discussion in the appropriate forums, gather feedback from the community, and finally +recommend a mature proposal for adoption. + ### Ideation -### Draft -### Proposed -### Final -### Withdrawn + +After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader +community or relevant to multiple software projects. Small improvements and matters concerning only a single project +often do not require standardization and should instead be brought up to the relevant project directly. The champion +should research whether an idea has been discussed before. Many ideas in Bitcoin are being rediscovered time and again +that have been discussed and rejected for various reasons before. After some investigation, the novelty of an idea can +be tested by posting about it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). + +Vetting an idea publicly before investing the time to write a BIP is meant to save both the potential champion and the +wider community time. Asking the Bitcoin community first whether an idea is original helps prevent too much time being +spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always +do the trick). +Describing it publicly also ensures that the idea is of interest to more people beside the champion. If the champion is +encouraged by interested responses, they may work on drafting a BIP for the idea. Once the draft has matured to a +presentable state, the champion should post the draft to the [Bitcoin development mailing +list](https://groups.google.com/g/bitcoindev) and open a pull request to the BIPs repository. + +### Standards Track BIPs + +#### Draft + +Ideas that are on-topic, adhere to the formatting requirements, and have materially progressed beyond the ideation +phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by being implemented +in multiple independent software projects, and the champion working for an extended period of time towards improving the +proposal based on the community feedback they gathered, the BIP will be assigned a number and the pull reuqest will be +merged to the reposity. While BIPs are author documents which must only meet certain minimum criteria, the BIP editors +strive to ensure there are not an unnecessary number of BIPs which never progress into broad implementation across the +bitcoin ecosystem. After the BIP is merged to the repository, its focus should not be shifted significantly, although +the specification may still be evolving. + +#### Proposed + +When the champion is confident that their BIP is ready for adoption by the Bitcoin community, they may update the BIP’s +status to _PROPOSED_ to indicate that they are seeking implementation of the BIP. The specification in the BIP should be +largely settled and should only be adjusted in minor details that may come up as projects implement the BIP. + +#### Final + +#### Withdrawn + +### Process BIPs + +### Informational BIPs + ### Transferring Ownership ## Licensing From 4643b167bbdaef5786f942b74b57b66bfabcd419 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 28 May 2024 14:29:30 -0400 Subject: [PATCH 004/153] Use "champion" for BIP Author --- bip-update-process.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 8247581ff5..f08313a30f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -12,20 +12,21 @@ ## Abstract -A Bitcoin Improvement Proposal (BIP) provides a concise, self-contained technical description of one new concept, -feature, standard, or incident relevant to the Bitcoin community. +A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained technical description of one new concept, +feature, standard, implementation guideline, or incident relevant to the Bitcoin community. TODO: Should incidents continue to be in-scope? We intend BIPs to be the primary mechanism for proposing new protocol features, coordinating client standards, and -sharing design decisions that have gone into Bitcoin. Each BIP is primarily owned by its author, the BIP Champion, and -represents only the Champion’s opinion or recommendation. +sharing design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its author, the +_BIP champion_, and represents the champion’s opinion or recommendation. The champion is responsible for building +consensus within the community -This BIP replaces BIP-2 with a more well-defined and clear process. +The BIPs repository serves as a highly visible platform to put up mature proposals for debate. The versioning of the +repository records evolution of proposals per the revision history. -## Copyright - -This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. +This BIP replaces BIP-2 with a more well-defined and clear process, and may be amended to address future needs of the +BIP process. ## What is a BIP? ### What is the significance of BIPs? @@ -100,6 +101,10 @@ largely settled and should only be adjusted in minor details that may come up as ## Changes from BIP-2 +## Copyright + +This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. + ## Related Work - BIP-1 From 74e691d0fee23b9c4f2ecbab621b98ee4582477a Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 14 Jun 2024 11:55:32 -0400 Subject: [PATCH 005/153] Revisit Abstract and What is a BIP? --- bip-update-process.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f08313a30f..9de2fe5997 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -12,23 +12,23 @@ ## Abstract -A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained technical description of one new concept, -feature, standard, implementation guideline, or incident relevant to the Bitcoin community. +A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, +feature, standard, implementation guideline, best-practice, design, or incident report relevant to the Bitcoin community. -TODO: Should incidents continue to be in-scope? +The BIPs repository serves as a highly visible platform to put forward mature proposals. Because the BIPs are maintained +as text files in a versioned repository, their revision history is the historical record of each proposal. -We intend BIPs to be the primary mechanism for proposing new protocol features, coordinating client standards, and -sharing design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its author, the -_BIP champion_, and represents the champion’s opinion or recommendation. The champion is responsible for building -consensus within the community - -The BIPs repository serves as a highly visible platform to put up mature proposals for debate. The versioning of the -repository records evolution of proposals per the revision history. - -This BIP replaces BIP-2 with a more well-defined and clear process, and may be amended to address future needs of the +This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. ## What is a BIP? + +BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and +documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, +the _BIP champions_, and represents the champions’ opinion or recommendation. The champions are expected to foster +discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the +community. + ### What is the significance of BIPs? ### What should be documented in a BIP? ### Types From e600c49324acca7823d428b346f332019b60992b Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 14 Jun 2024 13:36:59 -0400 Subject: [PATCH 006/153] Deliberate significance of BIPs --- bip-update-process.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 9de2fe5997..144d75251d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -7,7 +7,7 @@ Type: Process Created: 2024-05-13 License: CC0-1.0 - Replaces: 2 + Replaces: 1, 2 ## Abstract @@ -15,8 +15,9 @@ A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, feature, standard, implementation guideline, best-practice, design, or incident report relevant to the Bitcoin community. -The BIPs repository serves as a highly visible platform to put forward mature proposals. Because the BIPs are maintained -as text files in a versioned repository, their revision history is the historical record of each proposal. +The BIPs repository serves as a highly visible platform to put forward mature proposals. The repositories visibility +facilitates the distributed consideration of proposals by establishing the current state of the proposal. The +repository’s versioning of the text-based BIPs retains the historical record of each proposal. This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. @@ -27,14 +28,18 @@ BIPs are intended to be the primary mechanism for proposing new protocol feature documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, the _BIP champions_, and represents the champions’ opinion or recommendation. The champions are expected to foster discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the -community. +Bitcoin community. ### What is the significance of BIPs? + +BIPs represent a personal recommendations by BIP champions to the Bitcoin community. Some BIPs may be adopted by one or +multiple implementations or even incorporated into the Bitcoin protocol. + ### What should be documented in a BIP? ### Types +#### Standards Track #### Informational #### Process -#### Standards Track ## Editors ### Responsibilities @@ -63,7 +68,7 @@ Vetting an idea publicly before investing the time to write a BIP is meant to sa wider community time. Asking the Bitcoin community first whether an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always do the trick). -Describing it publicly also ensures that the idea is of interest to more people beside the champion. If the champion is +Describing an idea publicly also ensures that it is of interest to more people beside the champion. If the champion is encouraged by interested responses, they may work on drafting a BIP for the idea. Once the draft has matured to a presentable state, the champion should post the draft to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev) and open a pull request to the BIPs repository. From 3f990ed539474d6dc5cb4cd73157d245f29fce03 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 14 Jun 2024 16:24:37 -0400 Subject: [PATCH 007/153] Rework draft stage of BIP workflow, add BIP-0002 to bottom of document --- bip-update-process.md | 487 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 447 insertions(+), 40 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 144d75251d..843c0c8872 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -13,9 +13,15 @@ ## Abstract A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, -feature, standard, implementation guideline, best-practice, design, or incident report relevant to the Bitcoin community. +feature, standard, implementation guideline, best-practice, or incident report relevant to the Bitcoin community. -The BIPs repository serves as a highly visible platform to put forward mature proposals. The repositories visibility +BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and +documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, +the _BIP champions_, and represents the champions’ opinion or recommendation. The champions are expected to foster +discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the +Bitcoin community. + +The BIPs repository serves as a highly visible platform to put forward mature proposals. The repository’s visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The repository’s versioning of the text-based BIPs retains the historical record of each proposal. @@ -24,12 +30,6 @@ BIP process. ## What is a BIP? -BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and -documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, -the _BIP champions_, and represents the champions’ opinion or recommendation. The champions are expected to foster -discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the -Bitcoin community. - ### What is the significance of BIPs? BIPs represent a personal recommendations by BIP champions to the Bitcoin community. Some BIPs may be adopted by one or @@ -51,51 +51,62 @@ multiple implementations or even incorporated into the Bitcoin protocol. ## Workflow -The BIP process starts with an idea for Bitcoin. Each potential BIP must have one or multiple champions—the people -who write the BIP, shepherd the discussion in the appropriate forums, gather feedback from the community, and finally -recommend a mature proposal for adoption. +The BIP process starts with a new idea for Bitcoin. Each potential BIP must have a champion (or multiple +champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and +finally recommends a mature proposal to the community. ### Ideation After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader community or relevant to multiple software projects. Small improvements and matters concerning only a single project -often do not require standardization and should instead be brought up to the relevant project directly. The champion -should research whether an idea has been discussed before. Many ideas in Bitcoin are being rediscovered time and again -that have been discussed and rejected for various reasons before. After some investigation, the novelty of an idea can -be tested by posting about it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). - -Vetting an idea publicly before investing the time to write a BIP is meant to save both the potential champion and the -wider community time. Asking the Bitcoin community first whether an idea is original helps prevent too much time being -spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always -do the trick). -Describing an idea publicly also ensures that it is of interest to more people beside the champion. If the champion is -encouraged by interested responses, they may work on drafting a BIP for the idea. Once the draft has matured to a -presentable state, the champion should post the draft to the [Bitcoin development mailing -list](https://groups.google.com/g/bitcoindev) and open a pull request to the BIPs repository. - -### Standards Track BIPs - -#### Draft +usually do not require standardization and should instead be brought up to the relevant project directly. + +The champion should first research whether an idea has been considered before. Ideas in Bitcoin are often rediscovered, +and prior related discussions may inform the author what issues may arise in its progression. After some investigation, +the novelty of an idea can be tested by posting about it to the [Bitcoin development mailing +list](https://groups.google.com/g/bitcoindev). + +Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the champion and +the broader community time. Not only may someone point out relevant discussion topics that were missed in the champion’s +research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also +tests whether it is of interest to more people beside the champion. After establishing that the idea may be of interest +to the Bitcoin community, the champion should work on drafting a BIP. + +### Draft + +As the first draft is taking shape, the champion should present it to the [Bitcoin development mailing +list](https://groups.google.com/g/bitcoindev). This gives the champion a chance to collect initial feedback and address +broad concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they open a +pull request against their personal fork of the BIPs repository. After fleshing out the draft further and ensuring that +it is of high quality and properly formatted, the champion should open a pull request to the [BIPs +repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the formatting requirements specified below +and named with a working title of the form "bip-authorname-topicofproposal". The champion must not self-assign a number +to the BIP draft. Ideas that are on-topic, adhere to the formatting requirements, and have materially progressed beyond the ideation -phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by being implemented -in multiple independent software projects, and the champion working for an extended period of time towards improving the -proposal based on the community feedback they gathered, the BIP will be assigned a number and the pull reuqest will be -merged to the reposity. While BIPs are author documents which must only meet certain minimum criteria, the BIP editors -strive to ensure there are not an unnecessary number of BIPs which never progress into broad implementation across the -bitcoin ecosystem. After the BIP is merged to the repository, its focus should not be shifted significantly, although -the specification may still be evolving. +phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin +projects working on adopting the proposal, or by the champion working for an extended period of time towards improving +the proposal based on the community feedback they gathered, the BIP will be assigned a number and the pull request will +be merged to the repository. While BIPs are author documents which must only meet certain minimum criteria, the BIP +editors will strive to minimize number assignments for BIPs that fail to garner the interest of the Bitcoin community +and will never progress to broad adoption across the Bitcoin ecosystem. +After the BIP is merged to the repository, its focus should no longer shift significantly, even while its content +continues to evolve in detail. -#### Proposed +### Proposed When the champion is confident that their BIP is ready for adoption by the Bitcoin community, they may update the BIP’s status to _PROPOSED_ to indicate that they are seeking implementation of the BIP. The specification in the BIP should be largely settled and should only be adjusted in minor details that may come up as projects implement the BIP. -#### Final -#### Withdrawn +------------------- + +### Final +### Withdrawn + +### Standards Track BIPs ### Process BIPs ### Informational BIPs @@ -112,5 +123,401 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ## Related Work -- BIP-1 -- BIP-2 +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) + + +------------------------- +------------------------- +------------------------- + +==BIP workflow== + +Vetting an idea publicly before going as far as writing a BIP is meant to save both the potential author and the wider community time. +Asking the Bitcoin community first if an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always do the trick). +It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Bitcoin is used. + +Once the champion has asked the Bitcoin community as to whether an idea has any chance of acceptance, a draft BIP should be presented to the [https://groups.google.com/g/bitcoindev Bitcoin development mailing list]. +This gives the author a chance to flesh out the draft BIP to make it properly formatted, of high quality, and to address additional concerns about the proposal. +Following a discussion, the proposal should be submitted to the [https://github.com/bitcoin/bips BIPs git repository] as a pull request. +This draft must be written in BIP style as described below, and named with an alias such as "bip-johndoe-infinitebitcoins" until an editor has assigned it a BIP number (authors MUST NOT self-assign BIP numbers). + +BIP authors are responsible for collecting community feedback on both the initial idea and the BIP before submitting it for review. However, wherever possible, long open-ended discussions on public mailing lists should be avoided. Strategies to keep the discussions efficient include: setting up a separate SIG mailing list for the topic, having the BIP author accept private comments in the early design phases, setting up a wiki page or git repository, etc. BIP authors should use their discretion here. + +It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more successful it tends to be. If in doubt, split your BIP into several well-focused ones. + +When the BIP draft is complete, a BIP editor will assign the BIP a number, label it as Standards Track, Informational, or Process, and merge the pull request to the BIPs git repository. +The BIP editors will not unreasonably reject a BIP. +Reasons for rejecting BIPs include duplication of effort, disregard for formatting rules, being too unfocused or too broad, being technically unsound, not providing proper motivation or addressing backwards compatibility, or not in keeping with the Bitcoin philosophy. +For a BIP to be accepted it must meet certain minimum criteria. +It must be a clear and complete description of the proposed enhancement. +The enhancement must represent a net improvement. +The proposed implementation, if applicable, must be solid and must not complicate the protocol unduly. + +The BIP author may update the draft as necessary in the git repository. Updates to drafts should also be submitted by the author as pull requests. + +===Transferring BIP Ownership=== + +It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we'd like to retain the original author as a co-author of the transferred BIP, but that's really up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around a BIP, but if that's not possible, you can always submit a competing BIP. + +If you are interested in assuming ownership of a BIP, send a message asking to take over, addressed to both the original author and the BIP editors. If the original author doesn't respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :). + +===BIP Editors=== + +The current BIP editors are: + +* Bryan Bishop ([[mailto:kanzure@gmail.com|kanzure@gmail.com]]) +* Jon Atack ([[mailto:jon@atack.com|jon@atack.com]]) +* Luke Dashjr ([[mailto:luke_bipeditor@dashjr.org|luke_bipeditor@dashjr.org]]) +* Mark "Murch" Erhardt ([[mailto:murch@murch.one|murch@murch.one]]) +* Olaoluwa Osuntokun ([[mailto:laolu32@gmail.com|laolu32@gmail.com]]) +* Ruben Somsen ([[mailto:rsomsen@gmail.com|rsomsen@gmail.com]]) + +===BIP Editor Responsibilities & Workflow=== + +The BIP editors subscribe to the Bitcoin development mailing list. +Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. + +For each new BIP that comes in an editor does the following: + +* Read the BIP to check if it is ready: sound and complete. The ideas must make technical sense, even if they don't seem likely to be accepted. +* The title should accurately describe the content. +* The BIP draft must have been sent to the Bitcoin development mailing list for discussion. +* Motivation and backward compatibility (when applicable) must be addressed. +* The defined Layer header must be correctly assigned for the given specification. +* Licensing terms must be acceptable for BIPs. + +If the BIP isn't ready, the editor will send it back to the author for revision, with specific instructions. + +Once the BIP is ready for the repository it should be submitted as a "pull request" to the [https://github.com/bitcoin/bips BIPs git repository] where it may get further feedback. + +The BIP editor will: + +* Assign a BIP number in the pull request. + +* Merge the pull request when it is ready. + +* List the BIP in [[README.mediawiki]] + +The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. + +BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. + +==BIP format and structure== + +===Specification=== + +BIPs should be written in mediawiki or markdown format. + +Each BIP should have the following parts: + +* Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). + +* Abstract -- A short (~200 word) description of the technical issue being addressed. + +* Copyright -- The BIP must be explicitly licensed under acceptable copyright terms ([[#BIP licensing|see below]]). + +* Specification -- The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Bitcoin platforms. + +* Motivation -- The motivation is critical for BIPs that want to change the Bitcoin protocol. It should clearly explain why the existing protocol is inadequate to address the problem that the BIP solves. + +* Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale should provide evidence of consensus within the community and discuss important objections or concerns raised during discussion. + +* Backwards compatibility -- All BIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BIP must explain how the author proposes to deal with these incompatibilities. + +* Reference implementation -- The reference implementation must be completed before any BIP is given status "Final", but it need not be completed before the BIP is accepted. It is better to finish the specification and rationale first and reach consensus on it before writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. + +====BIP header preamble==== + +Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers marked with "*" are optional and are described below. All other headers are required. + +
+  BIP: 
+* Layer: 
+  Title: 
+  Author: 
+* Discussions-To: 
+* Comments-Summary: 
+  Comments-URI: 
+  Status: 
+  Type: 
+  Created: 
+  License: 
+* License-Code: 
+* Post-History: 
+* Requires: 
+* Replaces: 
+* Superseded-By: 
+
+ +The Layer header (only for Standards Track BIPs) documents which layer of Bitcoin the BIP applies to. +See [[bip-0123.mediawiki|BIP 123]] for definitions of the various BIP layers. Activation of this BIP implies activation of BIP 123. + +The Author header lists the names and email addresses of all the authors/owners of the BIP. +The format of the Author header value must be + + Random J. User + +If there are multiple authors, each should be on a separate line following RFC 2822 continuation line conventions. + +While a BIP is in private discussions (usually during the initial Draft phase), a Discussions-To header will indicate the mailing list or URL where the BIP is being discussed. No Discussions-To header is necessary if the BIP is being discussed privately with the author, or on the bitcoin email mailing lists. + +The Type header specifies the type of BIP: Standards Track, Informational, or Process. + +The Created header records the date that the BIP was assigned a number, while Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. +Dates should be in yyyy-mm-dd format, e.g. 2001-08-14. +Post-History is permitted to be a link to a specific thread in a mailing list archive. + +BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. + +BIPs may also have a Superseded-By header indicating that a BIP has been rendered obsolete by a later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a Replaces header containing the number of the BIP that it rendered obsolete. + +====Auxiliary Files==== + +BIPs may include auxiliary files such as diagrams. Auxiliary files should be included in a subdirectory for that BIP, or must be named BIP-XXXX-Y.ext, where "XXXX" is the BIP number, "Y" is a serial number (starting at 1), and "ext" is replaced by the actual file extension (e.g. "png"). + +==BIP types== + +There are three kinds of BIP: + +* A Standards Track BIP describes any change that affects most or all Bitcoin implementations, such as a change to the network protocol, a change in block or transaction validity rules, or any change or addition that affects the interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a reference implementation. +* An Informational BIP describes a Bitcoin design issue, or provides general guidelines or information to the Bitcoin community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. +* A Process BIP describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process BIPs are like Standards Track BIPs but apply to areas other than the Bitcoin protocol itself. They may propose an implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Bitcoin development. Any meta-BIP is also considered a Process BIP. + +==BIP status field== + +===Specification=== + +The typical paths of the status of BIPs are as follows: + + + +Champions of a BIP may decide on their own to change the status between Draft, Deferred, or Withdrawn. +A BIP editor may also change the status to Deferred when no progress is being made on the BIP. + +A BIP may only change status from Draft (or Rejected) to Proposed, when the author deems it is complete, has a working implementation (where applicable), and has community plans to progress it to the Final status. + +BIPs should be changed from Draft or Proposed status, to Rejected status, upon request by any person, if they have not made progress in three years. Such a BIP may be changed to Draft status if the champion provides revisions that meaningfully address public criticism of the proposal, or to Proposed status if it meets the criteria required as described in the previous paragraph. + +A Proposed BIP may progress to Final only when specific criteria reflecting real-world adoption has occurred. This is different for each BIP depending on the nature of its proposed changes, which will be expanded on below. Evaluation of this status change should be objectively verifiable, and/or be discussed on the development mailing list. + +When a Final BIP is no longer relevant, its status may be changed to Replaced or Obsolete (which is equivalent to Replaced). This change must also be objectively verifiable and/or discussed. + +A process BIP may change status from Draft to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be given in such circumstances. + +====Progression to Final status==== + +A soft-fork BIP strictly requires a clear miner majority expressed by blockchain voting (eg, using BIP 9). In addition, if the economy seems willing to make a "no confidence" hard-fork (such as a change in proof-of-work algorithm), the soft-fork does not become Final for as long as such a hard-fork might have majority support, or at most three months. Soft-fork BIPs may also set additional requirements for their adoption. Because of the possibility of changes to miner dynamics, especially in light of delegated voting (mining pools), it is highly recommended that a supermajority vote around 95% be required by the BIP itself, unless rationale is given for a lower threshold. + +A hard-fork BIP requires adoption from the entire Bitcoin economy, particularly including those selling desirable goods and services in exchange for bitcoin payments, as well as Bitcoin holders who wish to spend or would spend their bitcoins (including selling for other currencies) differently in the event of such a hard-fork. Adoption must be expressed by de facto usage of the hard-fork in practice (ie, not merely expressing public support, although that is a good step to establish agreement before adoption of the BIP). This economic adoption cannot be established merely by a super-majority, except by literally forcing the minority to accept the hard-fork (whether this is viable or not is outside the scope of this document). + +Peer services BIPs should be observed to be adopted by at least 1% of public listening nodes for one month. + +API/RPC and application layer BIPs must be implemented by at least two independent and compatible software applications. + +Software authors are encouraged to publish summaries of what BIPs their software supports to aid in verification of status changes. Good examples of this at the time of writing this BIP, can be observed in [https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md Bitcoin Core's doc/bips.md file] as well as [https://github.com/bitcoin-wallet/bitcoin-wallet/blob/master/wallet/README.specs.md Bitcoin Wallet for Android's wallet/README.specs.md file]. + +These criteria are considered objective ways to observe the de facto adoption of the BIP, and are not to be used as reasons to oppose or reject a BIP. Should a BIP become actually and unambiguously adopted despite not meeting the criteria outlined here, it should still be updated to Final status. + +===Rationale=== + +Why is this necessary at all? + +* BIP 1 defines an ambiguous criteria for the Status field of BIPs, which is often a source of confusion. As a result, many BIPs with significant real-world use have been left as Draft or Proposed status longer than appropriate. By giving objective criteria to judge the progression of BIPs, this proposal aims to help keep the Status accurate and up-to-date. + +How is the entire Bitcoin economy defined by people selling goods/services and holders? + +* For Bitcoin to function as a currency, it must be accepted as payment. Bitcoins have no value if you cannot acquire anything in exchange for them. If everyone accepting such payments requires a particular set of consensus rules, "bitcoins" are de facto defined by that set of rules - this is already the case today. If those consensus rules are expected to broaden (as with a hard-fork), those merchants need to accept payments made under the new set of rules, or they will reject "bitcoins" as invalid. Holders are relevant to the degree in that they choose the merchants they wish to spend their bitcoins with, and could also as a whole decide to sell under one set of consensus rules or the other, thus flooding the market with bitcoins and crashing the price. + +Why aren't included in the economy? + +* Some entities may, to some degree, also be involved in offering goods and/or services in exchange for bitcoins, thus in that capacity (but not their capacity as ) be involved in the economy. +* Miners are not included in the economy, because they merely *rely on* others to sell/spend their otherwise-worthless mined produce. Therefore, they must accept everyone else's direction in deciding the consensus rules. +* Exchanges are not included in the economy, because they merely provide services of connecting the merchants and users who wish to trade. Even if all exchanges were to defect from Bitcoin, those merchants and users can always trade directly and/or establish their own exchanges. +* Developers are not included in the economy, since they merely write code, and it is up to others to decide to use that code or not. + +But they're doing something important and have invested a lot in Bitcoin! Shouldn't they be included in such an important decision? + +* This BIP does not aim to address what "should" be the basis of decisions. Such a statement, no matter how perfect in its justification, would be futile without some way to force others to use it. The BIP process does not aim to be a kind of forceful "governance" of Bitcoin, merely to provide a collaborative repository for proposing and providing information on standards, which people may voluntarily adopt or not. It can only hope to achieve accuracy in regard to the "Status" field by striving to reflect the reality of *how things actually are*, rather than *how they should be*. + +What if a single merchant wishes to block a hard-fork? + +* This BIP addresses only the progression of the BIP Status field, not the deployment of the hard-fork (or any other change) itself. +* Regardless, one shop cannot operate in a vacuum: if they are indeed alone, they will soon find themselves no longer selling in exchange for bitcoin payments, as nobody else would exist willing to use the previous blockchain to pay them. If they are no longer selling, they cease to meet the criteria herein which enables their veto. + +How about a small number of merchants (maybe only two) who sell products to each other? + +* In this scenario, it would seem the previous Bitcoin is alive and working, and that the hard-fork has failed. How to resolve such a split is outside the scope of this BIP. + +How can economic agreement veto a soft-fork? + +* The group of miners is determined by the consensus rules for the dynamic-membership multi-party signature (for Bitcoin, the proof-of-work algorithm), which can be modified with a hard-fork. Thus, if the same conditions required to modify this group are met in opposition to a soft-fork, the miner majority supporting the soft-fork is effectively void because the economy can decide to replace them with another group of would-be miners who do not support the soft-fork. + +What happens if the economy decides to hard-fork away from a controversial soft-fork, more than three months later? + +* The controversial soft-fork, in this circumstance, changes from Final to Replaced status to reflect the nature of the hard-fork replacing the previous (final) soft-fork. + +What is the ideal percentage of listening nodes needed to adopt peer services proposals? + +* This is unknown, and set rather arbitrarily at this time. For a random selection of peers to have at least one other peer implementing the extension, 13% or more would be necessary, but nodes could continue to scan the network for such peers with perhaps some reasonable success. Furthermore, service bits exist to help identification upfront. + +Why is it necessary for at least two software projects to release an implementation of API/RPC and application layer BIPs, before they become Final? + +* If there is only one implementation of a specification, there is no other program for which a standard interface is used with or needed. +* Even if there are only two projects rather than more, some standard coordination between them exists. + +What if a BIP is proposed that only makes sense for a single specific project? + +* The BIP process exists for standardisation between independent projects. If something only affects one project, it should be done through that project's own internal processes, and never be proposed as a BIP in the first place. + +==BIP comments== + +===Specification=== + +Each BIP should, in its preamble, link to a public wiki page with a summary tone of the comments on that page. +Reviewers of the BIP who consider themselves qualified, should post their own comments on this wiki page. +The comments page should generally only be used to post final comments for a completed BIP. +If a BIP is not yet completed, reviewers should instead post on the applicable development mailing list thread to allow the BIP author(s) to address any concerns or problems pointed out by the review. + +Some BIPs receive exposure outside the development community prior to completion, and other BIPs might not be completed at all. To avoid a situation where critical BIP reviews may go unnoticed during this period, reviewers may, at their option, still post their review on the comments page, provided they first post it to the mailing list and plan to later remove or revise it as applicable based on the completed version. Such revisions should be made by editing the previous review and updating the timestamp. Reviews made prior to the complete version may be removed if they are no longer applicable and have not been updated in a timely manner (eg, within one month). + +Pages must be named after the full BIP number (eg, "BIP 0001") and placed in the "Comments" namespace. +For example, the link for BIP 1 will be https://github.com/bitcoin/bips/wiki/Comments:BIP-0001 . + +Comments posted to this wiki should use the following format: + + --, + +BIPs may also choose to list a second forum for BIP comments, in addition to the BIPs wiki. +In this case, the second forum's URI should be listed below the primary wiki's URI. + +After some time, the BIP itself may be updated with a summary tone of the comments. +Summary tones may be chosen from the following, but this BIP does not intend to cover all possible nuances and other summaries may be used as needed: + +* No comments yet. +* Unanimously Recommended for implementation +* Unanimously Discourage for implementation +* Mostly Recommended for implementation, with some Discouragement +* Mostly Discouraged for implementation, with some Recommendation + +For example, the preamble to BIP 1 might be updated to include the line: + + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0001 + https://some-other-wiki.org/BIP_1_Comments + +These fields must follow the "Discussions-To" header defined in BIP 1 (if that header is not present, it should follow the position where it would be present; generally this is immediately above the Status header). + +To avoid doubt: comments and status are unrelated metrics to judge a BIP, and neither should be directly influencing the other. + +===Rationale=== + +What is the purpose of BIP comments? + +* Various BIPs have been adopted (the criteria required for "Final" Status) despite being considered generally inadvisable. Some presently regard BIPs as a "good idea" simply by virtue of them being assigned a BIP number. Due to the low barrier of entry for submission of new BIPs, it seems advisable for a way for reviewers to express their opinions on them in a way that is consumable to the public without needing to review the entire development discussion. + +Will BIP comments be censored or limited to particular participants/"experts"? + +* Participants should freely refrain from commenting outside of their area of knowledge or expertise. However, comments should not be censored, and participation should be open to the public. + +==BIP licensing== + +===Specification=== + +New BIPs may be accepted with the following licenses. Each new BIP must identify at least one acceptable license in its preamble. The License header in the preamble must be placed after the Created header. Each license must be referenced by their respective abbreviation given below. + +For example, a preamble might include the following License header: + + License: BSD-2-Clause + GNU-All-Permissive + +In this case, the BIP text is fully licensed under both the OSI-approved BSD 2-clause license as well as the GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of *either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. + +It is also possible to license source code differently from the BIP text. An optional License-Code header is placed after the License header. Again, each license must be referenced by their respective abbreviation given below. + +For example, a preamble specifying the optional License-Code header might look like: + + License: BSD-2-Clause + GNU-All-Permissive + License-Code: GPL-2.0+ + +In this case, the code in the BIP is not available under the BSD or All-Permissive licenses, but only under the terms of the GNU General Public License (GPL), version 2 or newer. +If the code were to be available under *only* version 2 exactly, the "+" symbol should be removed from the license abbreviation. +For a later version (eg, GPL 3.0), you would increase the version number (and retain or remove the "+" depending on intent). + + License-Code: GPL-2.0 # This refers to GPL v2.0 *only*, no later license versions are acceptable. + License-Code: GPL-2.0+ # This refers to GPL v2.0 *or later*. + License-Code: GPL-3.0 # This refers to GPL v3.0 *only*, no later license versions are acceptable. + License-Code: GPL-3.0+ # This refers to GPL v3.0 *or later*. + +In the event that the licensing for the text or code is too complicated to express with a simple list of alternatives, the list should instead be replaced with the single term "Complex". In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. + +BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable licenses *in addition to* at least one acceptable license. +In this case, only the acceptable license(s) should be listed in the License and License-Code headers. + +====Recommended licenses==== + +* BSD-2-Clause: [https://opensource.org/licenses/BSD-2-Clause OSI-approved BSD 2-clause license] +* BSD-3-Clause: [https://opensource.org/licenses/BSD-3-Clause OSI-approved BSD 3-clause license] +* CC0-1.0: [https://creativecommons.org/publicdomain/zero/1.0/ Creative Commons CC0 1.0 Universal] +* GNU-All-Permissive: [http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html GNU All-Permissive License] + +In addition, it is recommended that literal code included in the BIP be dual-licensed under the same license terms as the project it modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms as well as one of the above with the rest of the BIP text. + +====Not recommended, but acceptable licenses==== + +* Apache-2.0: [http://www.apache.org/licenses/LICENSE-2.0 Apache License, version 2.0] +* BSL-1.0: [http://www.boost.org/LICENSE_1_0.txt Boost Software License, version 1.0] +* CC-BY-4.0: [https://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International] +* CC-BY-SA-4.0: [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International] +* MIT: [https://opensource.org/licenses/MIT Expat/MIT/X11 license] +* AGPL-3.0+: [http://www.gnu.org/licenses/agpl-3.0.en.html GNU Affero General Public License (AGPL), version 3 or newer] +* FDL-1.3: [http://www.gnu.org/licenses/fdl-1.3.en.html GNU Free Documentation License, version 1.3] +* GPL-2.0+: [http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html GNU General Public License (GPL), version 2 or newer] +* LGPL-2.1+: [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html GNU Lesser General Public License (LGPL), version 2.1 or newer] + +====Not acceptable licenses==== + +All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal unless a later BIP extends this one to add them. +However, BIPs predating the acceptance of this BIP were allowed under other terms, and should use these abbreviation when no other license is granted: + +* OPL: [http://opencontent.org/openpub/ Open Publication License, version 1.0] +* PD: Released into the public domain + +===Rationale=== + +BIP 1 allowed the Open Publication License or releasing into the public domain; was this insufficient? + +* The OPL is generally regarded as obsolete, and not a license suitable for new publications. +* Many are unfamiliar with the OPL terms, and may just prefer to use the public domain rather than license under uncertain terms. +* The OPL license terms allowed for the author to prevent publication and derived works, which was widely considered inappropriate for Bitcoin standards. +* Public domain is not universally recognised as a legitimate action, thus it is inadvisable. + +Why are there software licenses included? + +* Some BIPs, especially consensus layer, may include literal code in the BIP itself which may not be available under the exact license terms of the BIP. +* Despite this, not all software licenses would be acceptable for content included in BIPs. + +Why is Public Domain no longer acceptable for new BIPs? + +* In some jurisdictions, public domain is not recognised as a legitimate legal action, leaving the BIP simply copyrighted with no redistribution or modification allowed at all. + +==Changes from BIP 1== + +* Acceptable licenses are entirely rechosen, allowing a wide variety of open licenses, while prohibiting the problematic older choices. +* Accepted Status has been renamed to Proposed. +* An implementation is now required (when applicable) before BIPs can proceed to Proposed Status. +* BIP Comments are newly introduced. +* The License preamble headers have been added. +* The Layer header is included from BIP 123. +* Non-image auxiliary files are permitted in the bip-XXXX subdirectory. +* Email addresses are now required for authors. +* The Post-History header may be provided as a link instead of a simple date. +* The Resolution header has been dropped, as it is not applicable to a decentralised system where no authority exists to make final decisions. + +==See Also== + +* [[bip-0001.mediawiki|BIP 1: BIP Purpose and Guidelines]] +* [[bip-0123.mediawiki|BIP 123: BIP Classification]] +* [https://tools.ietf.org/html/rfc7282 RFC 7282: On Consensus and Humming in the IETF] From 97744be8946eb04672e2469ff8032683de75b30a Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 16:17:07 -0400 Subject: [PATCH 008/153] Require proof of work before number assignment --- bip-update-process.md | 64 ++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 843c0c8872..8dadba2a8e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -72,26 +72,37 @@ research, or that an idea is guaranteed to be rejected based on prior discussion tests whether it is of interest to more people beside the champion. After establishing that the idea may be of interest to the Bitcoin community, the champion should work on drafting a BIP. +It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more +successful it tends to be. If in doubt, split your BIP into several well-focused ones. + ### Draft As the first draft is taking shape, the champion should present it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). This gives the champion a chance to collect initial feedback and address -broad concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they open a -pull request against their personal fork of the BIPs repository. After fleshing out the draft further and ensuring that -it is of high quality and properly formatted, the champion should open a pull request to the [BIPs -repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the formatting requirements specified below -and named with a working title of the form "bip-authorname-topicofproposal". The champion must not self-assign a number -to the BIP draft. - -Ideas that are on-topic, adhere to the formatting requirements, and have materially progressed beyond the ideation -phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin -projects working on adopting the proposal, or by the champion working for an extended period of time towards improving -the proposal based on the community feedback they gathered, the BIP will be assigned a number and the pull request will -be merged to the repository. While BIPs are author documents which must only meet certain minimum criteria, the BIP -editors will strive to minimize number assignments for BIPs that fail to garner the interest of the Bitcoin community -and will never progress to broad adoption across the Bitcoin ecosystem. -After the BIP is merged to the repository, its focus should no longer shift significantly, even while its content -continues to evolve in detail. +fundamental concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they +open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. +After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the champion should +open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the +formatting requirements specified below and named with a working title of the form "bip-authorname-topicofproposal". The +champion must not self-assign a number to the BIP draft. + +BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the +ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by +independent Bitcoin projects working on adopting the proposal, or by the champion working for an extended period of time +towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. +The BIP editors should delay number assignment when they perceive a BIP draft being met with comprehensive lack of +interest: number assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of +the Bitcoin community, there is no need to refer to it by a number. + +BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too +unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or when the proposed +feature’s specification is unclear or incomplete. Reviewers and BIP editors should provide guidance on how the draft may +be improved towards being ready. Pull requests that are proposing off-topic or unserious proposals, or have stopped +to make progress may be closed. + +When the BIP draft is complete, a BIP editor will label it as Standards Track, Informational, or Process, and merge it +to the BIPs repositry. After the BIP is merged to the repository, its focus should no longer shift significantly, even +while it may continue to evolve in detail. ### Proposed @@ -133,27 +144,6 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ==BIP workflow== -Vetting an idea publicly before going as far as writing a BIP is meant to save both the potential author and the wider community time. -Asking the Bitcoin community first if an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always do the trick). -It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Bitcoin is used. - -Once the champion has asked the Bitcoin community as to whether an idea has any chance of acceptance, a draft BIP should be presented to the [https://groups.google.com/g/bitcoindev Bitcoin development mailing list]. -This gives the author a chance to flesh out the draft BIP to make it properly formatted, of high quality, and to address additional concerns about the proposal. -Following a discussion, the proposal should be submitted to the [https://github.com/bitcoin/bips BIPs git repository] as a pull request. -This draft must be written in BIP style as described below, and named with an alias such as "bip-johndoe-infinitebitcoins" until an editor has assigned it a BIP number (authors MUST NOT self-assign BIP numbers). - -BIP authors are responsible for collecting community feedback on both the initial idea and the BIP before submitting it for review. However, wherever possible, long open-ended discussions on public mailing lists should be avoided. Strategies to keep the discussions efficient include: setting up a separate SIG mailing list for the topic, having the BIP author accept private comments in the early design phases, setting up a wiki page or git repository, etc. BIP authors should use their discretion here. - -It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more successful it tends to be. If in doubt, split your BIP into several well-focused ones. - -When the BIP draft is complete, a BIP editor will assign the BIP a number, label it as Standards Track, Informational, or Process, and merge the pull request to the BIPs git repository. -The BIP editors will not unreasonably reject a BIP. -Reasons for rejecting BIPs include duplication of effort, disregard for formatting rules, being too unfocused or too broad, being technically unsound, not providing proper motivation or addressing backwards compatibility, or not in keeping with the Bitcoin philosophy. -For a BIP to be accepted it must meet certain minimum criteria. -It must be a clear and complete description of the proposed enhancement. -The enhancement must represent a net improvement. -The proposed implementation, if applicable, must be solid and must not complicate the protocol unduly. - The BIP author may update the draft as necessary in the git repository. Updates to drafts should also be submitted by the author as pull requests. ===Transferring BIP Ownership=== From 9426c2e9f55d55ac9f2727c74c322ad0de46a712 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 16:44:28 -0400 Subject: [PATCH 009/153] Describe Proposed and Withdrawn --- bip-update-process.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 8dadba2a8e..0186e4fc4a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -100,22 +100,26 @@ feature’s specification is unclear or incomplete. Reviewers and BIP editors sh be improved towards being ready. Pull requests that are proposing off-topic or unserious proposals, or have stopped to make progress may be closed. -When the BIP draft is complete, a BIP editor will label it as Standards Track, Informational, or Process, and merge it -to the BIPs repositry. After the BIP is merged to the repository, its focus should no longer shift significantly, even -while it may continue to evolve in detail. +When the BIP draft is complete, a BIP editor will assign a BIP type (see below), and merge it to the BIPs repository. +After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the champion +may continue to update the draft as necessary in the git repository. Updates to drafts should also be submitted by the +author as pull requests. ### Proposed -When the champion is confident that their BIP is ready for adoption by the Bitcoin community, they may update the BIP’s -status to _PROPOSED_ to indicate that they are seeking implementation of the BIP. The specification in the BIP should be -largely settled and should only be adjusted in minor details that may come up as projects implement the BIP. +When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, and ready for +adoption by the Bitcoin community, they may update the BIP’s status to _PROPOSED_ to indicate that they recommend +adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is +solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details to +clarify ambiguities, fill-in omissions, or address other issues discovered as the BIP is adopted. +### Withdrawn -------------------- +BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _WITHDRAWN_ or vice versa. When a BIP +is labeled _WITHDRAWN_, the BIP champion indicates that they no longer pursue adoption of their proposal, have abandoned +work on it, or no longer recommend the proposed approach. -### Final -### Withdrawn ### Standards Track BIPs ### Process BIPs @@ -144,8 +148,6 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ==BIP workflow== -The BIP author may update the draft as necessary in the git repository. Updates to drafts should also be submitted by the author as pull requests. - ===Transferring BIP Ownership=== It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we'd like to retain the original author as a co-author of the transferred BIP, but that's really up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around a BIP, but if that's not possible, you can always submit a competing BIP. @@ -283,8 +285,6 @@ The typical paths of the status of BIPs are as follows: -Champions of a BIP may decide on their own to change the status between Draft, Deferred, or Withdrawn. -A BIP editor may also change the status to Deferred when no progress is being made on the BIP. A BIP may only change status from Draft (or Rejected) to Proposed, when the author deems it is complete, has a working implementation (where applicable), and has community plans to progress it to the Final status. From 613f1ff889db6dbad9335f9d37ba99eec44c756c Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 17:30:43 -0400 Subject: [PATCH 010/153] Clarify Proposed, describe Withdrawn, and retain Transferring Ownership --- bip-update-process.md | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 0186e4fc4a..7770466f4f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -36,6 +36,8 @@ BIPs represent a personal recommendations by BIP champions to the Bitcoin commun multiple implementations or even incorporated into the Bitcoin protocol. ### What should be documented in a BIP? + + ### Types #### Standards Track #### Informational @@ -113,20 +115,34 @@ adoption or implementation of the BIP. Where applicable, the champion must ensur solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details to clarify ambiguities, fill-in omissions, or address other issues discovered as the BIP is adopted. +As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily +discouraged. + ### Withdrawn BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _WITHDRAWN_ or vice versa. When a BIP -is labeled _WITHDRAWN_, the BIP champion indicates that they no longer pursue adoption of their proposal, have abandoned -work on it, or no longer recommend the proposed approach. +is labeled _WITHDRAWN_, the BIP champion indicates that they have abandoned work on it, no longer pursue adoption of +their proposal, or no longer recommend the proposed approach. +### Adoption of proposals +The BIPs repository does not track the sentiment on or adoption of proposals. After a BIP is advanced to _PROPOSED_, it +is up to the Bitcoin community to adopt, ignore, or repudiate a BIP. Individual Bitcoin projects may publish which BIPs +they implement. -### Standards Track BIPs -### Process BIPs +### Transferring BIP Ownership -### Informational BIPs +It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we would like to retain +the original author as a co-author of the transferred BIP, but that is really up to the original author. A good reason to +transfer ownership is because the original author no longer has the time or interest in updating it or following through +with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad +reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around +a BIP, but if that's not possible, you can always submit a competing BIP. + +If you are interested in assuming ownership of a BIP, send a message asking to take over, addressed to both the original +author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will +make a unilateral decision (it's not like such decisions can't be reversed :)). -### Transferring Ownership ## Licensing @@ -150,10 +166,6 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ===Transferring BIP Ownership=== -It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we'd like to retain the original author as a co-author of the transferred BIP, but that's really up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around a BIP, but if that's not possible, you can always submit a competing BIP. - -If you are interested in assuming ownership of a BIP, send a message asking to take over, addressed to both the original author and the BIP editors. If the original author doesn't respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :). - ===BIP Editors=== The current BIP editors are: From 59c9f121573d7656a4a77ed480605600ca7606df Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 17:31:37 -0400 Subject: [PATCH 011/153] Retain description of BIP Types --- bip-update-process.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7770466f4f..a72b19309a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -143,6 +143,21 @@ If you are interested in assuming ownership of a BIP, send a message asking to t author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). +## BIP types + +* A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the + network protocol, a change in block or transaction validity rules, or any change or addition that affects the + interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a + reference implementation. +* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or information to the Bitcoin + community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community + consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. +* A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process + BIPs are like Standards Track BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an + implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they + are more than recommendations, and users are typically not free to ignore them. Examples include procedures, + guidelines, changes to the decision-making process, and changes to the tools or environment used in Bitcoin + development. Any meta-BIP is also considered a Process BIP. ## Licensing @@ -281,14 +296,6 @@ BIPs may also have a Superseded-By header indicating that a BIP has been rendere BIPs may include auxiliary files such as diagrams. Auxiliary files should be included in a subdirectory for that BIP, or must be named BIP-XXXX-Y.ext, where "XXXX" is the BIP number, "Y" is a serial number (starting at 1), and "ext" is replaced by the actual file extension (e.g. "png"). -==BIP types== - -There are three kinds of BIP: - -* A Standards Track BIP describes any change that affects most or all Bitcoin implementations, such as a change to the network protocol, a change in block or transaction validity rules, or any change or addition that affects the interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a reference implementation. -* An Informational BIP describes a Bitcoin design issue, or provides general guidelines or information to the Bitcoin community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. -* A Process BIP describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process BIPs are like Standards Track BIPs but apply to areas other than the Bitcoin protocol itself. They may propose an implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Bitcoin development. Any meta-BIP is also considered a Process BIP. - ==BIP status field== ===Specification=== From 021465962c38c7c84d46ad52836ffc5cc5e2bdec Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 17:47:44 -0400 Subject: [PATCH 012/153] Minor improvements to process description --- bip-update-process.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index a72b19309a..85037ddfc0 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -99,13 +99,13 @@ the Bitcoin community, there is no need to refer to it by a number. BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or when the proposed feature’s specification is unclear or incomplete. Reviewers and BIP editors should provide guidance on how the draft may -be improved towards being ready. Pull requests that are proposing off-topic or unserious proposals, or have stopped -to make progress may be closed. +be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious proposals, or have +stopped to make progress may be closed. When the BIP draft is complete, a BIP editor will assign a BIP type (see below), and merge it to the BIPs repository. After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the champion -may continue to update the draft as necessary in the git repository. Updates to drafts should also be submitted by the -author as pull requests. +may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be +submitted as pull requests. ### Proposed From 4ba4e47e59dbca2efb2cfc95431d4d93011c4f97 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 17:48:20 -0400 Subject: [PATCH 013/153] Describe optional FINAL/ACTIVE status --- bip-update-process.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index 85037ddfc0..6941432338 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -118,6 +118,10 @@ clarify ambiguities, fill-in omissions, or address other issues discovered as th As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. +tk: Is there substantial value in keeping an ACTIVE/FINAL status around to indicate that a proposal was adopted and/or is +no longer subject to changes? If so, the transition from _PROPOSED_ to _ACTIVE_ may be proposed by any member of the +Bitcoin community either with consent of the BIP champion or convincing evidence. + ### Withdrawn BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _WITHDRAWN_ or vice versa. When a BIP From f076ade4c81752b1e7c1149c2398fef1b9b3b721 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 17 Jun 2024 17:48:43 -0400 Subject: [PATCH 014/153] =?UTF-8?q?Start=20tracking=20changes=20compared?= =?UTF-8?q?=20to=20BIP=E2=80=AF2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index 6941432338..8bf7c8ff0d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -167,6 +167,9 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). ## Changes from BIP-2 +- The statuses: Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset +- Many judgment calls required from BIP Editors were either reassigned to the Bitcoin community or the BIP champion + ## Copyright This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. From ba40daa4445164261b861088e8ea41c4c8c1d580 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 14:50:47 -0400 Subject: [PATCH 015/153] Drop "changes to environment and tools" from process examples --- bip-update-process.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 8bf7c8ff0d..3beba17d06 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -160,8 +160,7 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). BIPs are like Standards Track BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, - guidelines, changes to the decision-making process, and changes to the tools or environment used in Bitcoin - development. Any meta-BIP is also considered a Process BIP. + guidelines, and changes to the decision-making process. Any meta-BIP is also considered a Process BIP. ## Licensing From affea61444d9c8513dd14b5479362b5de67d5327 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 14:54:47 -0400 Subject: [PATCH 016/153] State that adoption tracking is out of scope --- bip-update-process.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index 3beba17d06..9e810ae85d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -24,6 +24,7 @@ Bitcoin community. The BIPs repository serves as a highly visible platform to put forward mature proposals. The repository’s visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The repository’s versioning of the text-based BIPs retains the historical record of each proposal. +The BIPs repository does not track acceptance, adoption, or community consensus on BIPs. This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. @@ -168,6 +169,7 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). - The statuses: Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset - Many judgment calls required from BIP Editors were either reassigned to the Bitcoin community or the BIP champion +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository ## Copyright From f23cf9d583bc7322f43b98e80b39bd3904ed4c20 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 15:12:52 -0400 Subject: [PATCH 017/153] Inherit initial BIP Editors section from BIP-2 --- bip-update-process.md | 73 +++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 9e810ae85d..85ae0a6aa7 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -165,71 +165,68 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). ## Licensing -## Changes from BIP-2 - -- The statuses: Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset -- Many judgment calls required from BIP Editors were either reassigned to the Bitcoin community or the BIP champion -- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - -## Copyright - -This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. - -## Related Work - -- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) -- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - - -------------------------- -------------------------- -------------------------- - -==BIP workflow== - -===Transferring BIP Ownership=== - -===BIP Editors=== +## BIP Editors The current BIP editors are: -* Bryan Bishop ([[mailto:kanzure@gmail.com|kanzure@gmail.com]]) -* Jon Atack ([[mailto:jon@atack.com|jon@atack.com]]) -* Luke Dashjr ([[mailto:luke_bipeditor@dashjr.org|luke_bipeditor@dashjr.org]]) -* Mark "Murch" Erhardt ([[mailto:murch@murch.one|murch@murch.one]]) -* Olaoluwa Osuntokun ([[mailto:laolu32@gmail.com|laolu32@gmail.com]]) -* Ruben Somsen ([[mailto:rsomsen@gmail.com|rsomsen@gmail.com]]) +* Bryan Bishop ([kanzure@gmail.com](mailto:kanzure@gmail.com)) +* Jon Atack ([jon@atack.com](mailto:jon@atack.com)) +* Luke Dashjr ([luke_bipeditor@dashjr.org](mailto:luke_bipeditor@dashjr.org)) +* Mark "Murch" Erhardt ([murch@murch.one](mailto:murch@murch.one)) +* Olaoluwa Osuntokun ([laolu32@gmail.com](mailto:laolu32@gmail.com)) +* Ruben Somsen ([rsomsen@gmail.com](mailto:rsomsen@gmail.com)) -===BIP Editor Responsibilities & Workflow=== +### BIP Editor Responsibilities & Workflow The BIP editors subscribe to the Bitcoin development mailing list. Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. -For each new BIP that comes in an editor does the following: +For each new BIP draft that comes in, an editor does the following: -* Read the BIP to check if it is ready: sound and complete. The ideas must make technical sense, even if they don't seem likely to be accepted. +* Read the BIP to check if it is ready: sound and complete. The idea must make technical sense, even if it don't seem likely to be accepted. * The title should accurately describe the content. * The BIP draft must have been sent to the Bitcoin development mailing list for discussion. * Motivation and backward compatibility (when applicable) must be addressed. * The defined Layer header must be correctly assigned for the given specification. * Licensing terms must be acceptable for BIPs. -If the BIP isn't ready, the editor will send it back to the author for revision, with specific instructions. +If the BIP isn't ready, the editor will send it back to the champion for revision, with specific instructions. -Once the BIP is ready for the repository it should be submitted as a "pull request" to the [https://github.com/bitcoin/bips BIPs git repository] where it may get further feedback. +Once the BIP is ready for the repository it should be submitted as a "pull request" to the [BIPs git repository](https://github.com/bitcoin/bips) where it may get further feedback. The BIP editor will: * Assign a BIP number in the pull request. - * Merge the pull request when it is ready. - * List the BIP in [[README.mediawiki]] The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. +## Changes from BIP-2 + +- The statuses: Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset +- Many judgment calls required from BIP Editors were either reassigned to the Bitcoin community or the BIP champion +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository + +## Copyright + +This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. + +## Related Work + +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) + + +------------------------- +------------------------- +------------------------- + +==BIP workflow== + + ==BIP format and structure== ===Specification=== From 556e2d4ef7dfeba025df666cd6cdfbe385784347 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 15:21:43 -0400 Subject: [PATCH 018/153] Move BIP Types to top, reiterate adoption --- bip-update-process.md | 49 ++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 85ae0a6aa7..7f85965813 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -38,19 +38,20 @@ multiple implementations or even incorporated into the Bitcoin protocol. ### What should be documented in a BIP? +### BIP types -### Types -#### Standards Track -#### Informational -#### Process - -## Editors -### Responsibilities - -## Format -### Specification -#### BIP Header Preamble -#### Auxiliary Files +* A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the + network protocol, a change in block or transaction validity rules, or any change or addition that affects the + interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a + reference implementation. +* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or information to the Bitcoin + community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community + consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. +* A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process + BIPs are like Standards Track BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an + implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they + are more than recommendations, and users are typically not free to ignore them. Examples include procedures, + guidelines, and changes to the decision-making process. Any meta-BIP is also considered a Process BIP. ## Workflow @@ -131,9 +132,9 @@ their proposal, or no longer recommend the proposed approach. ### Adoption of proposals -The BIPs repository does not track the sentiment on or adoption of proposals. After a BIP is advanced to _PROPOSED_, it -is up to the Bitcoin community to adopt, ignore, or repudiate a BIP. Individual Bitcoin projects may publish which BIPs -they implement. +The BIPs repository does not track the sentiment on or adoption of proposals, and individual BIPs do not take statuses +based on their adoption or deployment. After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to +adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. ### Transferring BIP Ownership @@ -148,20 +149,10 @@ If you are interested in assuming ownership of a BIP, send a message asking to t author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). -## BIP types - -* A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the - network protocol, a change in block or transaction validity rules, or any change or addition that affects the - interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a - reference implementation. -* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or information to the Bitcoin - community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community - consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. -* A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process - BIPs are like Standards Track BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an - implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they - are more than recommendations, and users are typically not free to ignore them. Examples include procedures, - guidelines, and changes to the decision-making process. Any meta-BIP is also considered a Process BIP. +## Format +### Specification +#### BIP Header Preamble +#### Auxiliary Files ## Licensing From 598848b0a57cdcb26c9499f70b77c2c04d012127 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 16:55:51 -0400 Subject: [PATCH 019/153] Update responsibilities of BIP editors --- bip-update-process.md | 46 +++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7f85965813..650a42516b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -169,36 +169,52 @@ The current BIP editors are: ### BIP Editor Responsibilities & Workflow -The BIP editors subscribe to the Bitcoin development mailing list. +The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs +repository](https://github.com/bitcoin/bips). Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. -For each new BIP draft that comes in, an editor does the following: +When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard +to: -* Read the BIP to check if it is ready: sound and complete. The idea must make technical sense, even if it don't seem likely to be accepted. -* The title should accurately describe the content. -* The BIP draft must have been sent to the Bitcoin development mailing list for discussion. -* Motivation and backward compatibility (when applicable) must be addressed. -* The defined Layer header must be correctly assigned for the given specification. -* Licensing terms must be acceptable for BIPs. +* Novelty of the idea +* Viability, utility, and relevance of the concept +* Readiness of the draft +* On-topic for the Bitcoin community -If the BIP isn't ready, the editor will send it back to the champion for revision, with specific instructions. +If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. +Once the BIP is ready it should be submitted as a "pull request" to the [BIPs +repository](https://github.com/bitcoin/bips) where it may get further feedback. -Once the BIP is ready for the repository it should be submitted as a "pull request" to the [BIPs git repository](https://github.com/bitcoin/bips) where it may get further feedback. +For each new BIP draft pull request that comes in, an editor checks the following: -The BIP editor will: +* Draft has been previously discussed on the Bitcoin development mailing +* Title accurately describes the content +* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation +* Document is properly formatted +* Licensing terms are acceptable +* Motivation, rationale, and backward compatibility have been addressed (where applicable) +* The defined Layer header must be correctly assigned for the given specification +* The BIP is ready: it is complete, comprehensible, and technically feasible + +Editors do NOT evaluate whether the proposal is likely to be adopted. + +A BIP editor will: * Assign a BIP number in the pull request. * Merge the pull request when it is ready. * List the BIP in [[README.mediawiki]] -The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. +The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP +changes, and update BIP headers as appropriate. -BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. +BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as +correcting misspellings, fixing broken links, etc. ## Changes from BIP-2 -- The statuses: Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset -- Many judgment calls required from BIP Editors were either reassigned to the Bitcoin community or the BIP champion +- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, + PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. +- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository ## Copyright From 96df5fe3148642372f2fb9b28da40a74d9951632 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 16:56:08 -0400 Subject: [PATCH 020/153] Define scope of the BIPs repository --- bip-update-process.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 650a42516b..a4737c016d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -33,11 +33,19 @@ BIP process. ### What is the significance of BIPs? -BIPs represent a personal recommendations by BIP champions to the Bitcoin community. Some BIPs may be adopted by one or +Individual BIPs do not represent Bitcoin community consensus or a general recommendation for implementation. A BIP +represents a personal recommendations by the BIP champions to the Bitcoin community. Some BIPs may be adopted by one or multiple implementations or even incorporated into the Bitcoin protocol. ### What should be documented in a BIP? +The BIPs repository collects any proposals relevant to the Bitcoin community. + +OR: + +The BIPs repository is focused on information that supports the Bitcoin currency.^[Projects that astroturf on the +Bitcoin network to store data, bootstrap their own consensus, or facilitate another currency are not on-topic.] + ### BIP types * A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the From ca32adb064c22e3e2c215144fada38149a718c87 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 20 Jun 2024 17:30:16 -0400 Subject: [PATCH 021/153] Add image for Status transitions --- bip-update-process.md | 2 ++ bip-update-process/status-transitions.png | Bin 0 -> 43273 bytes 2 files changed, 2 insertions(+) create mode 100644 bip-update-process/status-transitions.png diff --git a/bip-update-process.md b/bip-update-process.md index a4737c016d..66102aebe1 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -67,6 +67,8 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. +![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") + ### Ideation After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader diff --git a/bip-update-process/status-transitions.png b/bip-update-process/status-transitions.png new file mode 100644 index 0000000000000000000000000000000000000000..50798cdb9a12f2966850c0710382c162b2e61b66 GIT binary patch literal 43273 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 Date: Thu, 20 Jun 2024 17:48:14 -0400 Subject: [PATCH 022/153] Add second variant for transition diagram --- bip-update-process.md | 6 ++++++ .../status-transitions-with-final.png | Bin 0 -> 53984 bytes 2 files changed, 6 insertions(+) create mode 100644 bip-update-process/status-transitions-with-final.png diff --git a/bip-update-process.md b/bip-update-process.md index 66102aebe1..b22cd23453 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -67,8 +67,14 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. +~If PROPOSED is the last status:~ + ![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") +~If FINAL is the last status:~ + +![Status transitions](bip-update-process/status-transitions-with-final.png "Status Transitions in the BIP Workflow") + ### Ideation After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader diff --git a/bip-update-process/status-transitions-with-final.png b/bip-update-process/status-transitions-with-final.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab333d605b7d6f2797b6807343d46784ba92e9f GIT binary patch literal 53984 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 Date: Fri, 21 Jun 2024 10:27:46 -0400 Subject: [PATCH 023/153] Add Revisions as an optional topic --- bip-update-process.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index b22cd23453..eb1f690c3a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -165,6 +165,11 @@ If you are interested in assuming ownership of a BIP, send a message asking to t author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). +### Revisions + +tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to +the protocol evolving over time. + ## Format ### Specification #### BIP Header Preamble From 88e68c0929e22d275e8925f438b54885c16830f6 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 11:16:57 -0400 Subject: [PATCH 024/153] Note that Proposed overloads with Proposal --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index eb1f690c3a..9db411a1ef 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -125,7 +125,7 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be submitted as pull requests. -### Proposed +### Proposed^[Could be Review/Candidate instead to avoid overloading "proposed"] When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, and ready for adoption by the Bitcoin community, they may update the BIP’s status to _PROPOSED_ to indicate that they recommend From 2ffcb8d0aca03307988a3d5f70969fc6fed0fbed Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 11:23:15 -0400 Subject: [PATCH 025/153] Track open issues --- bip-update-process.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 9db411a1ef..157defb8f5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -10,6 +10,12 @@ Replaces: 1, 2 +## More input requested on following open questions + +- Should we have a Final and/or Active Status? +- Should we introduce versioning/revisions to (final) BIPs? +- Does it make sense to go from Proposed to Withdrawn/Obsolete? Who would decide such a transition and how? + ## Abstract A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, @@ -136,7 +142,9 @@ clarify ambiguities, fill-in omissions, or address other issues discovered as th As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -tk: Is there substantial value in keeping an ACTIVE/FINAL status around to indicate that a proposal was adopted and/or is +### tk: Active/Final + +Is there substantial value in keeping an ACTIVE/FINAL status around to indicate that a proposal was adopted and/or is no longer subject to changes? If so, the transition from _PROPOSED_ to _ACTIVE_ may be proposed by any member of the Bitcoin community either with consent of the BIP champion or convincing evidence. From 851858c1be21e6322a4d6c373c6db0c7859ddac8 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 13:29:34 -0400 Subject: [PATCH 026/153] Inherit formatting spec from BIP-2 as a start --- bip-update-process.md | 217 +++++++++++++++++++++--------------------- 1 file changed, 109 insertions(+), 108 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 157defb8f5..773ac0b18a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -73,11 +73,11 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -~If PROPOSED is the last status:~ +If PROPOSED is the last status: ![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") -~If FINAL is the last status:~ +If FINAL is the last status: ![Status transitions](bip-update-process/status-transitions-with-final.png "Status Transitions in the BIP Workflow") @@ -178,116 +178,35 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to the protocol evolving over time. -## Format -### Specification -#### BIP Header Preamble -#### Auxiliary Files - -## Licensing - -## BIP Editors - -The current BIP editors are: - -* Bryan Bishop ([kanzure@gmail.com](mailto:kanzure@gmail.com)) -* Jon Atack ([jon@atack.com](mailto:jon@atack.com)) -* Luke Dashjr ([luke_bipeditor@dashjr.org](mailto:luke_bipeditor@dashjr.org)) -* Mark "Murch" Erhardt ([murch@murch.one](mailto:murch@murch.one)) -* Olaoluwa Osuntokun ([laolu32@gmail.com](mailto:laolu32@gmail.com)) -* Ruben Somsen ([rsomsen@gmail.com](mailto:rsomsen@gmail.com)) - -### BIP Editor Responsibilities & Workflow - -The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs -repository](https://github.com/bitcoin/bips). -Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. - -When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard -to: - -* Novelty of the idea -* Viability, utility, and relevance of the concept -* Readiness of the draft -* On-topic for the Bitcoin community - -If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. -Once the BIP is ready it should be submitted as a "pull request" to the [BIPs -repository](https://github.com/bitcoin/bips) where it may get further feedback. - -For each new BIP draft pull request that comes in, an editor checks the following: - -* Draft has been previously discussed on the Bitcoin development mailing -* Title accurately describes the content -* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation -* Document is properly formatted -* Licensing terms are acceptable -* Motivation, rationale, and backward compatibility have been addressed (where applicable) -* The defined Layer header must be correctly assigned for the given specification -* The BIP is ready: it is complete, comprehensible, and technically feasible - -Editors do NOT evaluate whether the proposal is likely to be adopted. - -A BIP editor will: - -* Assign a BIP number in the pull request. -* Merge the pull request when it is ready. -* List the BIP in [[README.mediawiki]] - -The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP -changes, and update BIP headers as appropriate. +## BIP format and structure -BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as -correcting misspellings, fixing broken links, etc. - -## Changes from BIP-2 - -- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. -- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion -- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - -## Copyright - -This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. - -## Related Work - -- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) -- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - - -------------------------- -------------------------- -------------------------- - -==BIP workflow== - - -==BIP format and structure== - -===Specification=== +### Specification BIPs should be written in mediawiki or markdown format. Each BIP should have the following parts: * Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). - * Abstract -- A short (~200 word) description of the technical issue being addressed. - +* Motivation -- The motivation is critical for BIPs that want to change the Bitcoin protocol. It should clearly explain + why the existing protocol is inadequate to address the problem that the BIP solves. +* Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular + design decisions were made. It should describe alternate designs that were considered and related work. The rationale + should provide evidence of consensus within the community and discuss important objections or concerns raised during + discussion. +* Specification -- The technical specification should describe the syntax and semantics of any new feature. The + specification should be detailed enough to allow competing, interoperable implementations for any of the current + Bitcoin platforms. +* Backwards compatibility -- All BIPs that introduce backwards incompatibilities must include a section describing these + incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these + incompatibilities. +* Reference implementation -- The reference implementation must be completed before any BIP is given status "Final", but + it need not be completed before the BIP is accepted. It is better to finish the specification and rationale first and + reach consensus on it before writing code. The final implementation must include test code and documentation + appropriate for the Bitcoin protocol. * Copyright -- The BIP must be explicitly licensed under acceptable copyright terms ([[#BIP licensing|see below]]). -* Specification -- The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Bitcoin platforms. - -* Motivation -- The motivation is critical for BIPs that want to change the Bitcoin protocol. It should clearly explain why the existing protocol is inadequate to address the problem that the BIP solves. - -* Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale should provide evidence of consensus within the community and discuss important objections or concerns raised during discussion. - -* Backwards compatibility -- All BIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BIP must explain how the author proposes to deal with these incompatibilities. - -* Reference implementation -- The reference implementation must be completed before any BIP is given status "Final", but it need not be completed before the BIP is accepted. It is better to finish the specification and rationale first and reach consensus on it before writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. - -====BIP header preamble==== +#### BIP header preamble Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers marked with "*" are optional and are described below. All other headers are required. @@ -295,7 +214,7 @@ Each BIP must begin with an RFC 822 style header preamble. The headers must appe BIP: * Layer: Title: - Author: + Author: * Discussions-To: * Comments-Summary:

Comments-URI: @@ -333,13 +252,13 @@ BIPs may have a Requires header, indicating the BIP numbers that this BIP depend BIPs may also have a Superseded-By header indicating that a BIP has been rendered obsolete by a later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a Replaces header containing the number of the BIP that it rendered obsolete. -====Auxiliary Files==== +#### Auxiliary Files BIPs may include auxiliary files such as diagrams. Auxiliary files should be included in a subdirectory for that BIP, or must be named BIP-XXXX-Y.ext, where "XXXX" is the BIP number, "Y" is a serial number (starting at 1), and "ext" is replaced by the actual file extension (e.g. "png"). -==BIP status field== +## BIP status field -===Specification=== +### Specification The typical paths of the status of BIPs are as follows: @@ -356,7 +275,7 @@ When a Final BIP is no longer relevant, its status may be changed to Replaced or A process BIP may change status from Draft to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be given in such circumstances. -====Progression to Final status==== +#### Progression to Final status A soft-fork BIP strictly requires a clear miner majority expressed by blockchain voting (eg, using BIP 9). In addition, if the economy seems willing to make a "no confidence" hard-fork (such as a change in proof-of-work algorithm), the soft-fork does not become Final for as long as such a hard-fork might have majority support, or at most three months. Soft-fork BIPs may also set additional requirements for their adoption. Because of the possibility of changes to miner dynamics, especially in light of delegated voting (mining pools), it is highly recommended that a supermajority vote around 95% be required by the BIP itself, unless rationale is given for a lower threshold. @@ -370,7 +289,7 @@ Software authors are encouraged to publish summaries of what BIPs their software These criteria are considered objective ways to observe the de facto adoption of the BIP, and are not to be used as reasons to oppose or reject a BIP. Should a BIP become actually and unambiguously adopted despite not meeting the criteria outlined here, it should still be updated to Final status. -===Rationale=== +### Rationale Why is this necessary at all? @@ -421,6 +340,88 @@ What if a BIP is proposed that only makes sense for a single specific project? * The BIP process exists for standardisation between independent projects. If something only affects one project, it should be done through that project's own internal processes, and never be proposed as a BIP in the first place. +## Format +### Specification +#### BIP Header Preamble +#### Auxiliary Files + +## Licensing + +## BIP Editors + +The current BIP editors are: + +* Bryan Bishop ([kanzure@gmail.com](mailto:kanzure@gmail.com)) +* Jon Atack ([jon@atack.com](mailto:jon@atack.com)) +* Luke Dashjr ([luke_bipeditor@dashjr.org](mailto:luke_bipeditor@dashjr.org)) +* Mark "Murch" Erhardt ([murch@murch.one](mailto:murch@murch.one)) +* Olaoluwa Osuntokun ([laolu32@gmail.com](mailto:laolu32@gmail.com)) +* Ruben Somsen ([rsomsen@gmail.com](mailto:rsomsen@gmail.com)) + +### BIP Editor Responsibilities & Workflow + +The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs +repository](https://github.com/bitcoin/bips). +Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. + +When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard +to: + +* Novelty of the idea +* Viability, utility, and relevance of the concept +* Readiness of the draft +* On-topic for the Bitcoin community + +If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. +Once the BIP is ready it should be submitted as a "pull request" to the [BIPs +repository](https://github.com/bitcoin/bips) where it may get further feedback. + +For each new BIP draft pull request that comes in, an editor checks the following: + +* Draft has been previously discussed on the Bitcoin development mailing +* Title accurately describes the content +* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation +* Document is properly formatted +* Licensing terms are acceptable +* Motivation, rationale, and backward compatibility have been addressed (where applicable) +* The defined Layer header must be correctly assigned for the given specification +* The BIP is ready: it is complete, comprehensible, and technically feasible + +Editors do NOT evaluate whether the proposal is likely to be adopted. + +A BIP editor will: + +* Assign a BIP number in the pull request. +* Merge the pull request when it is ready. +* List the BIP in [[README.mediawiki]] + +The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP +changes, and update BIP headers as appropriate. + +BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as +correcting misspellings, fixing broken links, etc. + +## Changes from BIP-2 + +- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, + PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. +- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository + +## Copyright + +This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. + +## Related Work + +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) + + +------------------------- +------------------------- +------------------------- + ==BIP comments== ===Specification=== From 10e23f58be8cbb1692866dbf9836e70089b658b4 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 13:57:16 -0400 Subject: [PATCH 027/153] Reword BIP section descriptions --- bip-update-process.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 773ac0b18a..014be97fd9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -188,27 +188,30 @@ Each BIP should have the following parts: * Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). * Abstract -- A short (~200 word) description of the technical issue being addressed. -* Motivation -- The motivation is critical for BIPs that want to change the Bitcoin protocol. It should clearly explain - why the existing protocol is inadequate to address the problem that the BIP solves. +* Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the + existing situation is inadequate to address the problem that the BIP solves. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale - should provide evidence of consensus within the community and discuss important objections or concerns raised during - discussion. + should address important objections or concerns raised during discussion. * Specification -- The technical specification should describe the syntax and semantics of any new feature. The - specification should be detailed enough to allow competing, interoperable implementations for any of the current - Bitcoin platforms. -* Backwards compatibility -- All BIPs that introduce backwards incompatibilities must include a section describing these + specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. +* Backwards compatibility -- BIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these incompatibilities. -* Reference implementation -- The reference implementation must be completed before any BIP is given status "Final", but - it need not be completed before the BIP is accepted. It is better to finish the specification and rationale first and - reach consensus on it before writing code. The final implementation must include test code and documentation - appropriate for the Bitcoin protocol. -* Copyright -- The BIP must be explicitly licensed under acceptable copyright terms ([[#BIP licensing|see below]]). +* Reference implementation -- The reference implementation must be completed before [tk: will we have a final status?] + any BIP is given status "Final", but it need not be completed before the BIP is [tk: we do not have an accepted + status] accepted. It is better to finish the specification and rationale first and reach consensus on it before + writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. +* Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets +* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]) [tk: update license]. + +Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its +topic has been sufficiently addressed. #### BIP header preamble -Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers marked with "*" are optional and are described below. All other headers are required. +Each BIP must begin with an RFC 2822 style header preamble. The headers must appear in the following order. Headers +marked with "\*" are optional and are described below. All other headers are required.
   BIP: 

From 7ce39f980ecac0a57e2103bf62cc857d51fbb124 Mon Sep 17 00:00:00 2001
From: Murch 
Date: Fri, 21 Jun 2024 14:09:25 -0400
Subject: [PATCH 028/153] Reword preamble instructions

---
 bip-update-process.md | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/bip-update-process.md b/bip-update-process.md
index 014be97fd9..7cdb7f9fc5 100644
--- a/bip-update-process.md
+++ b/bip-update-process.md
@@ -214,23 +214,19 @@ Each BIP must begin with an RFC 2822 style header preamble. The headers must app
 marked with "\*" are optional and are described below. All other headers are required.
 
 
-  BIP: 
-* Layer: 
-  Title: 
-  Author: 
-* Discussions-To: 
-* Comments-Summary: 
-  Comments-URI: 
-  Status: 
-  Type: 
-  Created: 
-  License: 
-* License-Code: 
-* Post-History: 
-* Requires: 
-* Replaces: 
-* Superseded-By: 
+  BIP: \
+* Layer: \
+  Title: \
+  Author: \
+  Status: \
+  Type: \
+  Created: \
+  License: \
+* License-Code: \
+* Post-History: \
+* Requires: \
+* Replaces: \
+* Superseded-By: \
 
The Layer header (only for Standards Track BIPs) documents which layer of Bitcoin the BIP applies to. From 896b4ec9d706546a20f738a515ee2aea85ffac65 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 14:24:47 -0400 Subject: [PATCH 029/153] Rename Author header to Champions header Drop "real" name requirement --- bip-update-process.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7cdb7f9fc5..71cf90506b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -217,7 +217,7 @@ marked with "\*" are optional and are described below. All other headers are req BIP: \ * Layer: \ Title: \ - Author: \ + Champion: \ Status: \ Type: \ Created: \ @@ -229,15 +229,21 @@ marked with "\*" are optional and are described below. All other headers are req * Superseded-By: \
-The Layer header (only for Standards Track BIPs) documents which layer of Bitcoin the BIP applies to. -See [[bip-0123.mediawiki|BIP 123]] for definitions of the various BIP layers. Activation of this BIP implies activation of BIP 123. +BIP +: BIP number, or "?" before a number was assigned. Numbers are assigned by BIP Editors and Champions must not +self-assign numbers. -The Author header lists the names and email addresses of all the authors/owners of the BIP. -The format of the Author header value must be +Layer +: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for +definitions of the various BIP layers. + +Champions +: The champions'''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner.. header lists the names and email addresses of the current owner(s) of the BIP which may or may not be the original authors of the BIP. +The format of the champion header values must be Random J. User -If there are multiple authors, each should be on a separate line following RFC 2822 continuation line conventions. +If there are multiple champions, each should be on a separate line following RFC 2822 continuation line conventions. While a BIP is in private discussions (usually during the initial Draft phase), a Discussions-To header will indicate the mailing list or URL where the BIP is being discussed. No Discussions-To header is necessary if the BIP is being discussed privately with the author, or on the bitcoin email mailing lists. From 3916387c308f48003a828115ab1ada121377e94d Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 14:32:35 -0400 Subject: [PATCH 030/153] Test whether footnotes via ref work --- bip-update-process.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 71cf90506b..f68bdbd0ce 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -238,7 +238,7 @@ Layer definitions of the various BIP layers. Champions -: The champions'''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner.. header lists the names and email addresses of the current owner(s) of the BIP which may or may not be the original authors of the BIP. +: The champions[champ] header lists the names and email addresses of the current owner(s) of the BIP which may or may not be the original authors of the BIP. The format of the champion header values must be Random J. User @@ -417,7 +417,11 @@ correcting misspellings, fixing broken links, etc. This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. -## Related Work +## Footnotes + +### References + +[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) From 5d50bb167c77f7f593268b761db561fbc2b67f63 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 15:08:37 -0400 Subject: [PATCH 031/153] Update preamble header descriptions --- bip-update-process.md | 102 +++++++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 46 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f68bdbd0ce..330923ed92 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -1,14 +1,14 @@ -
-  BIP: ?
-  Title: Updated BIP Process
-  Author: Murch 
-  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Process
-  Status: Draft
-  Type: Process
-  Created: 2024-05-13
-  License: CC0-1.0
-  Replaces: 1, 2
-
+``` +BIP: ? +Title: Updated BIP Process +Author: Murch +Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Process +Status: Draft +Type: Process +Created: 2024-05-13 +License: CC0-1.0 +Replaces: 2 +``` ## More input requested on following open questions @@ -210,56 +210,64 @@ topic has been sufficiently addressed. #### BIP header preamble -Each BIP must begin with an RFC 2822 style header preamble. The headers must appear in the following order. Headers +Each BIP must begin with a header preamble. The headers must appear in the following order. Headers marked with "\*" are optional and are described below. All other headers are required. -
-  BIP: \
-* Layer: \
-  Title: \
-  Champion: \
-  Status: \
-  Type: \
-  Created: \
-  License: \
-* License-Code: \
-* Post-History: \
-* Requires: \
-* Replaces: \
-* Superseded-By: \
-
- -BIP -: BIP number, or "?" before a number was assigned. Numbers are assigned by BIP Editors and Champions must not +``` + BIP: +* Layer: + Title: + Champion: +* Discussions-To: + Status: + Type: + Created: + License: +* License-Code: +* Post-History: +* Requires: +* Replaces: +* Superseded-By: +``` + +__BIP__: BIP number, or "?" before a number was assigned. Numbers are assigned by BIP Editors and Champions must not self-assign numbers. -Layer -: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for +__Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -Champions -: The champions[champ] header lists the names and email addresses of the current owner(s) of the BIP which may or may not be the original authors of the BIP. -The format of the champion header values must be +__Champions__: The champions header lists the names and email addresses of the current owner(s) of the BIP. This may or +may not be the original authors of the BIP. The format of each champion header value must be - Random J. User + Random J. User -If there are multiple champions, each should be on a separate line following RFC 2822 continuation line conventions. +If there are multiple champions, each should be on a separate line following [RFC +2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions [tk: what is the convention?]. -While a BIP is in private discussions (usually during the initial Draft phase), a Discussions-To header will indicate the mailing list or URL where the BIP is being discussed. No Discussions-To header is necessary if the BIP is being discussed privately with the author, or on the bitcoin email mailing lists. +__Discussions-To__: While a BIP is in private discussions (usually during the initial Draft phase), a Discussions-To +header will indicate the mailing list or URL where the BIP is being discussed. No Discussions-To header is necessary if +the BIP is being discussed privately with the author, or on the bitcoin email mailing lists. -The Type header specifies the type of BIP: Standards Track, Informational, or Process. +__Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. -The Created header records the date that the BIP was assigned a number, while Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. -Dates should be in yyyy-mm-dd format, e.g. 2001-08-14. -Post-History is permitted to be a link to a specific thread in a mailing list archive. +__Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that +date be?] -BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. +__Post-History__: Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates +should be in yyyy-mm-dd format, e.g. 2001-08-14. Post-History is permitted to be a link to a specific thread in a +mailing list archive. -BIPs may also have a Superseded-By header indicating that a BIP has been rendered obsolete by a later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a Replaces header containing the number of the BIP that it rendered obsolete. +__Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. + +__Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that a BIP has been rendered obsolete by a +later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a +Replaces header containing the number of the BIP that it rendered obsolete. #### Auxiliary Files -BIPs may include auxiliary files such as diagrams. Auxiliary files should be included in a subdirectory for that BIP, or must be named BIP-XXXX-Y.ext, where "XXXX" is the BIP number, "Y" is a serial number (starting at 1), and "ext" is replaced by the actual file extension (e.g. "png"). +BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named +`bip-XXXX`, where "XXXX" is the BIP number. The file names in the subdirectory do not need to adhere to a specific +convention. ## BIP status field @@ -412,6 +420,8 @@ correcting misspellings, fixing broken links, etc. PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. - Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository +- Layer header is no longer restricted to Standards Track +- Auxiliary files are only permitted in the corresponding BIP’s subdirectory ## Copyright @@ -421,7 +431,7 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ### References -[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. +[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) From 2d2d4f1999fe85e3c32e5e8a2d5bf7c622cd4514 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 15:42:15 -0400 Subject: [PATCH 032/153] Drop Discussions-To header --- bip-update-process.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 330923ed92..3575731e33 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -210,15 +210,14 @@ topic has been sufficiently addressed. #### BIP header preamble -Each BIP must begin with a header preamble. The headers must appear in the following order. Headers -marked with "\*" are optional and are described below. All other headers are required. +Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers +marked with "\*" are optional. All other headers are required. ``` BIP: * Layer: Title: Champion: -* Discussions-To: Status: Type: Created: @@ -230,13 +229,13 @@ marked with "\*" are optional and are described below. All other headers are req * Superseded-By: ``` -__BIP__: BIP number, or "?" before a number was assigned. Numbers are assigned by BIP Editors and Champions must not -self-assign numbers. +__BIP__: BIP number, or "?" before a number was assigned. Champions must not self-assign numbers. Numbers are assigned +by BIP Editors. __Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Champions__: The champions header lists the names and email addresses of the current owner(s) of the BIP. This may or +__Champions__: The champions header lists the names and email addresses of the current owners of the BIP. This may or may not be the original authors of the BIP. The format of each champion header value must be Random J. User @@ -244,10 +243,6 @@ may not be the original authors of the BIP. The format of each champion header v If there are multiple champions, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions [tk: what is the convention?]. -__Discussions-To__: While a BIP is in private discussions (usually during the initial Draft phase), a Discussions-To -header will indicate the mailing list or URL where the BIP is being discussed. No Discussions-To header is necessary if -the BIP is being discussed privately with the author, or on the bitcoin email mailing lists. - __Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. __Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that @@ -266,7 +261,7 @@ Replaces header containing the number of the BIP that it rendered obsolete. #### Auxiliary Files BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named -`bip-XXXX`, where "XXXX" is the BIP number. The file names in the subdirectory do not need to adhere to a specific +`bip-XXXX`, where "XXXX" is the BIP number. File names in the subdirectory do not need to adhere to a specific convention. ## BIP status field @@ -422,6 +417,7 @@ correcting misspellings, fixing broken links, etc. - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track - Auxiliary files are only permitted in the corresponding BIP’s subdirectory +- The Discussions-To header is dropped ## Copyright From 0296846bfaac9dee2e4f9c4b7174375389e1fad5 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 15:47:18 -0400 Subject: [PATCH 033/153] Drop Comments, Comments-URI, and Comments-Summary --- bip-update-process.md | 53 ++----------------------------------------- 1 file changed, 2 insertions(+), 51 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 3575731e33..82adae374e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -173,7 +173,7 @@ If you are interested in assuming ownership of a BIP, send a message asking to t author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). -### Revisions +### tk: Revisions tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to the protocol evolving over time. @@ -417,6 +417,7 @@ correcting misspellings, fixing broken links, etc. - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track - Auxiliary files are only permitted in the corresponding BIP’s subdirectory +- Comments-URI, and Comment-Summary headers as well as Comments are dropped - The Discussions-To header is dropped ## Copyright @@ -437,56 +438,6 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ------------------------- ------------------------- -==BIP comments== - -===Specification=== - -Each BIP should, in its preamble, link to a public wiki page with a summary tone of the comments on that page. -Reviewers of the BIP who consider themselves qualified, should post their own comments on this wiki page. -The comments page should generally only be used to post final comments for a completed BIP. -If a BIP is not yet completed, reviewers should instead post on the applicable development mailing list thread to allow the BIP author(s) to address any concerns or problems pointed out by the review. - -Some BIPs receive exposure outside the development community prior to completion, and other BIPs might not be completed at all. To avoid a situation where critical BIP reviews may go unnoticed during this period, reviewers may, at their option, still post their review on the comments page, provided they first post it to the mailing list and plan to later remove or revise it as applicable based on the completed version. Such revisions should be made by editing the previous review and updating the timestamp. Reviews made prior to the complete version may be removed if they are no longer applicable and have not been updated in a timely manner (eg, within one month). - -Pages must be named after the full BIP number (eg, "BIP 0001") and placed in the "Comments" namespace. -For example, the link for BIP 1 will be https://github.com/bitcoin/bips/wiki/Comments:BIP-0001 . - -Comments posted to this wiki should use the following format: - - --, - -BIPs may also choose to list a second forum for BIP comments, in addition to the BIPs wiki. -In this case, the second forum's URI should be listed below the primary wiki's URI. - -After some time, the BIP itself may be updated with a summary tone of the comments. -Summary tones may be chosen from the following, but this BIP does not intend to cover all possible nuances and other summaries may be used as needed: - -* No comments yet. -* Unanimously Recommended for implementation -* Unanimously Discourage for implementation -* Mostly Recommended for implementation, with some Discouragement -* Mostly Discouraged for implementation, with some Recommendation - -For example, the preamble to BIP 1 might be updated to include the line: - - Comments-Summary: No comments yet. - Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0001 - https://some-other-wiki.org/BIP_1_Comments - -These fields must follow the "Discussions-To" header defined in BIP 1 (if that header is not present, it should follow the position where it would be present; generally this is immediately above the Status header). - -To avoid doubt: comments and status are unrelated metrics to judge a BIP, and neither should be directly influencing the other. - -===Rationale=== - -What is the purpose of BIP comments? - -* Various BIPs have been adopted (the criteria required for "Final" Status) despite being considered generally inadvisable. Some presently regard BIPs as a "good idea" simply by virtue of them being assigned a BIP number. Due to the low barrier of entry for submission of new BIPs, it seems advisable for a way for reviewers to express their opinions on them in a way that is consumable to the public without needing to review the entire development discussion. - -Will BIP comments be censored or limited to particular participants/"experts"? - -* Participants should freely refrain from commenting outside of their area of knowledge or expertise. However, comments should not be censored, and participation should be open to the public. - ==BIP licensing== ===Specification=== From 13b64e337cf14f5e5c05a4146cf26c710e167cec Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 15:58:35 -0400 Subject: [PATCH 034/153] Swap order of Specification and Workflow --- bip-update-process.md | 172 +++++++++++++++++++++--------------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 82adae374e..bde87ea687 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -52,6 +52,92 @@ OR: The BIPs repository is focused on information that supports the Bitcoin currency.^[Projects that astroturf on the Bitcoin network to store data, bootstrap their own consensus, or facilitate another currency are not on-topic.] +## BIP format and structure + +### Specification + +BIPs should be written in mediawiki or markdown format. + +Each BIP should have the following parts: + +* Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). +* Abstract -- A short (~200 word) description of the technical issue being addressed. +* Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the + existing situation is inadequate to address the problem that the BIP solves. +* Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular + design decisions were made. It should describe alternate designs that were considered and related work. The rationale + should address important objections or concerns raised during discussion. +* Specification -- The technical specification should describe the syntax and semantics of any new feature. The + specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. +* Backwards compatibility -- BIPs that introduce backwards incompatibilities must include a section describing these + incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these + incompatibilities. +* Reference implementation -- The reference implementation must be completed before [tk: will we have a final status?] + any BIP is given status "Final", but it need not be completed before the BIP is [tk: we do not have an accepted + status] accepted. It is better to finish the specification and rationale first and reach consensus on it before + writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. +* Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets +* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]) [tk: update license]. + +Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its +topic has been sufficiently addressed. + +#### BIP header preamble + +Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers +marked with "\*" are optional. All other headers are required. + +``` + BIP: +* Layer: + Title: + Champions: + Status: + Type: + Created: + License: +* License-Code: +* Post-History: +* Requires: +* Replaces: +* Superseded-By: +``` + +__BIP__: BIP number, or "?" before a number was assigned. Champions must not self-assign numbers. Numbers are assigned +by BIP Editors. + +__Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for +definitions of the various BIP layers. + +__Champions__: The champions header lists the names and email addresses of the current owners of the BIP. This may or +may not be the original authors of the BIP. The format of each champion header value must be + + Random J. User + +If there are multiple champions, each should be on a separate line following [RFC +2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions [tk: what is the convention?]. + +__Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. + +__Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that +date be?] + +__Post-History__: Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates +should be in yyyy-mm-dd format, e.g. 2001-08-14. Post-History is permitted to be a link to a specific thread in a +mailing list archive. + +__Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. + +__Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that a BIP has been rendered obsolete by a +later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a +Replaces header containing the number of the BIP that it rendered obsolete. + +#### Auxiliary Files + +BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named +`bip-XXXX`, where "XXXX" is the BIP number. File names in the subdirectory do not need to adhere to a specific +convention. + ### BIP types * A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the @@ -178,92 +264,6 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to the protocol evolving over time. -## BIP format and structure - -### Specification - -BIPs should be written in mediawiki or markdown format. - -Each BIP should have the following parts: - -* Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). -* Abstract -- A short (~200 word) description of the technical issue being addressed. -* Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the - existing situation is inadequate to address the problem that the BIP solves. -* Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular - design decisions were made. It should describe alternate designs that were considered and related work. The rationale - should address important objections or concerns raised during discussion. -* Specification -- The technical specification should describe the syntax and semantics of any new feature. The - specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. -* Backwards compatibility -- BIPs that introduce backwards incompatibilities must include a section describing these - incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these - incompatibilities. -* Reference implementation -- The reference implementation must be completed before [tk: will we have a final status?] - any BIP is given status "Final", but it need not be completed before the BIP is [tk: we do not have an accepted - status] accepted. It is better to finish the specification and rationale first and reach consensus on it before - writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. -* Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets -* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]) [tk: update license]. - -Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its -topic has been sufficiently addressed. - -#### BIP header preamble - -Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers -marked with "\*" are optional. All other headers are required. - -``` - BIP: -* Layer: - Title: - Champion: - Status: - Type: - Created: - License: -* License-Code: -* Post-History: -* Requires: -* Replaces: -* Superseded-By: -``` - -__BIP__: BIP number, or "?" before a number was assigned. Champions must not self-assign numbers. Numbers are assigned -by BIP Editors. - -__Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for -definitions of the various BIP layers. - -__Champions__: The champions header lists the names and email addresses of the current owners of the BIP. This may or -may not be the original authors of the BIP. The format of each champion header value must be - - Random J. User - -If there are multiple champions, each should be on a separate line following [RFC -2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions [tk: what is the convention?]. - -__Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. - -__Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that -date be?] - -__Post-History__: Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates -should be in yyyy-mm-dd format, e.g. 2001-08-14. Post-History is permitted to be a link to a specific thread in a -mailing list archive. - -__Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. - -__Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that a BIP has been rendered obsolete by a -later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a -Replaces header containing the number of the BIP that it rendered obsolete. - -#### Auxiliary Files - -BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named -`bip-XXXX`, where "XXXX" is the BIP number. File names in the subdirectory do not need to adhere to a specific -convention. - ## BIP status field ### Specification From 4a4b64013bd7d2b5863cd6e13def7e055a1d1a57 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 21 Jun 2024 17:08:07 -0400 Subject: [PATCH 035/153] Mark Open questions as todo --- bip-update-process.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index bde87ea687..ff536796a8 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -10,7 +10,7 @@ License: CC0-1.0 Replaces: 2 ``` -## More input requested on following open questions +## tk: More input requested on following open questions - Should we have a Final and/or Active Status? - Should we introduce versioning/revisions to (final) BIPs? @@ -426,13 +426,13 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ## Footnotes +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) + ### References [champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. -- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) -- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - ------------------------- ------------------------- From 33ed167b028d75e436f7c2de7c083e751a9327d7 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 11:39:17 -0400 Subject: [PATCH 036/153] BIPs do not become rejected due to inactivity --- bip-update-process.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ff536796a8..febae70276 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -266,16 +266,14 @@ the protocol evolving over time. ## BIP status field -### Specification +### Specification [tk: Rework Specification] The typical paths of the status of BIPs are as follows: -A BIP may only change status from Draft (or Rejected) to Proposed, when the author deems it is complete, has a working implementation (where applicable), and has community plans to progress it to the Final status. - -BIPs should be changed from Draft or Proposed status, to Rejected status, upon request by any person, if they have not made progress in three years. Such a BIP may be changed to Draft status if the champion provides revisions that meaningfully address public criticism of the proposal, or to Proposed status if it meets the criteria required as described in the previous paragraph. +A BIP may only change status from Draft (or Rejected) to Proposed, when the author deems it is complete, has a working implementation (where applicable), and has community plans to progress it to the Final status. [tk: duplicate with above] A Proposed BIP may progress to Final only when specific criteria reflecting real-world adoption has occurred. This is different for each BIP depending on the nature of its proposed changes, which will be expanded on below. Evaluation of this status change should be objectively verifiable, and/or be discussed on the development mailing list. @@ -283,7 +281,7 @@ When a Final BIP is no longer relevant, its status may be changed to Replaced or A process BIP may change status from Draft to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be given in such circumstances. -#### Progression to Final status +#### Progression to Final status [tk: Rework Final Status, if we even want one] A soft-fork BIP strictly requires a clear miner majority expressed by blockchain voting (eg, using BIP 9). In addition, if the economy seems willing to make a "no confidence" hard-fork (such as a change in proof-of-work algorithm), the soft-fork does not become Final for as long as such a hard-fork might have majority support, or at most three months. Soft-fork BIPs may also set additional requirements for their adoption. Because of the possibility of changes to miner dynamics, especially in light of delegated voting (mining pools), it is highly recommended that a supermajority vote around 95% be required by the BIP itself, unless rationale is given for a lower threshold. @@ -419,6 +417,7 @@ correcting misspellings, fixing broken links, etc. - Auxiliary files are only permitted in the corresponding BIP’s subdirectory - Comments-URI, and Comment-Summary headers as well as Comments are dropped - The Discussions-To header is dropped +- BIPs can no longer be rejected due to inactivity ## Copyright From 02c97179275ce9b81f2b7a231ca1ec39c076a69b Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 11:41:28 -0400 Subject: [PATCH 037/153] Move changes to the bottom for easier access --- bip-update-process.md | 163 ++++++++++++++++++++++-------------------- 1 file changed, 84 insertions(+), 79 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index febae70276..06b5c452b2 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -353,85 +353,6 @@ What if a BIP is proposed that only makes sense for a single specific project? ## Licensing -## BIP Editors - -The current BIP editors are: - -* Bryan Bishop ([kanzure@gmail.com](mailto:kanzure@gmail.com)) -* Jon Atack ([jon@atack.com](mailto:jon@atack.com)) -* Luke Dashjr ([luke_bipeditor@dashjr.org](mailto:luke_bipeditor@dashjr.org)) -* Mark "Murch" Erhardt ([murch@murch.one](mailto:murch@murch.one)) -* Olaoluwa Osuntokun ([laolu32@gmail.com](mailto:laolu32@gmail.com)) -* Ruben Somsen ([rsomsen@gmail.com](mailto:rsomsen@gmail.com)) - -### BIP Editor Responsibilities & Workflow - -The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs -repository](https://github.com/bitcoin/bips). -Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. - -When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard -to: - -* Novelty of the idea -* Viability, utility, and relevance of the concept -* Readiness of the draft -* On-topic for the Bitcoin community - -If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. -Once the BIP is ready it should be submitted as a "pull request" to the [BIPs -repository](https://github.com/bitcoin/bips) where it may get further feedback. - -For each new BIP draft pull request that comes in, an editor checks the following: - -* Draft has been previously discussed on the Bitcoin development mailing -* Title accurately describes the content -* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation -* Document is properly formatted -* Licensing terms are acceptable -* Motivation, rationale, and backward compatibility have been addressed (where applicable) -* The defined Layer header must be correctly assigned for the given specification -* The BIP is ready: it is complete, comprehensible, and technically feasible - -Editors do NOT evaluate whether the proposal is likely to be adopted. - -A BIP editor will: - -* Assign a BIP number in the pull request. -* Merge the pull request when it is ready. -* List the BIP in [[README.mediawiki]] - -The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP -changes, and update BIP headers as appropriate. - -BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as -correcting misspellings, fixing broken links, etc. - -## Changes from BIP-2 - -- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. -- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion -- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository -- Layer header is no longer restricted to Standards Track -- Auxiliary files are only permitted in the corresponding BIP’s subdirectory -- Comments-URI, and Comment-Summary headers as well as Comments are dropped -- The Discussions-To header is dropped -- BIPs can no longer be rejected due to inactivity - -## Copyright - -This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. - -## Footnotes - -- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) -- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - -### References - -[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. - ------------------------- ------------------------- @@ -537,3 +458,87 @@ Why is Public Domain no longer acceptable for new BIPs? * [[bip-0001.mediawiki|BIP 1: BIP Purpose and Guidelines]] * [[bip-0123.mediawiki|BIP 123: BIP Classification]] * [https://tools.ietf.org/html/rfc7282 RFC 7282: On Consensus and Humming in the IETF] + +------------------------- +------------------------- +------------------------- + +## BIP Editors + +The current BIP editors are: + +* Bryan Bishop ([kanzure@gmail.com](mailto:kanzure@gmail.com)) +* Jon Atack ([jon@atack.com](mailto:jon@atack.com)) +* Luke Dashjr ([luke_bipeditor@dashjr.org](mailto:luke_bipeditor@dashjr.org)) +* Mark "Murch" Erhardt ([murch@murch.one](mailto:murch@murch.one)) +* Olaoluwa Osuntokun ([laolu32@gmail.com](mailto:laolu32@gmail.com)) +* Ruben Somsen ([rsomsen@gmail.com](mailto:rsomsen@gmail.com)) + +### BIP Editor Responsibilities & Workflow + +The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs +repository](https://github.com/bitcoin/bips). +Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. + +When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard +to: + +* Novelty of the idea +* Viability, utility, and relevance of the concept +* Readiness of the draft +* On-topic for the Bitcoin community + +If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. +Once the BIP is ready it should be submitted as a "pull request" to the [BIPs +repository](https://github.com/bitcoin/bips) where it may get further feedback. + +For each new BIP draft pull request that comes in, an editor checks the following: + +* Draft has been previously discussed on the Bitcoin development mailing +* Title accurately describes the content +* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation +* Document is properly formatted +* Licensing terms are acceptable +* Motivation, rationale, and backward compatibility have been addressed (where applicable) +* The defined Layer header must be correctly assigned for the given specification +* The BIP is ready: it is complete, comprehensible, and technically feasible + +Editors do NOT evaluate whether the proposal is likely to be adopted. + +A BIP editor will: + +* Assign a BIP number in the pull request. +* Merge the pull request when it is ready. +* List the BIP in [[README.mediawiki]] + +The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP +changes, and update BIP headers as appropriate. + +BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as +correcting misspellings, fixing broken links, etc. + +## Changes from BIP-2 + +- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, + PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. +- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository +- Layer header is no longer restricted to Standards Track +- Auxiliary files are only permitted in the corresponding BIP’s subdirectory +- Comments-URI, and Comment-Summary headers as well as Comments are dropped +- The Discussions-To header is dropped +- BIPs can no longer be rejected due to inactivity + +## Copyright + +This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. + +## Footnotes + +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) + +### References + +[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. + From afb5b9cb541324b4627a31378239bd1747672b96 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 14:02:33 -0400 Subject: [PATCH 038/153] Update Licensing instructions --- bip-update-process.md | 149 +++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 75 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 06b5c452b2..67d173f21d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -351,117 +351,113 @@ What if a BIP is proposed that only makes sense for a single specific project? #### BIP Header Preamble #### Auxiliary Files -## Licensing +## BIP Licensing +### Specification -------------------------- -------------------------- -------------------------- - -==BIP licensing== - -===Specification=== - -New BIPs may be accepted with the following licenses. Each new BIP must identify at least one acceptable license in its preamble. The License header in the preamble must be placed after the Created header. Each license must be referenced by their respective abbreviation given below. +New BIPs may be accepted with the following licenses. Each new BIP must identify at least one acceptable license in its +preamble. The License header in the preamble must be placed after the Created header. Each license must be referenced by +their respective abbreviation given below. For example, a preamble might include the following License header: - License: BSD-2-Clause + License: CC0-1.0 GNU-All-Permissive -In this case, the BIP text is fully licensed under both the OSI-approved BSD 2-clause license as well as the GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of *either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. +In this case, the BIP text is fully licensed under both the Creative Commons CC0 1.0 Universal license as well as the +GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of +*either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. -It is also possible to license source code differently from the BIP text. An optional License-Code header is placed after the License header. Again, each license must be referenced by their respective abbreviation given below. +It is also possible to license source code differently from the BIP text. An optional License-Code header is placed +after the License header. Again, each acceptable license must be referenced by their respective abbreviation given +below. For example, a preamble specifying the optional License-Code header might look like: - License: BSD-2-Clause - GNU-All-Permissive - License-Code: GPL-2.0+ + License: CC0-1.0 + License-Code: MIT -In this case, the code in the BIP is not available under the BSD or All-Permissive licenses, but only under the terms of the GNU General Public License (GPL), version 2 or newer. -If the code were to be available under *only* version 2 exactly, the "+" symbol should be removed from the license abbreviation. -For a later version (eg, GPL 3.0), you would increase the version number (and retain or remove the "+" depending on intent). +In this case, the code in the BIP is not available under CC0-1.0, but is only available under the terms of the MIT +License. - License-Code: GPL-2.0 # This refers to GPL v2.0 *only*, no later license versions are acceptable. - License-Code: GPL-2.0+ # This refers to GPL v2.0 *or later*. - License-Code: GPL-3.0 # This refers to GPL v3.0 *only*, no later license versions are acceptable. - License-Code: GPL-3.0+ # This refers to GPL v3.0 *or later*. +BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable +licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed +in the License and License-Code headers. It is recommended that BIPs are made available under at least one license +that is not a software license. -In the event that the licensing for the text or code is too complicated to express with a simple list of alternatives, the list should instead be replaced with the single term "Complex". In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. +It is recommended that BIPs that include literal code be dual-licensed under the same license terms as the project it +modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms +as well as one of the above with the rest of the BIP text. -BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable licenses *in addition to* at least one acceptable license. -In this case, only the acceptable license(s) should be listed in the License and License-Code headers. +In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. -====Recommended licenses==== +#### Recommended license -* BSD-2-Clause: [https://opensource.org/licenses/BSD-2-Clause OSI-approved BSD 2-clause license] -* BSD-3-Clause: [https://opensource.org/licenses/BSD-3-Clause OSI-approved BSD 3-clause license] -* CC0-1.0: [https://creativecommons.org/publicdomain/zero/1.0/ Creative Commons CC0 1.0 Universal] -* GNU-All-Permissive: [http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html GNU All-Permissive License] +* CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) +* GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) -In addition, it is recommended that literal code included in the BIP be dual-licensed under the same license terms as the project it modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms as well as one of the above with the rest of the BIP text. +#### Not recommended, but acceptable licenses -====Not recommended, but acceptable licenses==== +* BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause) +* BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) +* CC-BY-4.0: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) +* CC-BY-SA-4.0: [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) +* MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT) -* Apache-2.0: [http://www.apache.org/licenses/LICENSE-2.0 Apache License, version 2.0] -* BSL-1.0: [http://www.boost.org/LICENSE_1_0.txt Boost Software License, version 1.0] -* CC-BY-4.0: [https://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International] -* CC-BY-SA-4.0: [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International] -* MIT: [https://opensource.org/licenses/MIT Expat/MIT/X11 license] -* AGPL-3.0+: [http://www.gnu.org/licenses/agpl-3.0.en.html GNU Affero General Public License (AGPL), version 3 or newer] -* FDL-1.3: [http://www.gnu.org/licenses/fdl-1.3.en.html GNU Free Documentation License, version 1.3] -* GPL-2.0+: [http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html GNU General Public License (GPL), version 2 or newer] -* LGPL-2.1+: [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html GNU Lesser General Public License (LGPL), version 2.1 or newer] -====Not acceptable licenses==== +#### Not acceptable licenses -All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal unless a later BIP extends this one to add them. -However, BIPs predating the acceptance of this BIP were allowed under other terms, and should use these abbreviation when no other license is granted: +All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal. +However, BIPs predating the acceptance of this BIP were allowed under other terms, and should use these abbreviation +when no other license is granted: -* OPL: [http://opencontent.org/openpub/ Open Publication License, version 1.0] * PD: Released into the public domain +* OPL: [Open Publication License, version 1.0](http://opencontent.org/openpub/) -===Rationale=== +### Rationale -BIP 1 allowed the Open Publication License or releasing into the public domain; was this insufficient? +Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, +some BIPs were made available under more than one license) and only one license has been used to license code: -* The OPL is generally regarded as obsolete, and not a license suitable for new publications. -* Many are unfamiliar with the OPL terms, and may just prefer to use the public domain rather than license under uncertain terms. -* The OPL license terms allowed for the author to prevent publication and derived works, which was widely considered inappropriate for Bitcoin standards. -* Public domain is not universally recognised as a legitimate action, thus it is inadvisable. +Licenses used: -Why are there software licenses included? +* BSD-2-Clause: 55 +* PD: 42 +* CC0-1.0: 23 +* BSD-3-Clause: 19 +* OPL: 5 +* CC-BY-SA-4.0: 4 +* GNU-All-Permissive: 3 +* MIT: 2 +* CC-BY-4.0: 1 -* Some BIPs, especially consensus layer, may include literal code in the BIP itself which may not be available under the exact license terms of the BIP. -* Despite this, not all software licenses would be acceptable for content included in BIPs. +License-Code used: -Why is Public Domain no longer acceptable for new BIPs? +* MIT: 4 + +The following previously acceptable licenses have been dropped, because they have never been used in the BIPs process: -* In some jurisdictions, public domain is not recognised as a legitimate legal action, leaving the BIP simply copyrighted with no redistribution or modification allowed at all. +* AGPL-3.0+: [GNU Affero General Public License (AGPL), version 3 or newer](http://www.gnu.org/licenses/agpl-3.0.en.html) +* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt) +* FDL-1.3: [GNU Free Documentation License, version 1.3](http://www.gnu.org/licenses/fdl-1.3.en.html) +* GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) +* LGPL-2.1+: [GNU Lesser General Public License (LGPL), version 2.1 or newer](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) -==Changes from BIP 1== +Some of the previously recommended licenses explicitly state that they apply to software, but BIPs are foremost text +documents. As such, the previously recommended BSD-[2|3]-Clause licenses that only apply to software have been moved to +the "Not recommended" section. This leaves us with only the CC0-1.0 and the GNU-All-Permissive licenses as recommended. -* Acceptable licenses are entirely rechosen, allowing a wide variety of open licenses, while prohibiting the problematic older choices. -* Accepted Status has been renamed to Proposed. -* An implementation is now required (when applicable) before BIPs can proceed to Proposed Status. -* BIP Comments are newly introduced. -* The License preamble headers have been added. -* The Layer header is included from BIP 123. -* Non-image auxiliary files are permitted in the bip-XXXX subdirectory. -* Email addresses are now required for authors. -* The Post-History header may be provided as a link instead of a simple date. -* The Resolution header has been dropped, as it is not applicable to a decentralised system where no authority exists to make final decisions. +Why are there software licenses included? -==See Also== +* Some BIPs, especially concerning the consensus layer, may include literal code in the BIP itself which may not be + available under the exact license terms of the BIP. +* Despite this, not all software licenses would be acceptable for content included in BIPs. -* [[bip-0001.mediawiki|BIP 1: BIP Purpose and Guidelines]] -* [[bip-0123.mediawiki|BIP 123: BIP Classification]] -* [https://tools.ietf.org/html/rfc7282 RFC 7282: On Consensus and Humming in the IETF] +Why is Public Domain no longer acceptable for new BIPs? -------------------------- -------------------------- -------------------------- +* In some jurisdictions, placing documents in the public domain is not recognised as a legitimate legal action, leaving + the BIP simply copyrighted with no redistribution or modification allowed at all. ## BIP Editors @@ -528,6 +524,7 @@ correcting misspellings, fixing broken links, etc. - Comments-URI, and Comment-Summary headers as well as Comments are dropped - The Discussions-To header is dropped - BIPs can no longer be rejected due to inactivity +- List of acceptable licenses was reduced to the ones previously used ## Copyright @@ -537,6 +534,8 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) +- [BIP 123: BIP Classification](BIP-0123.mediawiki) +* [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) ### References From 56ebea053943080882321abac55a0f7719d47d52 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 15:21:44 -0400 Subject: [PATCH 039/153] Add open question about change log --- bip-update-process.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 67d173f21d..845febcf1a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -13,8 +13,9 @@ Replaces: 2 ## tk: More input requested on following open questions - Should we have a Final and/or Active Status? -- Should we introduce versioning/revisions to (final) BIPs? - Does it make sense to go from Proposed to Withdrawn/Obsolete? Who would decide such a transition and how? +- Should we introduce versioning/revisions to (final) BIPs? +- Should we add a mandatory Change Log section to BIPs? ## Abstract From 0446c5f08b6731488b61eed0ec21fa364e2c3c58 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 15:33:41 -0400 Subject: [PATCH 040/153] Mention inacceptability of OPL in rationale --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 845febcf1a..c56ef7e6f9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -455,10 +455,10 @@ Why are there software licenses included? available under the exact license terms of the BIP. * Despite this, not all software licenses would be acceptable for content included in BIPs. -Why is Public Domain no longer acceptable for new BIPs? +Why are OPL and Public Domain no longer acceptable for new BIPs? -* In some jurisdictions, placing documents in the public domain is not recognised as a legitimate legal action, leaving - the BIP simply copyrighted with no redistribution or modification allowed at all. +* Public domain is not universally recognised as a legitimate action, thus it is inadvisable +* The OPL is generally regarded as obsolete, and not a license suitable for new publications ## BIP Editors From 7727100ffacfea4f99a855f03f25aab7c4863a99 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 24 Jun 2024 15:58:57 -0400 Subject: [PATCH 041/153] Discourage 'Other Implementations' sections --- bip-update-process.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index c56ef7e6f9..ec704e0074 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -244,8 +244,9 @@ their proposal, or no longer recommend the proposed approach. ### Adoption of proposals The BIPs repository does not track the sentiment on or adoption of proposals, and individual BIPs do not take statuses -based on their adoption or deployment. After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to -adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. +based on their adoption or deployment. It is not intended for BIPs to list additional implementations beyond the +reference implementation.[OtherImplementations][] After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to adopt, ignore, or +repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. ### Transferring BIP Ownership @@ -526,6 +527,7 @@ correcting misspellings, fixing broken links, etc. - The Discussions-To header is dropped - BIPs can no longer be rejected due to inactivity - List of acceptable licenses was reduced to the ones previously used +- "Other Implementations" sections are discouraged ## Copyright @@ -540,5 +542,11 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ### References -[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may adopt the BIP as a new owner. +[OtherImplementations]: In the past, some BIPs that so-called "Other Implementations" sections that caused frequent +changes to existing BIPs. This put an onus on the BIP champions, and frequently lead to lingering pull requests +due to the corresponding BIPs’ champions no longer participating in the process. Many of these alternative +implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" +sections are heavily discouraged. +[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin +development. In that case another proponent may adopt the BIP as a new owner. From 3ae7a3b03083fea6cf3c48a03ab296764b9e2004 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 26 Jun 2024 14:25:51 -0400 Subject: [PATCH 042/153] Combine Status Field description and workflow (WIP) --- bip-update-process.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ec704e0074..b3276098f8 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -188,12 +188,15 @@ to the Bitcoin community, the champion should work on drafting a BIP. It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more successful it tends to be. If in doubt, split your BIP into several well-focused ones. -### Draft +### Progression through BIP Statuses As the first draft is taking shape, the champion should present it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). This gives the champion a chance to collect initial feedback and address fundamental concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. + +#### Draft + After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the champion should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the formatting requirements specified below and named with a working title of the form "bip-authorname-topicofproposal". The @@ -218,24 +221,27 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be submitted as pull requests. -### Proposed^[Could be Review/Candidate instead to avoid overloading "proposed"] +#### Proposed^[Could be Review/Candidate instead to avoid overloading "proposed"] -When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, and ready for -adoption by the Bitcoin community, they may update the BIP’s status to _PROPOSED_ to indicate that they recommend -adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is -solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details to -clarify ambiguities, fill-in omissions, or address other issues discovered as the BIP is adopted. +When the champion is confident that their BIP represents a net-improvement, is +clear, comprehensive, has a working reference implementation (if applicable), +and is ready for adoption by the Bitcoin community, they may update the BIP’s +status to _PROPOSED_ to indicate that they recommend adoption or implementation +of the BIP. Where applicable, the champion must ensure that any proposed +specification is solid, not unduly complicated, and definitive. Subsequently, a +BIP’s content should only be adjusted in minor details to clarify ambiguities, +fill-in omissions, or address other issues discovered as the BIP is adopted. As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -### tk: Active/Final +#### tk: Active/Final Is there substantial value in keeping an ACTIVE/FINAL status around to indicate that a proposal was adopted and/or is no longer subject to changes? If so, the transition from _PROPOSED_ to _ACTIVE_ may be proposed by any member of the Bitcoin community either with consent of the BIP champion or convincing evidence. -### Withdrawn +#### Withdrawn BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _WITHDRAWN_ or vice versa. When a BIP is labeled _WITHDRAWN_, the BIP champion indicates that they have abandoned work on it, no longer pursue adoption of @@ -266,7 +272,7 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to the protocol evolving over time. -## BIP status field +## BIP status field [tk] ### Specification [tk: Rework Specification] From 5b0f79761d467a441e93df8fbc85981ddbb4a0c8 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 2 Jul 2024 17:05:19 -0400 Subject: [PATCH 043/153] Incorporate Status Field section into Workflow - Rename "Withdrawn" to "Abandoned" - Rename "Final" to "Active" - Remove Status field rationale that prescribes specific adoption criteria out of scope to this document --- bip-update-process.md | 170 ++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 115 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index b3276098f8..ab938735ef 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -13,9 +13,8 @@ Replaces: 2 ## tk: More input requested on following open questions - Should we have a Final and/or Active Status? -- Does it make sense to go from Proposed to Withdrawn/Obsolete? Who would decide such a transition and how? -- Should we introduce versioning/revisions to (final) BIPs? - Should we add a mandatory Change Log section to BIPs? +- Should we introduce versioning/revisions to (final) BIPs? ## Abstract @@ -73,12 +72,11 @@ Each BIP should have the following parts: * Backwards compatibility -- BIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these incompatibilities. -* Reference implementation -- The reference implementation must be completed before [tk: will we have a final status?] - any BIP is given status "Final", but it need not be completed before the BIP is [tk: we do not have an accepted - status] accepted. It is better to finish the specification and rationale first and reach consensus on it before - writing code. The final implementation must include test code and documentation appropriate for the Bitcoin protocol. +* Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be + completed before the BIP can be given status "Proposed". It is recommended to focus on specification and rationale + before writing code. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets -* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]) [tk: update license]. +* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]). Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its topic has been sufficiently addressed. @@ -93,7 +91,7 @@ marked with "\*" are optional. All other headers are required. * Layer: Title: Champions: - Status: + Status: Type: Created: License: @@ -195,6 +193,9 @@ list](https://groups.google.com/g/bitcoindev). This gives the champion a chance fundamental concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. +The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble +specification below. + #### Draft After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the champion should @@ -229,30 +230,60 @@ and is ready for adoption by the Bitcoin community, they may update the BIP’s status to _PROPOSED_ to indicate that they recommend adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a -BIP’s content should only be adjusted in minor details to clarify ambiguities, -fill-in omissions, or address other issues discovered as the BIP is adopted. +BIP’s content should only be adjusted in minor details to clarify ambiguities, fill-in omissions, add coverage for +edge-cases that were overlooked, or address other issues discovered as the BIP is adopted. As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -#### tk: Active/Final +A _PROPOSED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _PROPOSED_ BIP is found to need substantial functional +changes to achieve its goal, it should be moved to _ABANDONED_ and a new BIP should be drafted instead. + +#### Active + +At the earliest three months after a BIP has been moved to _PROPOSED_, a BIP may be advanced to _ACTIVE_ upon request of +any community member by providing evidence that the idea described in the BIP is in active use. Such evidence includes +for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork +proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. + +At that point, the BIP should be considered final and any breaking changes to the BIP should be proposed as a new +separate BIP. + +##### Process BIPs + +A process BIP may change status from _PROPOSED_ to _ACTIVE_ when it achieves rough consensus on the mailing list. Such a +proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least +one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections +may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be +given in such circumstances. An _ACTIVE_ Process BIP may be modified indefinitely as long as a proposed modification +has rough consensus per the same criteria. -Is there substantial value in keeping an ACTIVE/FINAL status around to indicate that a proposal was adopted and/or is -no longer subject to changes? If so, the transition from _PROPOSED_ to _ACTIVE_ may be proposed by any member of the -Bitcoin community either with consent of the BIP champion or convincing evidence. +##### Revisions -#### Withdrawn +Any changes to a BIP after it has transitioned to _PROPOSED_ or _ACTIVE_ are tracked with date and description in a +Change Log section. -BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _WITHDRAWN_ or vice versa. When a BIP -is labeled _WITHDRAWN_, the BIP champion indicates that they have abandoned work on it, no longer pursue adoption of -their proposal, or no longer recommend the proposed approach. +#### Abandoned + +A BIP may be labeled _ABANDONED_ when its champion has stopped working on it, no longer pursues adoption of their complete +proposal, or no longer recommends the proposed approach, AND the BIP is not in active use. + +BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _ABANDONED_. + +BIPs with the status _PROPOSED_ can be moved to _ABANDONED_ after a champion announces this transition to the +Bitcoin Developer Mailing List and is not opposed within 14 days. One of the opposers must become the new BIP champion +for the BIP to remain _PROPOSED_. A BIP can also be transitioned to _ABANDONED_ by BIP Editors, if it is not in active +use, its champion has become unresponsive and no new champion volunteers within four weeks. + +An BIP may be transitioned from _ACTIVE_ to _ABANDONED_ when it is no longer in active use. Any community member may +initiate this transition by announcing it to the mailing list and no objections being raised for four weeks. ### Adoption of proposals -The BIPs repository does not track the sentiment on or adoption of proposals, and individual BIPs do not take statuses -based on their adoption or deployment. It is not intended for BIPs to list additional implementations beyond the -reference implementation.[OtherImplementations][] After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to adopt, ignore, or -repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. +The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether +they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference +implementation.[OtherImplementations][] After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to +adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. ### Transferring BIP Ownership @@ -267,98 +298,6 @@ If you are interested in assuming ownership of a BIP, send a message asking to t author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). -### tk: Revisions - -tk: Should it be possible for a final BIP to be revised? Adding versions could provide a way how to adapt final BIPs to -the protocol evolving over time. - -## BIP status field [tk] - -### Specification [tk: Rework Specification] - -The typical paths of the status of BIPs are as follows: - - - - -A BIP may only change status from Draft (or Rejected) to Proposed, when the author deems it is complete, has a working implementation (where applicable), and has community plans to progress it to the Final status. [tk: duplicate with above] - -A Proposed BIP may progress to Final only when specific criteria reflecting real-world adoption has occurred. This is different for each BIP depending on the nature of its proposed changes, which will be expanded on below. Evaluation of this status change should be objectively verifiable, and/or be discussed on the development mailing list. - -When a Final BIP is no longer relevant, its status may be changed to Replaced or Obsolete (which is equivalent to Replaced). This change must also be objectively verifiable and/or discussed. - -A process BIP may change status from Draft to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be given in such circumstances. - -#### Progression to Final status [tk: Rework Final Status, if we even want one] - -A soft-fork BIP strictly requires a clear miner majority expressed by blockchain voting (eg, using BIP 9). In addition, if the economy seems willing to make a "no confidence" hard-fork (such as a change in proof-of-work algorithm), the soft-fork does not become Final for as long as such a hard-fork might have majority support, or at most three months. Soft-fork BIPs may also set additional requirements for their adoption. Because of the possibility of changes to miner dynamics, especially in light of delegated voting (mining pools), it is highly recommended that a supermajority vote around 95% be required by the BIP itself, unless rationale is given for a lower threshold. - -A hard-fork BIP requires adoption from the entire Bitcoin economy, particularly including those selling desirable goods and services in exchange for bitcoin payments, as well as Bitcoin holders who wish to spend or would spend their bitcoins (including selling for other currencies) differently in the event of such a hard-fork. Adoption must be expressed by de facto usage of the hard-fork in practice (ie, not merely expressing public support, although that is a good step to establish agreement before adoption of the BIP). This economic adoption cannot be established merely by a super-majority, except by literally forcing the minority to accept the hard-fork (whether this is viable or not is outside the scope of this document). - -Peer services BIPs should be observed to be adopted by at least 1% of public listening nodes for one month. - -API/RPC and application layer BIPs must be implemented by at least two independent and compatible software applications. - -Software authors are encouraged to publish summaries of what BIPs their software supports to aid in verification of status changes. Good examples of this at the time of writing this BIP, can be observed in [https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md Bitcoin Core's doc/bips.md file] as well as [https://github.com/bitcoin-wallet/bitcoin-wallet/blob/master/wallet/README.specs.md Bitcoin Wallet for Android's wallet/README.specs.md file]. - -These criteria are considered objective ways to observe the de facto adoption of the BIP, and are not to be used as reasons to oppose or reject a BIP. Should a BIP become actually and unambiguously adopted despite not meeting the criteria outlined here, it should still be updated to Final status. - -### Rationale - -Why is this necessary at all? - -* BIP 1 defines an ambiguous criteria for the Status field of BIPs, which is often a source of confusion. As a result, many BIPs with significant real-world use have been left as Draft or Proposed status longer than appropriate. By giving objective criteria to judge the progression of BIPs, this proposal aims to help keep the Status accurate and up-to-date. - -How is the entire Bitcoin economy defined by people selling goods/services and holders? - -* For Bitcoin to function as a currency, it must be accepted as payment. Bitcoins have no value if you cannot acquire anything in exchange for them. If everyone accepting such payments requires a particular set of consensus rules, "bitcoins" are de facto defined by that set of rules - this is already the case today. If those consensus rules are expected to broaden (as with a hard-fork), those merchants need to accept payments made under the new set of rules, or they will reject "bitcoins" as invalid. Holders are relevant to the degree in that they choose the merchants they wish to spend their bitcoins with, and could also as a whole decide to sell under one set of consensus rules or the other, thus flooding the market with bitcoins and crashing the price. - -Why aren't included in the economy? - -* Some entities may, to some degree, also be involved in offering goods and/or services in exchange for bitcoins, thus in that capacity (but not their capacity as ) be involved in the economy. -* Miners are not included in the economy, because they merely *rely on* others to sell/spend their otherwise-worthless mined produce. Therefore, they must accept everyone else's direction in deciding the consensus rules. -* Exchanges are not included in the economy, because they merely provide services of connecting the merchants and users who wish to trade. Even if all exchanges were to defect from Bitcoin, those merchants and users can always trade directly and/or establish their own exchanges. -* Developers are not included in the economy, since they merely write code, and it is up to others to decide to use that code or not. - -But they're doing something important and have invested a lot in Bitcoin! Shouldn't they be included in such an important decision? - -* This BIP does not aim to address what "should" be the basis of decisions. Such a statement, no matter how perfect in its justification, would be futile without some way to force others to use it. The BIP process does not aim to be a kind of forceful "governance" of Bitcoin, merely to provide a collaborative repository for proposing and providing information on standards, which people may voluntarily adopt or not. It can only hope to achieve accuracy in regard to the "Status" field by striving to reflect the reality of *how things actually are*, rather than *how they should be*. - -What if a single merchant wishes to block a hard-fork? - -* This BIP addresses only the progression of the BIP Status field, not the deployment of the hard-fork (or any other change) itself. -* Regardless, one shop cannot operate in a vacuum: if they are indeed alone, they will soon find themselves no longer selling in exchange for bitcoin payments, as nobody else would exist willing to use the previous blockchain to pay them. If they are no longer selling, they cease to meet the criteria herein which enables their veto. - -How about a small number of merchants (maybe only two) who sell products to each other? - -* In this scenario, it would seem the previous Bitcoin is alive and working, and that the hard-fork has failed. How to resolve such a split is outside the scope of this BIP. - -How can economic agreement veto a soft-fork? - -* The group of miners is determined by the consensus rules for the dynamic-membership multi-party signature (for Bitcoin, the proof-of-work algorithm), which can be modified with a hard-fork. Thus, if the same conditions required to modify this group are met in opposition to a soft-fork, the miner majority supporting the soft-fork is effectively void because the economy can decide to replace them with another group of would-be miners who do not support the soft-fork. - -What happens if the economy decides to hard-fork away from a controversial soft-fork, more than three months later? - -* The controversial soft-fork, in this circumstance, changes from Final to Replaced status to reflect the nature of the hard-fork replacing the previous (final) soft-fork. - -What is the ideal percentage of listening nodes needed to adopt peer services proposals? - -* This is unknown, and set rather arbitrarily at this time. For a random selection of peers to have at least one other peer implementing the extension, 13% or more would be necessary, but nodes could continue to scan the network for such peers with perhaps some reasonable success. Furthermore, service bits exist to help identification upfront. - -Why is it necessary for at least two software projects to release an implementation of API/RPC and application layer BIPs, before they become Final? - -* If there is only one implementation of a specification, there is no other program for which a standard interface is used with or needed. -* Even if there are only two projects rather than more, some standard coordination between them exists. - -What if a BIP is proposed that only makes sense for a single specific project? - -* The BIP process exists for standardisation between independent projects. If something only affects one project, it should be done through that project's own internal processes, and never be proposed as a BIP in the first place. - -## Format -### Specification -#### BIP Header Preamble -#### Auxiliary Files - ## BIP Licensing ### Specification @@ -524,7 +463,8 @@ correcting misspellings, fixing broken links, etc. ## Changes from BIP-2 - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - PROPOSED, and WITHDRAWN. The statuses Active, Deferred, Rejected, Final, Replaced, and Obsolete are sunset. + PROPOSED, ACTIVE, and ABANDONED. The statuses Active, Deferred, Rejected, Final, Replaced, Obsolete, and Withdrawn are + sunset. - Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track From 8168178935f2a77368e210580f3d3786184f691d Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 10:20:01 -0400 Subject: [PATCH 044/153] Match transition graph to status field values --- bip-update-process.md | 7 +------ .../status-transitions-active-abandoned.png | Bin 0 -> 92647 bytes 2 files changed, 1 insertion(+), 6 deletions(-) create mode 100644 bip-update-process/status-transitions-active-abandoned.png diff --git a/bip-update-process.md b/bip-update-process.md index ab938735ef..fc9fa1acd9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -158,13 +158,8 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -If PROPOSED is the last status: +![Status transitions](bip-update-process/status-transitions-active-abandoned.png "Status Transitions in the BIP Workflow") -![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") - -If FINAL is the last status: - -![Status transitions](bip-update-process/status-transitions-with-final.png "Status Transitions in the BIP Workflow") ### Ideation diff --git a/bip-update-process/status-transitions-active-abandoned.png b/bip-update-process/status-transitions-active-abandoned.png new file mode 100644 index 0000000000000000000000000000000000000000..fb394d0f5f453b5427a19dd840e79b07ad5679cf GIT binary patch literal 92647 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
pF3-q_2 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 Date: Wed, 3 Jul 2024 10:30:02 -0400 Subject: [PATCH 045/153] Rename Proposed to Nominated --- bip-update-process.md | 28 ++++++++++++------------ bip-update-process/states-nominated.png | Bin 0 -> 92838 bytes 2 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 bip-update-process/states-nominated.png diff --git a/bip-update-process.md b/bip-update-process.md index fc9fa1acd9..6452e07600 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -73,7 +73,7 @@ Each BIP should have the following parts: incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be - completed before the BIP can be given status "Proposed". It is recommended to focus on specification and rationale + completed before the BIP can be given status "Nominated". It is recommended to focus on specification and rationale before writing code. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets * Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]). @@ -91,7 +91,7 @@ marked with "\*" are optional. All other headers are required. * Layer: Title: Champions: - Status: + Status: Type: Created: License: @@ -158,7 +158,7 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -![Status transitions](bip-update-process/status-transitions-active-abandoned.png "Status Transitions in the BIP Workflow") +![Status transitions](bip-update-process/states-nominated.png "Status Transitions in the BIP Workflow") ### Ideation @@ -217,12 +217,12 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be submitted as pull requests. -#### Proposed^[Could be Review/Candidate instead to avoid overloading "proposed"] +#### Nominated When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to _PROPOSED_ to indicate that they recommend adoption or implementation +status to _NOMINATED_ to indicate that they recommend adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details to clarify ambiguities, fill-in omissions, add coverage for @@ -231,12 +231,12 @@ edge-cases that were overlooked, or address other issues discovered as the BIP i As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -A _PROPOSED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _PROPOSED_ BIP is found to need substantial functional +A _NOMINATED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _NOMINATED_ BIP is found to need substantial functional changes to achieve its goal, it should be moved to _ABANDONED_ and a new BIP should be drafted instead. #### Active -At the earliest three months after a BIP has been moved to _PROPOSED_, a BIP may be advanced to _ACTIVE_ upon request of +At the earliest three months after a BIP has been moved to _NOMINATED_, a BIP may be advanced to _ACTIVE_ upon request of any community member by providing evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -246,7 +246,7 @@ separate BIP. ##### Process BIPs -A process BIP may change status from _PROPOSED_ to _ACTIVE_ when it achieves rough consensus on the mailing list. Such a +A process BIP may change status from _NOMINATED_ to _ACTIVE_ when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be @@ -255,7 +255,7 @@ has rough consensus per the same criteria. ##### Revisions -Any changes to a BIP after it has transitioned to _PROPOSED_ or _ACTIVE_ are tracked with date and description in a +Any changes to a BIP after it has transitioned to _NOMINATED_ or _ACTIVE_ are tracked with date and description in a Change Log section. #### Abandoned @@ -265,9 +265,9 @@ proposal, or no longer recommends the proposed approach, AND the BIP is not in a BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _ABANDONED_. -BIPs with the status _PROPOSED_ can be moved to _ABANDONED_ after a champion announces this transition to the +BIPs with the status _NOMINATED_ can be moved to _ABANDONED_ after a champion announces this transition to the Bitcoin Developer Mailing List and is not opposed within 14 days. One of the opposers must become the new BIP champion -for the BIP to remain _PROPOSED_. A BIP can also be transitioned to _ABANDONED_ by BIP Editors, if it is not in active +for the BIP to remain _NOMINATED_. A BIP can also be transitioned to _ABANDONED_ by BIP Editors, if it is not in active use, its champion has become unresponsive and no new champion volunteers within four weeks. An BIP may be transitioned from _ACTIVE_ to _ABANDONED_ when it is no longer in active use. Any community member may @@ -277,7 +277,7 @@ initiate this transition by announcing it to the mailing list and no objections The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation.[OtherImplementations][] After a BIP is advanced to _PROPOSED_, it is up to the Bitcoin community to +implementation.[OtherImplementations][] After a BIP is advanced to _NOMINATED_, it is up to the Bitcoin community to adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. ### Transferring BIP Ownership @@ -458,8 +458,8 @@ correcting misspellings, fixing broken links, etc. ## Changes from BIP-2 - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - PROPOSED, ACTIVE, and ABANDONED. The statuses Active, Deferred, Rejected, Final, Replaced, Obsolete, and Withdrawn are - sunset. + NOMINATED, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn + are sunset. - Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track diff --git a/bip-update-process/states-nominated.png b/bip-update-process/states-nominated.png new file mode 100644 index 0000000000000000000000000000000000000000..68c2455d4c1d6666012d7ccd32f45a02f61ee5ac GIT binary patch literal 92838 zcmeFZ_dlHN);^pFQ4%F#ln5evkKUq13xdHgx`-e|@4ZEj5n`v=&ps)|+`9GTmYkFX#6^E&2Ga$iKHIf>m73^JOY}gZ&~N;UIIVxg8;$bJ zGBo7mmr%c~C!wGRQnpNf7-Jv|7AF-45Nj}_Un~(;U{-M!5fe2!7By{R{kC8>b^*6@ zw3%GXv8#*!;^<(r|IB%^eFU{G))SvwX#dM6@nG~Yfe$R&hvP1BHtx$FN}L>&B;`+t9nTWHjTPhePNA`~?L#}7$h4F0eC0KVb>$|vLL+XIKN|Ko?y zLC^2}A8$#(b=xoW)6fX#|7I>=X}}ow|7(nY8tA{q_&0C*uQC2>jGF_;e?8;Bp7CGL z_-|_cmk<2^5NC)Z(BBvt(PU>+q_&$mIgkw(I=l}wt7|tg8P{Dt8=kX&6xheJ>8_@x z*5^@Xo}I<_FI)Tv;QN()OCrEpKUOBgU;NFRtc5SWB9!SrDA$-a9Db$_)UQKlDh@VPoVUbeb z;i{^`8YdN&NiS~QMkf&e^HVSA3GCNb@h^Tpc(j#O+*654`$C*yRm@lvtkn?1C<^uw zue7-GEYrbpnNwK{cnM!^dU3EypOwJKp`N&P1tdQLr7QXUSgIs`rx`R~c7 zb!RTQ6Y~M{_>f>k*Sr8xNW}Fvna03P8~f2HPGq1{qkRgFO<=rH&a#OGXUBBbw@9`? zY8_qVv3X5TSyU9~8Vj`aIXKQxmE`7~7s78zNFTO%hs`$noU2{p1wAO!k9Jn$=y4WS zoKj_BA-S}gB&MR88=xQH=$okRao=u<+i56#N=;4O$+LgAh%MdZ^ru6vylLXo$O5*E zv|We}hTvgV)<&E9OU{yq&8wSvTo5rcp?0v2k|p295tU|$3btI~jVKzdh=IjixE5|S zZjAAea7t=(ZY~2p=>#iri<*Jqhq%8#+{o*J_x^^cBa+1W>u-fPv>-44*Qe!QZ#5XV?NFd<-(w5(gxyTGT6Abj{n znP{Yz{Z^6U9;CGh;Q1}26 z!<7p0A|;ZAa&HvJN4lrLjKm!|)0`XC&npo}wsg+uSu|8wSFF8f#_QtdJoaeANm z^Rt2S*%twHeHJyGPRW%pQ(W?Ku#zGzE@z|21qoAo3AQ0Mmz?D>H%_Sm)JARUWWjM9LAhniD?MK~>h!A8-8r!7^hoyh zJ(kdtyq%NjwTg>cJn1FF>kq9qcE<0(`L;aTqKPjXjPsCHI!6UH66<%muuf4wyrgY%Arp2)E^tYq=Dg)=5%*5M-o6^;2W=NCbAz8mx1UOvbZWgB z@9&V46Z70G!EK4W*{EM100ngfck{`UA2shSxD!S$D+-6(g3LupMDip&$y`_1;`O^% z79Ypsi(Tq2dsd6v;Zd<86)dIca3R7a$`(vcje1GEmQT-$v5&VSuhx&xDkpII)SJSi z2MMvVafAq5ot7=M8Z6Ym$f%d;&$Qu3)Gu_f&-`u;C+JefO|CgFX&PV^6{|-E%{@#I zI{(JAnVz4QSBgLW#f>4Q@cIltvm-}3|c$bnR$?wk;5omWdR zD*ZL&twRTtLBd(tWHk$Fqv|S=3}j4IiYK4GEZN0e_GzYY;7vv1K1IZ54#DavOp(y1 z|B;dY`VuS+FaykJs?8p^DFhx1l;?*V3Mf6(EoE#R(KKC3@o8`8Q<*p?zYjK*X(D9Q zK@B&KBvx>3WvYl;!--&=h(#yI*YkMnd;7+yv-BD2!LnA=Je~*Fk%?PsgMQ6$p|L&L zRrk9{O!p$oOgrwQjTwjSJA}!X_4dx(Ww=n?C(t0`Ji~!V#%ILZu2w}qNYo$PkiiIG zhiK@an#%_}EIw?aqAiJrME7~xNsG1FTO8GD&-On8x#ZXtX={JBr$)?vc9b-x?`@sc zDziKrSfE8HSZ_%#xH(!ooUPN;MKXJdOmJ$tx2jGmR1N;>cd_lQvj}yZ?M(OHViyvY zEb~~K%#E3LK#8%`GDFr!pqis_j8s%lpZ+b+1fG4qpgJhy+=$fnI>{EU}Ou zY?@k>w$1U1Ghb8i$JCo-BFUSQamLSk1d!1)*$mZNE&hbL!s8Q}3uKa}uUvELafsQW zIvXjuIHN53FTHz3EobhY9)Bz&@vLlVQb8(DbvZtl{4G>%UluR0mP44^GZzGfnrlD` zkI>wb3zo!6*k@J^)5*x z7+ZQ%7g%KTJFJ&?A6nw(X!N$*5gH87$YS;cliY5ue1Uu`h716*8BxuQhzcDNn$ zVuIC@`n8t0HB&9e`&QxdA1fKF2HqAkR`p(n5;Xx@%b!)+1}S$2lgG|=6LJ2RWbnc# z!w)m- zi1Z#bFW0i@Afq7ornoMS3-F{cL;h;!5fxLF>T)s+1L)!7(BDQdwfu+!Wa1OkLu99u zvUfU-TG8!ESx|t5`Z> zBPJgDh|2?F<;|(orwOPzjA7pS@6j9%MUw)D53r)YMA67jXLb}K-oI7u)K{4j={ZFW z>=M_3U{rB_nR&}pO#|{H|LPw5I=l(h=I(ueNI?Cr0zJyK%tc4HQ8gQ zKUbBjGv-q3j5C>yuMbWj3Te!vGS2Xm)#=X|IbA&c{GE|NLc3gv@Sz z=bUb3XTJA4YafAqmdI0+f!;V4d`RAHmMB`#6F*Nrt8PX)jU%&m$j&(x@t zl%wKEN2Z7yT*60u9LNOzD7H!-ah!bxVY%0Op&|PDIPvX9f3du~YvCS#UiWxxY&A&TEV$vO?O^%G0A+;0Ot^d) z-9N)h0xTgxxky*#BgMyT4| z+vpdp8MV4GB4qAM*{Ao6=Sk)?M9ZK3Rbtv%1*BUO^xxzi{!&1{g?2-IorjN)kBffz zXP0sCWZA4hoB4Z3%~sDh{$zbym(<0b#Vnth=HC6 zEuI~&_gKPp8A#I7SKq7m()frIU=&l_n;41Z#y&Rj4v2X#C*!0Z1> zQvl_c3Dk8Cxc|sTMf|QzHehN^-=-!Ht<)xsSxGAKA{-e_wX?dV!a+VAnAW^D+xhJLGyrkyfUy^RdEeaoQ!DG^{v0z`IBJ1~^(D=gmLA;-M z{6g)lvuLZu`h~J&*jMvHJ*n^M>OQ+(Qc?#af6+Kq`GXrb(N~4pKs@<8Q*#|3N4}F6 z>vIk4@$mp9GKFw;%!4-TCpkNT9mfw~7-*RICVdB{CYzc^MyelGNBY%#J08mV+V=HU zS6kNj_%Yp706}Pg6MWXF6%t~ZRe8)$`ufpcM1JPlr>uXLIVrLaOpZUzKOw;R%ULcL z%oBNxO{8a5LYO{AtBtVZb)2jc-cfMO0p$E1SPN>?7At6>?mhZrA6! z_(|jo}Tv%fp5YNLT)%mA8}W}=!Pe{ zE|Zr`LPGNFEwHltwIXSpVYk$VN53zlWb_W2^) z0EmNE>&s*)4%{b#ZcO-Tmb-nOlcLwt&*az9?^ib_*T1v?f8PMu^DnFDCoaPyJR2hn zN&vB<5WkNdn|SOJ`O4$y{GCRS1@Rm+oI&oTvagbOr=&< zq$DZ7G=I^i&~l|hujp0!j=9<0DGGaGs{~uED9ZjCWyR!+aP$p0YA7rhMiy?B3YW%r#~27(UG}x zH{*&zQ`I>QQq^t4;eH-eH>`TgR~%pr&{fB}YT;Ij))4-06sq@kD$HwGm4FrD;Tcaa zwpG?15EBu-lt(IaIb9I3e3)Yk(|ExE9lb9q1G+^-3gk|9X#!;S8Zh0*8OH13ZZz z-#9WJ|0f^a2*E;2&S;I>xgh(E>-sSRc~@#{Yo?K(vAd6qCXll<%PP`(SX2LU5E6;` z7}K`<_GW0t(~PDiKES;^_QA(>&fB8(SMzdvT|YO|0;7vAIZtSr=r)ny$b`!~Gz0)& zKKTrX9Xy50_e@bM5y<*H&qRip|1{sPMj#V!o5Yn4{e!3zHQ@cxoF(&!VhT(j)+h@Q zUNyrgNJ6MOE;An0Kpdz@b@7}^qnFCtBB43)ynV?|ZlNh{K)D6*dus*Ap7YwAZ$WsPsHfFKlHUO4qcW-Ec9>JbOQK zhQ8+gRV+s?W}(pGp4Y@hGK{1%y4LE$MZJB(V}Va>f`UQ0N~tf8zm74~np5YeOv|_( zBbhgq#H5$>e_lPp6o!pg80E7XM6nh{|Lg`zno17)*1A^-kEeD>1-I&q=vve;*M>@} zQk=}Em=ohlQwp~F{WysG0u@`kt#xX9GbIJDiLm3c5oKX5_N_T6QcC8mX3)m+m6-7V zTrX-XIVCya9v$iy0~Gp0p)N(WYoVj`iVj>-& z&&la{=DnC~?Y(2R1J(Bm(bgO4SOI~~@gK(qQJyBOs^hijat;mcji0znxB9^C)|9UX zJ?24?9AhlzvJ~y?krB;P&0LuWpwNsr3wc*PZIMdxA26#*UNytQ`b}auvx9nEJMTIz+4RVHR@Sxd?5D zk{&*@R_Ul&WumANe&_XzKT;yt63DK84n@-(VL*?ngQyupwjTQSt^WaXNV-#0fa_&8 zjwOE_Hgj5vkXnmgWz)3pdWru5!xDZ$iIvmVG|lPhDP3=B^0*E$hsw(5D^J&{Gr6*# zr2D@XDwmEejnCeXm-|**4Cy|7jCUL_BYZino)?BkKA*RgH>zC7LgwB|c^=G8#I$C+&(i{OiM{=B{B^&jtkZon7&$`V}6X_ZkQJ{9A5 zEGa0nKTw;2(**Wi&bow*9kJ=~)jA2~MjFbqAmZB+E)^1R7hOiB z^nOQMjM!|dMIuF$6^;aP?bB!2&+Y8Kd#FaoesyeHlqYI!~iwmj#N@N|Vp>md_{pm+^ZcMXIY|2iumjh)f0t0@mM zbFbbTJraR3!ud*cK%UCmePvKRfFgCz8jNS$-Xn&Dr3>h#mVJU`nOmHXEas7yM%P7b zDx~06I8NcYp3j_S!E>0s*6a!NJzZr2Ry0;EUAIV2Z9># zOKPfPJ;K}GPv4KoZ~d@eIJ}BoFQwGX^3eEsyJmBcO4=ZKr~Ur1D@nkZQRFPkkcxNe zd?rV80AxOq@@%lh0+n;ecS`0t2dZuCVzhK6dP{9CDE;d99$jASZ6}keZFwG_Q<9u=b1MPf<3Ga2 zHHQFXX44;`NmUOaqiUFR`1M;jWIVsJ{)!nV41ppi0sk zsxckZuV3*ES@Lq5Qv>gAI`=L0FmWsJxKGfn^aW2@AGo;Gh{hP6aaThGyetgbjWfxNZ0uzlpFXC8paICG`6Pwwj z^(><4_-nps@|tB?n%CCS!^6>*GcMQRHqbz>3pf+{Zgrp0;fwv8NSlZiMQ+~==N|QO zB5pu}zWVM&SJ}A(qwBk?<&)V){1wQ_tjols_<@EWQ}c*|1%Ww&{npFXQAzU5$I7Kb zImQLrAr-Gg(&uOy$__0D8w%SRid@?jw zp-35zs!UYyIn>jx?i=pzq0@`AfLgZ-$eLH7nzVsm=m6SH){SPTB~;@gv=P8T&YM zFt-dohtkydTtH=UtjFChgR!L)>#}I%2J^8tCGiXE&$=vWMXKKcK_2(?#T1n_W=nm_ zNnh|5xy+!eN-%KMnY}7sJVy#vr9~4ezth_C2*m^iU|a(NLdyCsmQ>N=iS?0MYn@MJH z4z0fgFD^RLB^;s?WZ17na6Ec*ziKjosdF?ownkrBA3jM5uu6Y8Aq!AvXvAKC^WKk* zo3Q75wwM>XOZTsdTrm6tNFne=0=)@a&_Qmz(!2Igs)wpZsHzSg>MFz@n_Y$ag;qO~ zFY4FeWbX`5VT)XSrybI{uT_6=d)lq3V=$W3W(|Yu%}Ka%;rg9wG1SKD0P7u&M(`G? z(}y^#x7)Lxc88yYLwk`cE6woBg$k<-ztFOlOQk#!)EiFjeYm`fU%`J=Y2amL9sfmK+JB-xcYvPkTP9cGj<8+7P@m2=5j<=t%&1N&nI7*xp^3s zITqR9_Kfc>fzKJdSueZQ-&HWFsG9!0%%vcP`O_x?_pHx+hu>zg99}F!bU5jXEW?>E zCWlR++S(o*;EFp%J3=R43%#Er~jjZ$Dno@~8J{NFwaYCK_tVQDI zXS^9+TzT7bEJoZ9*GW*~GRv~2>P;)rP;Y`-s7tRC>hx@o^ohB*IDm&rijdo!>nJ_v zHoYy$ANR^82_PGjHL`c-c!u*=>Y@YKFz)CzIthGTs?LRpqNNf9Ou1B!hQ?rJ9D{D70#l0SrDBeJJ1^|vF;YNJTqsDr-AH_~; zEaZhYjB>!N8<&LYcP`rhigKE`%m?-OBPNgam@@Dw(vP+n^~BMF(8e#PKCi+ah)Eh&2WI-*@lHo+|40nEAB z(6{8~*zysvez(Rg`y_LYR|IAwlv-)HU_$0Ohh8M5&Xka?Z#SsUQ7>Y}p963E=+HgI zEVQ8$H^4fI3*TKV^mh3NllpBOrAjN>B1w{LsI&Rr2su|&1TbE*$9elTw*hAJ@1zCr zB{9H>vc6ESAq_H1098MNG(B6#Jw1sDkj8Zo;?~GRt*_p*EIO8nS*!B3I_Xr)AfZea|7*MyK~F2^XIMg*50&bgQyIczN7|g1D@!>hQeXVh}Jkcorxkk;4-=#oTBbp%_`s1^< zx(ffW;q=?kfz8G_ zL!D;&nH3OO%ds@>AC)+)O_j^V6B$8Y^W`K*>L*g4)^b4N0o9LJnl3*i#pX3vcUchSYlTcT8~5(Rtd_AyqN{z+ePB zK=C#o*DZ!oj1FqZUr6SOPq^Y%KM=gnivogpnCp(MR&s4i@Ir*)Sl^dE_Ps;~$A0B4 zb-Vy5;Bb2&IWDg^6Ov_~Tg53jkE>XbKL88W(~AwXGnpcOGi|5~l$W{}ED5OeAi$8`C$m zzl21~l+*GQ#ZH@|ddkv1WtB_=s!hVHU3D0wSYe8zmxRS&|iswZI1qH%Q z2#)P@z2Cz6Zy$B~^^U4z`jk~n?Vpus*VtO;BGs^OFdmTe9<+B!rm78fTG^wP3lvb% z&N)I&^?)?%gFxjE2V-8?kFUOX1OVc+u9GjVH}@I*pkJb4{JdDhlt}+89y0(Mipe)Z)%z0<5G4URsz20B$*B|Ky8Use{-^Va_ z!}BK1W|wh-GbvuHJizlCcGvm(n5rbSk6^VIH_ZSyt6wfr%Y!s^h!yo99WU8_uLBnQyl^>x+W4_8UfaGU0Qk~ zsEF-(o-4Ap*5c|dFYNO^pv>7iPbZ3UjM!#WqZirOPjz29JYGyaUM4}XaKOg*&iU#O zkIqATM~ifzqL)veVG?XlR6zr$pUbD1+g}1%tQNI%$60=1;gM^qK^;0Mw<{A<)U!AH z;n>jR*ZBZK1ZJdx&?>!PbOMy;xCbf906W(^dkWh*b0GqiS8v9=j40fR2LMOaEEnA! z>T61}-Gr#AQ0bDfaYgHtqOi>(Eb1I{vwHvW3l4cu5^#Q zcMgv0o!vp(O^f@6{bwFHo=Vd5>Hw`X__1yyR7dIxzH_#ds%7_`6ZfKYe-<;ncLN%k zR^l~n+tpj_tz2M(A-#5cL(B$TT6ebUz67>J<#ai2;yQ=o>Eo1z;(a~xhe1_iXVYL$ z-TiRhM;iSbacz$=kY9fHk-sW7_Ga=&vfV^vVO8YJQla;cR=!vEXUI{4Rzfz z0Ay|%ozs0x<`NO)Eomw#C>&*t`-8mCaJp_doVGasqcgZ3c?fmEk`_69>IG<`x-)LK zP?1tBu0aZff!zbt4A)6#qx=Eye3W~Rb6IKp`5@3Of#TO^w<81g{BUM|%^XK09N>zP z)QHHZlG({!dBvX(V;uJ0Z$?1o5eFxo#*;2*^$EsbNo3)k!&4&RWFpgcVz~wzL0mAG z3xmPlV+ANtc(W{gVDH2~n?KRMj4a&e&==8*Aw|+N0rWYA(NKs>Y!5yz6-k6VVFEWR~;HZ zl$b1Q;?b*4ja%=IqOn`};ZAF0ZKATPz#*u-)v&N^S40SLfz~u7y`a^xl;!`Z+~v-X zD-!|;Igw$ZM(n)p9%Z4ZrK0o*Id;yxRFAz$Ww8_Sh%L_iM@qqwjd}sp9FPk9n)TSQ zmr6=SZo=x6Sh#<*W5gYa%a7vWLW9pPI<3}+>9+2V(DfmH^rl2_*a!fm93Ge1?>qDS zc4Cp;2^qf^l!<%qRn0PT`l&eM#woBP*Bv1Mc}NE@$jCmKz-&;JmgqVQ1ynZ=7!F5xCMDuv$uH%#A_J_u%uRI|Kr-U743<#&^b6)vWA6iSjR?^t;!|K~q zsS*>l>{e!sq$6u~aE!rG$?j66k31R|7h#)wS1k>WYqZMGomz9B$yxj6!oM+lH6MI~ z2p05XFS!vwT)ba#jaG5)rP?l%|^2by-v1jC6k&+r^e~v^B$U z{QQ}U)5f@#i5=ie4Zjx6uGlLaWAy87;W#p91}>$tIajE&#xU1kwmqT_Fxd23ek$vr z*uGSvn_EDT{+fyl#YjfWc^HnTMnL|0WXY7V-{gSldMyQA=$bvxK_XrnyJud2=v3Cu zp3`M#FQQM~FJD8hK^1EqbW1G$vUH%qP@1c%|<#oD7xka?>$m&%4{!xw9Ci9V) z=aB8rYm<~oyCpeZe=FqJ*5}W#4(k@KegC_-NWF(yh8Q(E27WjqX493v(d`QJ%7 z8h+{4+x_UU`-aUH+L8}{sNM9oUa0tNGs~vUgqxO`xo}nOD$NhaGq0n>d79y@wSxnd zby>*5!B)kVfTz0b+4KeVrtYNBZ*`T?)ol_TP#3RrEzDlDve}*M;m4gc;PGxXyKC07 zU^`GzdG7@@iEX!LL7&C8IDFpwxjv{6(;3d(6bZCo%wnjb0EIm${+JH-!>Hjf;@o&; zV1{mT-NB@I+HQe&crfRo|C^U##ty+`STFCyT1=w^u zW)1;JdIZW?St8)lOVuvvxzH|C&)^`(NUHwfkK(mm)qJI#^NuFbovAg}3XG=nS06(b zx?Uca?t*56hVM3H;5`;R5N0L7$Tnb6#%u(mcuZ>g8Zp@O{p z6l8)P7WAiEtNkTsaKDx_jDE~MZ?k#lMWJf!hm+7pca?P3#Cm!uo8HN_Q+aPG!jQi^ zSjC796V&hl=+7Agt>$R^lhuiP8bUv*J5u3uj91RPu9P3Q`zATEw_G8YtTi}ab*S7# z-4y7WrPW=D-N*~@=S1A<91Y#o(%dA7+4Qvy_p2^Nv?kLW4kV|p4|e{L+$*XgQi-Vo z6$d|E-4=fARDU%qyhycju&14pk@e;&h3=ZE)3v;e4coc*Ak_taR%i?N~f%k=$8;mXBEDutA6pb#?4uZ?Tms;mF5Aq$EdTd`{5Jic?f z?I)e}fmC_yx)sr8P4U#0;!5cAc|w0{J^m~9mf;uP%~=_52Gg3kE=n;KQVvy`#Jqt@ zv^lIfk!uCvJj0?Hnl7R;G(DQxvgKN1W@*Xd1^7z(L!g8EPi5-!=km+9Yfys+fH3v) zl(u=!i}}YV_1n&`A5f2dG=qVNMKOuV^6F%AaxM;9wm1Oo+FQiH9gXuN4J8!*$8ANL zECV|`yNRWDv&{Q{N(f+a0Ks7BHpT6fgIhkaai!Y!o+MB5{%QHYI_sE+FP!?er)ask z754V_7wcrY8sHpAdkyE~{QX0|mzQ-18q$4G+IqPE@VxZT7F4tW_{rh=SlqHXIc$7< zWT{wRuP?>Gu*O;>=*sId?pjlL^!9DTAjvy$YZ{OF=nsllK$o$jSubw(QQ=7(&|L?n zm7bqk_Gt(@Fv|9~W;UkGz9?u?pn7&W8UZQLn?n08eh?}CiFVkoRUiw=P1eq5;lHDMkO9gg&nW37 zC2#pYBiyMhd;^zn41^(w3<4&~$&^6oqhH54pPoVsxmhXqNHs|T1%=)zt03=Y@9&uc zbX|6?>7qwec^8Q??-5$rAkqo!cHNx z+A!1Ofw;>>ug}Vf^VB{*ROnnsTb_rVI$I$E(Fyz~+sink-eU!yeoMT-5xW&+MkrMN zOcx^|InXuz(VH&SHits7{E!E>6_fD=?Pf>F;!rh&7D(*eT^s5B_IXTfG~eXh<}l?S z1@b8CwN|b*eWuab`bU+{w5dWu$@9h&un{0q3H2rE16co$mm(yP59P!V%HkNBU9yw8K{y<4g+s?+ z7E3qSl?;XjeI6&5pyTHEZ%68kTpB1Z9~>En;BNuq(rALn3Ee!u(tYaxXcNLFu5X`* zccW9d<+9!6N)feF*}Knt$<%B~{4wX-&8a0B-%j+oc+mZ5KV=S3k&eTpH}EBpkyeEv z;wu9bzoo(`1IHoH43Xd$C6(A)#-W_FbjF*yAXSfiv{2Eno2j#f^MSbuE(V69Bk7Q&2nllvL9=;QCRI|Y9U*gu zi(0tp%Q*5Z-$}-D=>U+eKd5H+C%5UpbDc2UzwD5(u&|&ret+dDZ~Ku(AQ=S(UBbaO z1AN9VHSRZ{IrcSwYO~n=;Pj}GYAL*)svCg*LsKmsX|_qa`-6S7nN?>QP2H@?4>)TK zM@GC#=+)kQ_99xnRt?u%@aI)>_@c3A$vAd$%KN_yjBJ&AtYVr(_n z9jhN1ExMu^S55D)w*7P-rA`}rp9}^+&`^IuO-=o6sdwEB>gzB3+2)EX30k9vqyg)p zW3d$WrM^k|+eP-V1|HkuiqTm8mlXNUBdUT3wvs}|$FG|k9GA|%CR|gMI7gq?050O< zNd{DfRlibK-{VxVr$t5w=BQc%!EQ6f<^SK zTIQMYCQEa~5CmAYK5%s+<4&W$Mh@f(-Wy;aX|8dUqs=s=x+aa7dC}&z->qfPmd!ZB zCeVPix_1WuokLItHi}p{EqC0UtOy@5d!^35VP_EZ7?3GnOO)BE##_JNZfdEOb_KNE zDLzZ;M07!)a%*q7vC`3PCVmMIiW-0&bq|ae;S6{@n_Nh8G#yIKa;OraCkJwliO@>z!?6 zf-ws^gBJ~oYS9ui1NG;|=C3;+bg1)dLHx>JVtAi)3pIN@EieYw4NkjK%b!|Uv)uXn03Rzb zuA!NSlkQhhQ4z%%RV&Kg=Asndn=e^=$olkp)?u)e>&Un9o2hCTy012E#$e`nOa)Xl z?J9uv#I9nct&+uQh`NJ=eMFQIkV|>8{VoEjDZUI&E<;=EGw*n-pctKz#W(91RfrDK z4lB=c66OE?w~=e}2!Q%HY)+^hNHv;zl(&Gv`F-CbRVLeryw~6MxEwdO%qCVgBNPn~ z&>7Em-CJyn6f3h3&y@X?@8!bbm~<57Po&;NZK$n>0m_DeRagcos9{(mL0n(j3eCY1 znh$=FOYQ&d#)$g>X%FrGbS_0~{I(Ps8fs5{ns&h1pb@?cc+J_>;%iD&%=~ zi0A#gnHorXb{sxBhTxDyacv@;1LfysTIt9)e$FMwE^&d?N6fo5K zx_w&O+)3R+DcE@O#G912Od3@?uCbrj5r)S4sh&fjQ#pklm`*NzrCg6RK3I8xVRw8j zwvRLO5vq~QxCZ((PgBBiaK6j%B{xUSt7Zl&29Tb$29`u+zQ8+NJ`zy-E+e!EW)5h5 zJWnqLeqiNHE3i=U5aO`$L;okL`s$^a8OHM{;w!Xj> zwgSQLI2IV&p7OR$Jd$ub|2)$;q8wt=!+6+{i8Ksm7I`$nBi;H=uf{EWL+#2EnA~!Z z6Ho&J;~j1rZRw0a?2XwNYWS>IYZ;~~32g9Aeo;c7GHq_2r)JyB&q}1&F#Cvzij@_9 zW*eA~WWXbK3OiEf@6V($9y3orvov1{#N&4;&%E^DSq#2E$^-Z?9r^60Ha4?p>TzKh zg;-qq(N<2dV4Nq|dGxwun zYby>LyzYKB(z-Y5!>(yZ2>8_I7Kqq19iez;Fb+-P`MI4@2h6I}efjz!=%)y3S|Jet zkV0J_U&Vj!T!`p~P2_%%l6nARLc>m7fZ(m1{_72Z?o<^+F)VTLR@J`)FW*UkuUBc@ z_713O-R&%zvY2W>6?vW?rJDzI19P&#NL8=Tm2i4VX0eY-o;LPl!Dt4c!s)48Dxx#) zR~{}myt7tVE8h6#2OS90AYQ?$w;Q zjMcqLw138LawNx)8hd`sKOHokoVQ?ALpK0EtT{tMBhFCnM`#NwXrZ5Gt%UHifZIV( zQKSV0YIrv{e;|9&bL;*s{C)WV{0)dm*?Kf}Z01mY7*xAj81>dMPnrrCeJ9Ms7}OcZ zA;M>fFYtLPNY}rvd3a=+pYBxoob$4U3ds+H|1g1jBg*9(X*ocaKprmZI#SYiWdh&1 z_Jv=Hha<7fgb)Ia6YO-8zbTn~pIui`ACd_oBmuFGwIO%P$IqF>>tO8yeRW-M}}aDxlJkjTN*Y?oab(e0Ygvu4MEH%wL=hC;(v6 z{8L>88ho%P#XAp@e*gPX_=tZ78XNv=;n;`e{|vd$zVIwkct=WGCypGP&~qIuzX$$6 z#ggU3_BN#%zHck~L19R7F{+Z@ve{iBKYf_LH!bXY;ojSV5nn0=IXU;dLR=Lp-z0Xx z@kX|7mR6u~8Ghwidt0M_$0^^WfvBpxB}E!R10Y5j+AD2N+SxSkN~ z0K1)^fz`%i8G+evxx=*;Ok}{gyOu zIxRNo$S^}FLl50N8hC(WL-J*+LhuKi2W=-pz_`olWh$uT@2D3`6PUCtXO^yih{jwE zBLNw=>g#si0)Pv1n^D!o_oGcE-Za-_8dzwNELwk2;(fyj{X6g*sv z$ua6W8m{dR87|f$tc@!C9uCWNyyj5`iCLo)mYYDqWXpwYLoE=~x>p*eYQ~UPd)X~`*>Z6B)7VrK;%kTwy+YbjAur|>CRaTO@u^j&YvG6BCul#~*XMiG=2q(e$Xy1PUg0YT{o>F#g?(%l`K?v&WXChl5*?#;(PPhvV5KF|wD8{h4pv)y$17o8=h1KC(diUpypLbL@F;Z8jX!OA z&0G2kxMcHm%4B-!-fdy8jKohD8XFTPDI7PrfEg}?bF8T8M~32PqjU4~F=NKv2!x8N z6^$WxF~zL&F9X+L$9Uy$nsjugJ26r3qF;VGQE-mvA!7Wf{9UGLohc3AT^}&TaDB%t zOusmALJTahe?a~kSL*rf{8}SLuQpt1 z1%%)%)NjCz`I)E;@pp|GgV4Kt1hx#~}KF@Q@xK)_>1m&2ySy;_+OMmJ^aDhJlt}Ozb zRZ`dRTPTo zge)qih8@gW2Rg|qUFSq`)w)Nyp0$dCjr|(lsR7UXNjd$`QtZ_(hwupMIK4JuunqGO zP+v1Y(nxDf|0vfx=j)rn;-A0!+r}8^2=njRjorHCqv{P4e!p@4#3QE$fQ%^D1rPvi8!!ayG$A>Tf48C}7MesD~xtAt?RqH5j%9jDUncT_^YTO*;ggNv&nSG8H(Y?y^xM;PC)rpR0C^ zRInMNl~&AZVZg?7pM|c?3c zUDVStqu=b96ea=!{WBhN#g|lIh3*kUwr9syl@>B#oC4`4!$6SFGY2`juN?x%M_=gf z4h+2{ubXUtUtFpNazP~Q%Ic&T(dw#IdIaXvnmL-JsD#)yV^k8_M{Xlz& zcL*ye?jvtr9CLc526=a(lyURZn8&;Zl5W3S>qV!}c-;;B^|Cz+wG>e_W!|l)xlda@ z6RO)r9Ae6-SgV>4MJW(tITMUgP*_{+7i=KSU=NVyOY*V~G+BoB=L1)`A#bzgrdb}D zx7V`}bpV4%7J^N92cLd+`XQI1tKZ7$xp2DIjdr4rM*m4#+UEvJatG-f0gE$1r$YoS z8yf-FQ=UWG`;ts^8BU4f&v8RZgo7&oC()-x0M?uxw%kYam`q~A)9-d{FJhV!gZXOP41CP=s z3>Uo27j7|D29OEIf|@uE@s`Qz01K9p!??81M#)4roVD5yA5J`7Y~vj_jmaB7Id*n+ zjpr=U*=c8Bxo8-%rEoIvId4&|(C*gT*ip{!5p{Gul#c6S=x(tdJCyzT1Np0{?Ez_)U;Wepk zTvHDNF5rtV8)CW7bx7W5n*~a4Jx_X23ElU;kvdlpB+AYz2Ew9fdoBGeU2C?gMl0O= zq%LluuA>pitg(u4@kWjA%!;~@uHOnfC_j<0?1zfQe7^_xCA=-Y&DauhUsSCr+S6_L zX@m3rB2CGw?1#lAk$c5?_k2W>T*HU#BgQGl-%fBQn8}Cq21BAoJ}^ZSd~w}+68|2R zD&#(5ltPC6S(gf%c5;f@-Jk=mJ`KY8b9)bbEdRq*uOOe09q#~vWA*OZ53xDQ+HRy1 zM-C^yGpi<2mFimxwNdctL;pt)7!c42@+v+Ax+94s%}q73^<;?7K@Ba<@xMa|UopgT zll6>`_&|!2oyzO{RC{?81)sjSa8A)OPKIrvc7z7+M`k#%QfnD{v_j+RfjS<~gOFEV z{+WjY^fCemBJ1tMQ)wf`V!_f%A8lM98~`IVo@SRHZ`pBoUZ0nrkbZ(fqP8x7jt2zh#OEH8^a|?S?|%+g^4Dn`yoM`33_x%@im!B#%?=%YWq0I4)LQ>Hn3p`-_S zu{6)?D(is0roC|HGshMoDmOLW*VDvmo9R@&j!{QdIG?7Ye70Xo+{ulQORDI%!YAf-=Ltz8Tvk zvmJb-Qlw|NZoNSryD>!_$DhJd`Fd%%+suS*w!N>YrFXX??Eic+dOb2N7W(%|u7gIS z8u;68F2|gezr(91BriM+x!Q)+%ohC`p-C27$PpcIO6Nh^^I_7Kj=CwkgKz9ppK4Bb zjd)7IH=go{oeW zUq9{j5K6CnY)s>ip+AT1HhLhd%Nw_zt9IW*TZh??;!n zt3fOKj(6(=F1}$2st#Ie9|rLn(~U^|RB$}l7@Os;g}eFzjdI2gX1_$fz+cqBP5p9| zj~h(AnVwEd0)uB5)J!TXPn{cO;gQT}Nc&X}eR{qbVs*&({2U!WNu9@vND1bv7+AS$ zm$z{ckkI~vC}F)o%&zN^Ld9M(=Z)|lVhlLBHo|nlE8uOZK!t}+07D*!iH^f8q>K{g zgLx!_c$Z|Svu*2vh%wisRkAduzf8W6H<53`m9HUL5FDTik98Vu+pWF@!>JxM?@FEc z@qX*)Qwx44ScpMF?C@3`(Z$&uLzL~bE|aML!Sc}9=d#JaLp8H8;x* zzwQ8ZqVsd><64MoS{a>TVcOW&#eyV#%c1Wk+vpbfqtevq1e%M!H%Y@#YQRi*y7#X} zehGDB=!qmHn?ju|XCt$o8gW|GE0f^TA3$75HOU}j?*&6!D65L6e)b4la8>T*p{NSl zE$8C>sN|uYZ0A!XJ*uK`dqVupB0__z;SkjX zAAS;3tXJO{L%tkq*;4vOYnp0V!`^E?(w@L~1M{&0_xtqwH-(G~2>G#gy8N|}Wk4Yh zB%B9Ky7W++5H3g2rM=#ULY!GfM>}X=SES`}_P{1gs1GHhCQUV+MjEr(p&yUcfp#9f z-BP!2g>FAzD&{DUnZjXP)kknat%!BAQ~Bym42R zxXO^S(roPuDfwg0O{mzSU%IBbUVm<)P`uL#G(071t76?%jMX;9&v9}Xo8Oj!0?W(a z{!!?y8!WSUED%8&$3p+`_rrLtpGBIGAlN515Msy8;)7wewp#SO-A;$Y2nSCZaZmtaj;pPx#jyIRKFv<{ApVUM!WmeNeAYH8MVvFJ|W!IC(drX z=3p}rXIKKE z6I(y?IhTQ-W+2jdk|jmSyXw60K#Y$9o#3}D4a&`<;|7k-ulOPR_0t@>5Hv4;U1@Hm znv)Z^+?2BIx5T_B8x=Y8-j!loJnGD(PSBT?5zHFQJ`@hB)h^?_yg_`Yc9wOnwcjZC ztL(V*{6?l|^Uu~dhkMNOBJ`)trwDfEbIVq&nayhDb6X^)defwoh;*l|*A*OA&GO5d zV_lm4EPJU@u2~a~_L$Jh0RSl>xjf`SLJ@ zY7^89$VAPOqjP761$(v_^1z5Lhtty1>znyc)}J8Oww#tj*A5 zt5{i3ZtADqVm<4+KNUhZji?DEt@x z4ps8ls4Da*P8^`*2;LdiQwBt2|zeh-smXdb!^sh3H$kbcw<;*f+%=`D8vp1 za5(cI)627!l3mDq%;$wp_qycfB)B)A_wl159lN}4O~A?j#LFJ~g-b{Lpy zLu5YRjk!kf7qur!sX_#r1v91=OY4Bop z{`rWd3XE&ob!68LuAAUmRw3n~V^V}R|FVOkp`EwWWgl(16-dtpPL5I1rfAg6AaB!k zN%&#(QKWIx<7wFfRk4wtxAE!8sQUic`4v17PXbH|e{SG9&{xugbbI-`)tq>%a~*d- z?U-GVvZGr+Y?NndEpZwl5B?TG^i6E5R^tRVbp-Y0P3NQP5jZR#F45Thu#$7pQ*yME z&o%vZe5G~~be#a3$wOiq^Hhd!Hyv}kydZ#FjI4Sq&kqW5YGZedeQOX5v06-QkpB8T zd-#j~Ns7GQfE2ufA|~b^bOO_o4>u!m=4~eB(GwoHD=Iu5m8%D^IeMTIy97u+VuvLP ztNqJaN+>GedALC@)M894MFky>&L^JTncB(oyPxzXid)+_U4!Xlft_cwlQq|*Y~0ey zVWmc``d<8Yk9@|ClsMww9HbCc5+Xi5Zo7o#^;2aAP@GoX7b%SP7Y)Nr_f%Px^C;X3 zx0{>{6kjmsSJg6y!J;i{Z^fs`O4L9rL7+*0_*|{_BV)+rH44etoee7G*5jd zEkl2(XD=*zBnTHj1bo2W14>ROf6>^%&FlDGig@v0; zOJ+6jTF9+3$lN-$5;GYOJY%FAI{=-m;w#b^SR+$b=jMi@%G3l_Jfrh{?OaMGg}@!G#zl+fHfV z;guG!zrf&&Rv-*{1GKb}^rU@4l z^3A8(Q{>oj2Sk~fVG_)>FLhY6OH~ZpWK`$MM}KN5JvTW%_4e{1rTY>#CtO`lI$=5T z;s=zo5DFoZ;dd=J?oYQ%cZqWyCO)?BGsrbDtdK-`K0{eD`DZ96xI{N7fJQO z6oof4syQH|qJc(ITxU8$$o-|V7MlmERQ4ts9(6Ufvp_!Qpjq5>arVab!iQl2z8z7v zRKSv57VNxMt}>0e7jHf8wR`M#K5=r)YZmvY8aAETVPRZBO(Q6%Md7q#JEj*VpwXOX z^2F>MvGU#i_uS1*UWTozvvJIMt@D;UQO*P3hI_X8EkCQXEyYU1v%j3HG2i1&D((8? zLg#^%i~m1e`J5q9tK0dW==#00X-&bf!jv9Z$$K*hfBNFx(?tfw62ID&PjW@u0@S>n zmCncLV3O7d9eXDTW4`57?g3d(%wG0e?dd3iQy7^j;?RFLq7B@n&*@rbsh)clrNLi* zpj$h(eX($ACA0aYg{gd++Rb4#AvZzLXz;h?jz`=y=Wigil&aT3U_3kJ@OB=9_?3^b znxufAp%){&2{g&TM9dMRE9%JWR{K0@WrJ7nUXM%+ow|g!YDM_2+ zEXFM?SAN0mqVu1TnN;fPY|3+(b5$OD(~Iej7JS(0fVeReX<3J-j4CtI+DW-6$GdFh zn~ZB6!3XqfT@Kftw2&+Zg4bA55B310qTP-au78D9we-5q-^9ygtI%p7h@Yc-k zcS5YLsEem@`R1^6+Di3ZFZAipG=I$VO60g8<&yN1<{IjGlp?MwXV@RH zGGX(T*9WC0azJbwE8i1Hsv(~P*V=;crv2n2uA&2~PZofzq#aW$Jx~Z?* z6ZX{!(+(d#iNVsb=~h)MHPQYYDy60TGZ*hs!=`?`DNY zb;87sKmbDZ=7aKSXCT&_7#n{(!{V!vit*X5l>$@d6rTTg$1qo@{Cq#icY6H{(-ity za3e#mNUyD`qnxs4TXD>?ql^6R@`PD!gswE7Qgn3mc**p~Y^Fv5k+l{<=$m`@?kxxg z)PAT8m>=j7Fe`>P)C?p$dTJ1;8Flu!J(Qs2a7y)dhS9;x9QU%4YNmKZqwt&0K9137fZJ$7+%^N z*m6;bw_ih6VueKp^Pb4^tohzrboZ2*%;?po<6ZOhTv)&h`VeMU&spBOZuWBk7}_9k z2d){I7k@X{RkhZoPv&-OS6KcAz1K1b1ti6&Zki}QV4|f3d+B!PITw~6}L3$?Ua6*NQe zO2&@<`Gl=7012dzx@~WuAqAdpq(5I=p~ec=u!Sc5SoJ2d%>P1p*n*)to_9f(UCp%t z=NT3_l!C~WO)a%(1Reef{?(fsPJA11KHLM@4DoM_4mau3BUFH=3Z_=M_UVZj9@Y#B zdh?%Lj{4|!BO=Zp?=98R0e|G(J(uSr%&$;&?yGlv#;ak?o}mFnd0?jny^q8XH;SU0qP zuEyjDS%OF25~cZ+a3xDtTkP{=g`NI?<&(5Ppwa*H1zRCgKzUnp52Vw_-eicU54~f& zp+a@dfV$ehz0R41{wUNqPNM9uj+-|V#mxX!T!jb(UU^lI9N=%ha!N#5;3dg^wUB6b z|JyB4wE*i}82!Yqab-$x9s-McySp!u^l9WqU5_dR3ap^t$%UBw$_`XO&ebTKZJt&n z>A`$>Aj03}ZlNG>H-*Rs*VFJ*L37SpSd9QQ|Awy@qJjY6A@%U&$+N2k6ukuga+p!S zS?aThXfqSZt-r@rd60oDfi6b3_0=B4zq^M4?`?iri~5;b?p&j@<1bvoAl_fPBgU`__x-YQEcy;Z_dEh3j^M1tSYs1&4AxS$0r~lu-+yl zGx1Z;YFPj3{ajBRwFLD;;T+6#$}upC$7+dQ{MsG;ky$86a5xO_f4)3;fZ$M2d~H5k zKbM4{yEWj4)tcGHJ|;=1Ow)W14|7DSXW`Wo+nZiF4A3RL{*SDRSC83VyxW=i6|;n# zlg(JzJ$N65O>guLo`((MON!3y;4e{}X3&U&n=BA2jUsReIxcNjUupo>5J<+uX13aI zb~xbnZZZjPy8G9HlD{801!j*^pRigq)y!)ue0rX@Jyy}F!h)6r6=j7Fr|+?*WE*|l zKERj3zTvao-Khcj21S0j+TlNl8mN)7A7&IE9CNLZHi%XBsxpOFQmM;3MFbE>KbTQ| z*BX+X8y({rwoeIZ;Q_wsl5~*s@L2c3*H)2j9^adlI_wp3(5?TOaC6 zEQA7DzTvf;+?5bg?Bq7E?=)}qYT(12#QPa_Ah5z-;CW=X&iYKy2CqVM!to5HHGwhAO@*6GbCnfE8}*0~)yqG>kM~WpqqLr$ zE!F!kQS$PKEImA^{}OZWwEn_>{3sdfiUvOai|BKza2vm;+gnt64YaIhb%?A>)@M@t zT>OoApM)ln>FI9=hbV72LfmvJf)~OXzOE2|8R6i&;a~qjGzHAPf*^(eO8S*_@4UZ% zGaiVg>shNVAfQN}e&<(Nsa8&*)E&!X^}U7c^Zk$~9=p4t5(kvcO7N8#2xo*z?F=bXC43c57=;vILt zcF=7Iqtlyhvv75O-M-`@Ox+LOLgVP4MIO?v5RAbrWYz4+7T5|qBh95YH7MrMZdL({ zG{Mlp!ismLGIiBL7w2cyCgbTXqK>b2-fHOeY2c?ZzvoO)m1oZ%cM5*-AjB2%xzARO zioEB(dA~Mhgo#?Wes+a1pXXmC(xO*@aGvJUT3tss4@4MgN%)YpxKNHqI4kSf zMd{FxjqUGGC?2tR#BUT&CC-BDYO0ev_ZGfX(v#&uCaw7X1!}{Ae4;hfOYh#bYGb3` zq2RNJCmIT3WdZvJZ#{&i~a|4Y0 z+tU38^F2aX7-P&_B05z!vlH_wP@_ zEv8*P!>ir-3JV`P=+a&4Ntpg$JA4V+VXMAw@AYEwGIDb6xbFACo&5Es27KdqeN}%{ zGj!(y6!ttLLoTphe$cx6PJ)f#+>i2me8Pz##?>&Ae6)Ybl}!$iD{bCA-7B1uXoSFS zy|U#J6N5qP`_RC)Pu&ei9f~EETx}N@PKZj?8ztm$oapfq(YA2zpZqsfd#eH+_$&Go zvlk9s!vCUzUIC7u&9Ic1;mRdpB3&A|b6Yvw=wKF;f7nnB<$m&JxQe2c0}Y#7QVNU% z_&|{~GGOImt8SjE1qCPesVAxz)nvIXMf@|Y@lS3>Yh5r}cfMhjy?R`Q|K!JyA8O0U zi?l9QB}E;>CZvo3D!+6f%5c003l5;)6%%Q{w#8%@ahQgQn{1P$tyTUPVCB5`&PM;o z$~i#ha|xqy=gL;hAAr%2DSMWfddbmby607=qe=AscK%AAOsy@67|`x(4tz_5fRZV^ zFxYdvS$Gc?oilvIIvYJc!Pks;v%xI26!3c`niRLMMnwokAii%6nTyluT9P)YG>gcc zFe~7D-vrCbj8fXX-1CaayU~JkmwTkuGW|MpkG7SErw?j}SUEZOj3CQYV5iJ~2_SJn z5IdLC2BKa)7DE&j6-D+!c3Ac;%;HFlNJ;!cn#&O$E31L$(thbTXG9Wz{@niu!Z-od zVC@xEj!APoY@($8x-z6W?|0Kb^-BS&Qk9E3e`SJ+MjoIp2s_?_ahz>#+}GeTD;F(p z?*3SYn7#_Zzko%00w=cfNLEgh?G*-Q3cvSyDG}QMn_Taz_)M&klWk+5ATc~wiA=A@qA|;F)Y-{ zS+@U|!{z`T_U(W=>_11DNc8>?+c1_koNO`Gh1X=i-*|m!N!fgGveJskp;H)uFO4cx z3W|=E6thpER;tu{QpKEUj;2!*@mAP3v+Yz_V9DseSFf*ErX#ARwsI9Vr!Z1uaeqr9<+#-zD#-b?W90)!RsH{{AU@!p z#1WopT#*4YiixSIsRpj`2Z2zD-wY9jUmQCJ29EC*?iqB&9RBD~jt0Km6pAd86gq9B z{o8T#>9p=hf~rpQiwC7L_JMSFZfZ#tpn|Dk1J~^xTgbpi2zs3kvP`#)78Eg4N(JsG ztdNE;uaSnkSr9*G2l9|x9LnRQmD2y`%E&&a5U8^R6yJIbcd@<+%TZ(h}C!v*Bc zXn1m^By~PQa&mI{^`B;V9al}idUD)7AssthAh4$7H5$(OfjK?^P!;{MiOD(pdL7DP z)*oUV$e@RgTQOUC88K`BWAl#zml9epNq6N1kMLHeYu(DF9PMf)11o=qNwS_z!mGZ| z?Tgc#c-K<+z5K_+8oO6_x~vteordX6{EQ9X3FqwbPd;{FRDr6K65-7r;SgIeLo|Iw ze2uy{G47B)&5@CxZ(k*!lrMZ!n>jt1Ei;YA{=QTB3m`ka2q96?Hf_b6#Vvnw{%*#! zmRDaeM+TuQ|Fdju;Kl!?jOJK+i;8u^;)w$E<8sH!dj+LVmd#EkhUe>NKhT`>hXQrP ze$jUetzW$)B3!K?I95TytPsLt9o>%~m)^o#g&*Aj*w{*d$y+SaTvwagaKOmGd@|!X z_wuW#)pGZl01u=epdwQ}g&Z7KYaCU|TsMt-kgA-o;>y7K*h%zW-KkVeHvFI?Tq z18BDP*J!T$a<4KAJ0C$7Y%88prn;SH^U|1ZLfYP!n;YY?+z0$0Jz(aRrBFeOOn}HP z!B~fIr8LZrk2o(--TY?54ii8yaotC|wno|~I*snogX}7eJTu1le4Jy_7o4lVrC9Pb zr<{*YkM~Gp^-}@nYoSU=MdkO7d*u4TdJAd~VRMzma-1C{JJ4$I{(msGGhjJ89%9#G zl1AFljV5GvHhWPQ=~Q~g9M_mL%thL=rh!+^-6jEkv+-T7P)3e*4)OZEo(C_XTwTMF zYn3)V4&A~xdD9snQhJGT*I%!k>YX>{6vPaGUPF$@n;Cf%q-Q4YjikA8OM^epfy%Fr z27sSC{!MzJ=eOJhl|0tD%Jfu=35dIh)va=|!|b^jG{T(wE7$;znhsca?4!QxW*8Ji)x=(mBGTYt#HNFBXDgKZ zq)%1uH=jNw%X8^^&UhcN+PasB1o}T(RGN$Ils+H~4WwvAya*uZFIACALUbA0tftay-AH*YWw zf5g#`4&0Xc16esa=R|$OU-h9=u_fDyU4v=w<=?8Q!6_+uQ2(aT5Rk^f*CSuQUd$so zIr-Dp)UI@SV-dz3P3Bya;fiu5zc2nTmLTgE#GgU88HBtsw1qA;>E#mbuh%OlK!KRb!d?9cfOlkfxjMPhI;= zAk%%MP!&PQumQIgi4XJrX~3A7mFFk0_3sSNy+#!5>c0FTQzS`4!_{F2;dO$$_hx9# zr6y?4rj-zXjT%}lb;3KJ^MNNQGzsQmd4u!I&Qo7fe!FoBZWKfklzV)=h8$OVW(g8z z(o9@omlE1xcw)H_IFOfqZhy^!KVV6wP$!n&F*2#eIwpoG@^^mpFCx(m5g01AJ}_9ZhSAkOB}_YI ze;){^%)T!^CfM}GgIX!{8rd6@X^LrBZ>+i*^EXe3gV9#LeY*ig{f*b6fc#|L19nkR zE*?i{0IzjGzd;zALSnc5z{t}z3{tFic)|d6H2PI^^u=8geDfTDfnQ@52L_JB-#%HD zs>Q6q#>=M1%`CP{{(Up~+60xt>ssS55SSG3@d+2=vRhKDt#kYU*ijs*PYz^>)tEE%30n^YsHxBU)GY|5!k(42DJgqmNYF$WjtN>roHov}Q7oAXKb;0^wMnjzbkg36eN3k@K)P&; zrBQm~tf7JT8^^ zh=7>KQV-hyV|pun`p)KFznx}SzOb9TeHO*6b$nRS@Dr@g z5^(r2>EGB@|67Q+!K|=ORJZj~i01%lf;;!lGapD6+-cvSAgVKUuMZ)bNViOv@8-=LD&Kq~otE>X&r^|I_Vu*$GHD9C@e z3pEw(EP~}{W;#u|Md*Q0-SRm|UV`WG@R2n>;(4t7bVF`F(zE)4q z`ts5eDo{to_?gsTUB6Clk8@11_N51;9)!1YeibjFXO0U43s|k>2=YMgAYJP{&dYep z->jal^ezy~r-9+@;e#6!P5M=UD)V<7Cd}G{Q1_yS3#7GY7igw#ZmIzNk$^8c7 z)(iN%E){tgkC-jhepy*E*t2NCKH-U$uYOiNXQ|!4H7PX{&;Vi1s?VgrQ97;j=VgSAgnysP;>N<syfTcHPCk z(J{6P64htJpK&gcbK@&2eDp=q0sBa(7^|o}%=YUrE;S`S;jq%rgW*s5%yS@ReUsuzm&}JXVdep@0DZ{Ukq_iNM$n%u8qNJ=VA@fa zRM*?zKNWpzn0pFhThb5`6b;NIU8HAXoStXLn!S9{_5VUd04)2sG2Q6OS)z~DW-|24 zW=7;ebEBN9IyLjB@y%9-(zh!}*xz$h2L1r?in}`sz;yJx+|n64RJwDBUE|tH$|?aE zcXIyGzg$DA5SXv^u3qNMROg7)FYl~C9QDgd56Z1%Y@()Wg6A0UilwviGU3^m85MBu zjly6q=Bhq+Mm~Z`(;toizUbzq%vNskb6q2O9$j$$0Tc_6Wz$Z3qO}ymw z-smCb4OcG|4cyWY-$T~1zZ6v*dgT4*{$+ujC|W~`w=`5aeGAh*H`pv!UST+QAw=Z; z_@o3RN#odIV$8##FJFT>H31e~V1@zf*A0oA0}@B0OS^R`@fT>Lc5jpw8(zKa#3yoD zp+!HIMjR$lO^w`o5R`WL&tBo9dfmQgE{bkh9XYx$Q0>C`Ud7Q(bZT8-5BtW~snNhR zkV?7#5`fWY0)-&{#*g;Ojbs}I<&kAEM8%)PR^?*DSILRr&PG>dJ1^b8RMJ1EIQIxJ&7jEC z%j8Eq54f}h@OK(jZ7-;Yku~;zw!2y}0QD6mOEGb?%b))Z(4>?KxFL1iOnj7c?As_+ z4aq>Hc53`L4!{KLX3kw4{Zh`~&?0|%qHJT|X?(wmTK2&JpA{0UlY|ycotyl7UA>ZZ_V2QN}2!Zfm@}*e#F4QfEl?| zyZWw7)l5jrk!CP~^j^-u`r2BJgpUW?WnshP2>n|`L~Oob?i?!LvE_cU`afecK zuw2{5JeDxMXD@18fY$sc1)hEGzrvTh1fYA&zdqd1n^ihlO-(X%-@@(uquic8h>>3( zoZ(}_PLz-N-)k}l&Z+)B{*^-yeemwJghV;!ZG9HqCfgFp8PC(x`r7VjP9wuNj_H?u zE&wjcc*MXn$i~znOaPA#e8{p&F80>3rO#N)0rf_SmKo44>sK$X3_=ezkgQU7w*LoY z`-zUUX1?HAlk%}@AP)zS(Xf-uCt_W0cmo?q#h7ukf4uAK=n341_mg)iCT69jEg1jcE19+=x#@AMboW!mGdCUnt=IXoLsuf<9SD4FR5!uHWG( zgPXm0H#{#s@}VL(ZYJsY+vfsTLk@++5FOo`z5#f1$#;DE3-rpJ|elN057wG=pogTQmw5KkY;d2!6{Yq~rc}&cL+!>srTU@eOd6;)L zdZj0}H2u0~h8$xBGeBZ^qhMueU^U$PWp-9x-WG3ygSuBl1d)$*y0%Ta@XPLgk@f`j zhiRlw>G9RS zBS&936IVl#GLGFE<(;A%u&XNm1=X+!=-~@$u;FTQ7&lNl<3#$D=G;xTm1}-S;`x8H z+T$AliN#6y$w3HM`LMUv?ZPw$wrb%;A!d=;5oP4-j9dJP`s2rsgw@ya;~&I0bOnVw z6xy6>^Nq^zqf~!liL5N6MD6#eY!3o&rjDUGM=A4^zNY^g! z+mQ`QKR?qvEMX1bD#*y*3rjCnh8WF1ff(sl6`wAho2SBP3``6!@za$|g+2l(Fts^O z6VObLSnQ0PZ$Ji)1#R$eiXTKX+qCSLQcXRw($qYZ2c{*J4*utNcWAKb86fHaY4A(r zQ#@|Y-J%8W`tJvC&6t!6I+fyWKLz;vI}+GpxMnA`+l8tH(CO}5Zm!3b{J2!d>*LG> zsbF-Q6Oenc6cU<#@%Rzro%nPgDfQd|CUZ`G>JG+^DjM9(>V~&uU#?J(uctdytMGX* z$LbkD^S1Qo`~%FutQXFL7~hF%8FgG2?W<_bg}C_+MO!uv|00KlZ~;T7!HLNOWlM(h z1mIlQ{Wzru$Z=4rVyz@6+^~I-gJRk3w$vjEfzkwcDpYxh&)faoaM+un8if)0jp3b7 zg|oA&s(b-uIQHoib21l!-4btjZP% zI7u6{VAg&AxuF#JBuo%*%HLN3yMfJdmnT2Gv~(iSNAd6NEs&c$ZGAZWk$QM#O?+yT zdH&k33l$-Osgi|GCqWG_$8agc$xM+`w>fag)pFJ4o?9=RgSNWU!hjo>e?tGx)#|SC zR0iNsKJSKt@wt`U<14k;5|A&P)#x;x&*=<14u&1XqeW6@WvA?^H}+kTj2_=mKZ|(U z7UtA(p9!yVC)`rbIaCT9fitApccs))6?mP0s*5n4FP*l+wJ`IZu;>M*Ui@)k9w4%{ zXS%fgM$tsKi}R_cn*;N>5{&})8rlX@iA)4lMpMoM%b}_Tov;2exn3j@0)%=l0&rtT zQ3Zkm(FN|yY>eIZn((I2K6ur*35T}dQn%d+xLuRIM#$J&&Q|XEFGWOj! z++=58*0~Y?2oeyfFW4f)?HLL-Y_#elz>m_UPWCHa-(~*Tk|a0%!l9&4r90?l3WMdC zU*%<5td|bv+5dEW9MhORf0R~6lW?y?;Vrwt6#(nzi$Q%Ai-yrhoBRb_9D}%Y;<72%^W64{Bt@sqze)gZG5G$KBN8gZ0HDvQ zs#|Z-w()pFkNN@WN^Kx3?2I4|`cMww)t=XJuqz*@pr zNzpjLWf}JLH;R+8;$FXbMII*Yl|orc2?gstlh;u#cvAEuzfx^is6Zv_y;usR-8VV~ z&6AvS(>mdJIBSs)#VyW`o2BU^komk7d|lSOmTDrqM`&nhJhHj@}$C&_W z`*w5jF;J#|VaG183Bg*Q_L?Gv*{|m!cl^9r88icQ`)4H%xPLteSaUDWNz*-$3bwK? z(mz>tbL41bmy#MLaBOK*Qo*W2y7ql3bs_!z$;!O~nC)5nQ7~$LX}RruUx5nkcv+P; zgDNLowVvZId_St`PlI}_4*%j>7xIAfHz1_Q`_l_Bsp0em0>wKwbTt~_sT_reRlVuN$yImvJ$H3rrG-8>%rF-a$x zke>N>m=dFrb46Nrjh5%%F)bAgq4zk+L1eJXBCGQFmlsBW&+S`FulTi+Q>I&uIdrzN zg9d|MUy!hhT%A+h=r+~BMb1%F!*@PuQ49c%c6NX*!}&FcynRgqgGv*OkPjC9(L*G^hNC|G6k zMX(B4dJCiGOfmJ@Lqveq!G%0i&^#^Lay|Xt6!aARQ@AFQ(LoDw zSLV#sH9Vj1UXI`+#qE*~cm6b)1n34A(cgQr23i4=8SY=AG`&J0ef=L42m4T8_eilx zjT*ynLhJRyq0T6FC4E*b`K$6URVHGRY#||iCpQzv9oU#fO7k+jQ(K9FVz8rBW+%=E z>A!di)%w0r(x(Via33j%Ok(^5OBx@vqE~mj0%={A=llS?FiQ4Acl?jQ5|e)(AwuZt zYif1EKHDzPRO){j>L|^(>i_oiub0|`$M80Y8w{dW$erK>mgZ>B!*zU^4bNSd=@*2Y zTqv-3z*j!_Pq6(5!RM-T#>%P&;1idh-Fc?Yz7Y38`HOmR{KfSY-v<4E@HYqG+f*B56yjy5zW0Sfz43I7$$7z>cg!bc)W zz#Kd+CugGtVc<06&BkVELqB4ZU3g)4z>75s3la&Sf8jDE@ht{Qgl!+r?sr4A``EiP ztECMVm?7%$&OFlozk77;0BW*+plvC zSVX4^wY?W_;Z|_92oT2XXQX5BtUV^l7Nxw}CpS?>4*r?w=VSx~w9{dv&bE^d)M}n! z*fiVwHWnk01L}G4r;!ibqbuNCe=&f~O091$J?gQ;uD5i4XA?e?2|V}VQVHPkRluIG zOHB5U2RFvb;V#qeUY9BD`@6jfleZgR++M*lzg0pCm!VIPXXj`&+DPrkmylrJx+?#JQfw6m&XuIn_ztKqE2;q5d4Qcg`|9jr z*R*x7>UMoey@S+}?^xeTi-tieG9WS#@YoZeekT%4nGVB(-Am}UVC^_D1lXHSYYOTs zlJ_cw{<~9rhx*+o^bKC!hU@RwJy#iAU8tLlsA;(mMLzMfA%6?>oswqXs&yIId{$G}>%4sji=E3U_la z`)8ln$17WU1tpcA7w-35G`9YjHMdsHY8I`%{-GI306RvdO+#cXhM%RVE;jTqp79zX5wB@zWn)Xxx@-keI*;%xhY28?as@z9H5t=!4z*C&08Zi(wY z|9-I1dz|_1Eua*yfCgqAI1D>AFv=D4JI$x+ZUd`bFTPk@*30gN2jg`FZdsEF-g&2A zR|HD{`Udk~eDV2tEzn-YI_Rq;QU7dn&}MLH3d92l9^y0Lrb?)S;`As1?+n;V)Vl+w zKZNM$y&nVo=iA+!q{T<4D3%P9!}{&o*&7N_AbX7h?W@a}Vfp<548a2d3<P`^ivwy<1AH#CAo z<*%}up_d{}{R*H#4%Iu}z|Uk70e0O(#QJ}c^%g)`ebM@`A}ApxCEeZK-Q6K6Al=;{ zNOyO4cXuP*A|Tz}UEg`p-@SMK-^`0M4ln!cv-XN-t@Z4^dG~CI`ZaS!d6y;(I0Ins zZ%$S$rg^wYb~$k@LvW>=A2tT9r7u4RXifeH_1E!$Xa*OU3s{XP7&0Xm{p2fP#Onc) z(Qmh44DLYMkpYTdY){$Fd4RQ2vgGC)YS+coYt_=blJ<|qqqxgC**?w~v>Q^Jw;D=4 zd#_nL|7A`A(+Bzp@POI#oPv7#bHD>MV-Q~j7YQQoFqn6JrU4X7B(v3hf{)PKi*ux1 zA;M#SuhJr5v=#SiCc2tG)Zt-&wo3Aqzv)Ev+Qfm0MP#cc6#y z-Gl67rB3%7;A4c|E=ix&dh&Dieo6RMvnH0-Q-5Ui(N6$ihLZ#uXk}9Wai^{y?|JSA zFI6llIY_r-(f)7W7GEpy`hQQ9S{3@P=Z8eR@VegLvcIRW4lvkwz8+P-tH4J)!J`?W z<(fV0Z-)7qofj*7dA-qN(f^fun4Gd@LueQ{j74vuLrCH%#Kv_Z_`guen+=+cTS!!!Z;e4+;%7hB&Xn#o01n_HiuzQi7hlS~K88?_-Fax{o zv9yEQrv=BjxVWx=kt(qqcd^&NJx4qF=_|kPxSi2hYSYmFq9?pDK;-KmB{;xsr8;G^ zy7RNuqV#D$=YyJPo8JLt!czN|54c32t`{Y%x`)<1tohj^??%ylFZ*dB|Lu`k;q{g5 z)Az*(Y86b$u_6#BHcLm~pBKb?3k?40yMzR|tyrg3mXDq=T$@@V1+XZQgdhX>mX$;T z25C-}iDsOz3$ajlY(8=c;8JTRdV-z+_><*{%5|J2lr_VM2B6FM5Z@afD6}oSbS>`o z&-eY$5kuaZ2!W!Y@o8EW5&@gSi{u22Z&a29lnTx90KU|D>$2371}j~>+Kv!`gHvNr z)nfQ(`plbszuMkog8fex3^% z@;<)GhR$V$o5QDyE2ujngb-{-qvO_wwoAc}Abkf`jz|>nn6{~V5Z>k})(VAWI81W; z023zhJ4`*c;^gZV3_Mt1^0{l-bVR@_mVU>%V-lwX%h9^g+pMx?bFDpKgMB5psoySZ z)9XJ^^1Ih~K4#EUI%@*i&z$x>-hYSk{LfAxJ{FMfa=l!7*v>bKBU4tNL3F0RDgp~o z+U*JfP_3;*W~sTHa3}b-b5bp$orpuOV{n2Rr-+mCriRKi;t>|RGHrYlho&NDmzm{% z^e4O~U@4;yq^%&or2t#F`gpZnrGR_crK<=QQ8VsdU$++M`}?512Q)VJdwbC-Yuagh zI*COo;B=PU()H#b(5cnTiKlKc^#|+k*ZK`9Z%dD}ZyUy2|0BEnZwc|Iz}o^pXt#Y} z`lk?`vH#EXMgDOoZ=6$43tV~q7CEW89EJbegp=C>n2Ws*et!U;D@-G~l3c0SN!>U5 z*A+Pfi2I1RqSe3}C&K`$-Ui(QaS3K|p-(F~%Snv`lotjn&@c-N$?k%BM<9oTEiBP5 z>OG&8X`6!np*!ypP;7EB18$BHBYoQdQk%V6*U;DFvGEW=c9ta}11u%y+cv%j5^9#z z6Nj&^Qqx7V%<^umB43S7OkUI`l8f)IHEDH5J|WeYc3L%lTr6R*`KvMCKpUw?zEFw; z^Kn2szfOK2?i+|A^9Jk;SU*HsaUj|N8!TeuP~hQr!$0u8t0l6U0}ddfQU};`62m_; znC3{1HbeFXws#Tb-EQ|n{%dTBc>!*DuR|mh!P_47RJ{-gS7RkZf05E7h(DMkN(IzP ze80Cxod(0%TjBnADs;-o6CO^mWSIYSa7c4rI<7m3Oc}y*6DxoK%_TlWb4V#3}7Zik=+7*WtBn^ zB}+_UY@eb38ms`IzHb2;lzngawhoXvrfNW%k*t1lx6v%}3-+j!JIi16H2K@ic>|UN z+D&QqD>#ZEG8~MYMrjwGYa92Takye?(x3h{3)##EWb;SU$uNxX7tBX;%4gw`M0D|V zfo8_{9%zOCT;5)l3pk5QY;TubDK|D_ z>@|}H?dJyOY>o;U7bi8FQYkAvg{5lBo3WRHqJC92SKPOc`#iV%qJ9;h_tHRr6<-Ae zKwitsjd;&LVr^9;`-#2#KR%h8$LGhr9j1cWWF1TAerU6bW^!!)FJHq2-p_p%5ult< zgQ10^(>h!%ODDbe3yz(fe(j9$ae^Hdt{Q+|i%^cdPA_0RQeYlD>9rXMj%L zh&sUvMS!8S%|X}pt~3$lPknyAp^Yni%;eviLu3nBl6qmK>S51=`ugQTARRP(f9ol(?r>RcfXQk>|DX9;pVdJYC~P;T}E? z@o!QL8dkFq5c72>U60KcCQa&Ou zVSC-rsIQJg1hB}Tfd+b!Kv^cMGZMd#b0B&2;r{F^%dVQt&!914sBR2PDoeN>uC=KMZ&(dtGNgyX1X!IE+iW*zro~veO0J z8OY~vrt;;ZQ5-^C*u7-|9z*LgT%FtAo+bTNSC{oBh=I)qIBN_wVz@TONLu#wFaA#$ z{{(CRS^ohX@k~-R>}+2r)Un#GXQJCpBcr4$iq=a=&i>a3`0$v)lGF-!f0d=Q%WJPd z8=mAR0w;i01BaXdSCz`0y&R@NIBOW74al0-j4f%k)R&B;LD9YcLI1V$qtoIC#auzd zPU|`PuRkn)e#RVGnl3;3v$RxlH#R7ioI4mN7E}Ln!R66>l|JWrViDc`;x;xJ_7OJm zjc;&k3oM?}Cbn59I2hg=FuYZ4Fa(O$9>liqZy-1E--hS^1{!&YE^N6ig4C>4Y`S!x zQ8B^>DgPXSAMw2b|N8-p;PXVLcn{wgk}sWMK&m2^7JRcTj`!S}4a49It<|{ti2D{2 z#l?w|uka`5ug_4gf7Zzfe(8a6HI}#w0s8+Rl1_+Poh`5h{XfT@4X_P1HzAG7;2}u( zR5F>re64J9oDkl;1$|C&y&uVxLY?=>IqbHvJnlwi9aqy`&iR|moZz+S@RfGEA&h{B zdBOt^v)lZP@b_VYz*}*FC+eiwc`EfJ((6muHaZPvW@bh|f-8$_O9nkQQARkk@NETa2xev}o|W)RLH%=0VTMc(HC)(dHQC zb;Gs`_Wo6TfCM8~AU9RBvdwlJFE1}>r^mG1%6^8R(TeDJJ;N!N%E?@?I8!KLvD=2K zl+jN$!(#6B4l3GTkGKr67%0v&$-kUq2d6GWd!-nfPXKt zg!qz#Xasfv3>wWOa4=tySQH(Fd^X!`v3wZDOoialVqGpt7^ZRf&oe`zzVI|RhCiB5{_N$$`93ItwK=u9`|!HO9tsba9x*OkIFgS zrgPwzte#)0^htM@;M;S<22)UWh`_oxB0gpY8ip}fAr+J@I-Wm2W-l~Y1a#jek>b+9 zppG4GjJFr?zTB%$W5p(_aUjTV=g4;C%}9S5DK(#U<~`nbgITh*V_ov;^AR52yQuKY z1xR>ga0=Dm8eLAd+P&qn>Ioa+{>i!=im#CDtJ8qnNt-GOH+LJ1*Y3%PfUoG>E_ah%3FAPfe&4HCyzK-FeLBM^S z{J3HPTp9D4lW5`ZdJonxR|hVwR%h|)�uHfjv}sm%G2j>(Usr)+;)8rb#no>yZp& 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 literal 0 HcmV?d00001 From b67dda640b29da74714901445412c37c579157c7 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 10:33:07 -0400 Subject: [PATCH 046/153] Expand acceptable changes of Nominated BIP --- bip-update-process.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 6452e07600..e5860319a1 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -225,14 +225,15 @@ and is ready for adoption by the Bitcoin community, they may update the BIP’s status to _NOMINATED_ to indicate that they recommend adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a -BIP’s content should only be adjusted in minor details to clarify ambiguities, fill-in omissions, add coverage for -edge-cases that were overlooked, or address other issues discovered as the BIP is adopted. +BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill +omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is +adopted. As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -A _NOMINATED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _NOMINATED_ BIP is found to need substantial functional -changes to achieve its goal, it should be moved to _ABANDONED_ and a new BIP should be drafted instead. +A _NOMINATED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _NOMINATED_ BIP is found to need substantial +functional changes, it should be moved to _ABANDONED_ and a new BIP should be drafted instead. #### Active From e90f180eeb33de533b6c581643dfde94405ba3bf Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 10:39:58 -0400 Subject: [PATCH 047/153] Pascal-case the Status field values --- bip-update-process.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index e5860319a1..d233eff337 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -222,7 +222,7 @@ submitted as pull requests. When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to _NOMINATED_ to indicate that they recommend adoption or implementation +status to Nominated to indicate that they recommend adoption or implementation of the BIP. Where applicable, the champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill @@ -232,12 +232,12 @@ adopted. As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily discouraged. -A _NOMINATED_ BIP can only transition to _ACTIVE_ or to _ABANDONED_. If a _NOMINATED_ BIP is found to need substantial -functional changes, it should be moved to _ABANDONED_ and a new BIP should be drafted instead. +A Nominated BIP can only transition to Active or to Abandoned. If a Nominated BIP is found to need substantial +functional changes, it should be moved to Abandoned and a new BIP should be drafted instead. #### Active -At the earliest three months after a BIP has been moved to _NOMINATED_, a BIP may be advanced to _ACTIVE_ upon request of +At the earliest three months after a BIP has been moved to Nominated, a BIP may be advanced to Active upon request of any community member by providing evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -247,44 +247,45 @@ separate BIP. ##### Process BIPs -A process BIP may change status from _NOMINATED_ to _ACTIVE_ when it achieves rough consensus on the mailing list. Such a +A process BIP may change status from Nominated to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be -given in such circumstances. An _ACTIVE_ Process BIP may be modified indefinitely as long as a proposed modification +given in such circumstances. An Active Process BIP may be modified indefinitely as long as a proposed modification has rough consensus per the same criteria. ##### Revisions -Any changes to a BIP after it has transitioned to _NOMINATED_ or _ACTIVE_ are tracked with date and description in a +Any changes to a BIP after it has transitioned to Nominated or Active are tracked with date and description in a Change Log section. #### Abandoned -A BIP may be labeled _ABANDONED_ when its champion has stopped working on it, no longer pursues adoption of their complete +A BIP may be labeled Abandoned when its champion has stopped working on it, no longer pursues adoption of their complete proposal, or no longer recommends the proposed approach, AND the BIP is not in active use. -BIP champions may decide on their own to change their BIP’s status from _DRAFT_ to _ABANDONED_. +BIP champions may decide on their own to change their BIP’s status from Draft to Abandoned. -BIPs with the status _NOMINATED_ can be moved to _ABANDONED_ after a champion announces this transition to the +BIPs with the status Nominated can be moved to Abandoned after a champion announces this transition to the Bitcoin Developer Mailing List and is not opposed within 14 days. One of the opposers must become the new BIP champion -for the BIP to remain _NOMINATED_. A BIP can also be transitioned to _ABANDONED_ by BIP Editors, if it is not in active +for the BIP to remain Nominated. A BIP can also be transitioned to Abandoned by BIP Editors, if it is not in active use, its champion has become unresponsive and no new champion volunteers within four weeks. -An BIP may be transitioned from _ACTIVE_ to _ABANDONED_ when it is no longer in active use. Any community member may +A BIP may be transitioned from Active to Abandoned when it is no longer in active use. Any community member may initiate this transition by announcing it to the mailing list and no objections being raised for four weeks. ### Adoption of proposals The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation.[OtherImplementations][] After a BIP is advanced to _NOMINATED_, it is up to the Bitcoin community to -adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. +implementation.[OtherImplementations][] After a BIP is advanced to Nominated, it is up to the Bitcoin community to +evaluate, adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they +implement. ### Transferring BIP Ownership It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we would like to retain -the original author as a co-author of the transferred BIP, but that is really up to the original author. A good reason to +the original author as a co-author of the transferred BIP, but that is up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around From a677b0d324b6e8e3773c4e3ede759be93fd74986 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 11:17:22 -0400 Subject: [PATCH 048/153] Collect Rationale in one section --- bip-update-process.md | 147 ++++++++++++++++++++++-------------------- 1 file changed, 77 insertions(+), 70 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index d233eff337..d8dc554c59 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -23,14 +23,15 @@ feature, standard, implementation guideline, best-practice, or incident report r BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, -the _BIP champions_, and represents the champions’ opinion or recommendation. The champions are expected to foster +the _BIP champions_[^champ], and represents the champions’ opinion or recommendation. The champions are expected to foster discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. The BIPs repository serves as a highly visible platform to put forward mature proposals. The repository’s visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The repository’s versioning of the text-based BIPs retains the historical record of each proposal. -The BIPs repository does not track acceptance, adoption, or community consensus on BIPs. +The BIPs repository does not[^acceptance] aim to track acceptance, adoption, or community consensus on BIPs except to facilitate a +quick overview of various BIPs’s statuses to repository visitors. This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. @@ -76,7 +77,7 @@ Each BIP should have the following parts: completed before the BIP can be given status "Nominated". It is recommended to focus on specification and rationale before writing code. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets -* Copyright -- The BIP must be placed under an acceptable license ([[#BIP licensing|see below]]). +* Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#BIP-licensing)). Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its topic has been sufficiently addressed. @@ -160,7 +161,6 @@ finally recommends a mature proposal to the community. ![Status transitions](bip-update-process/states-nominated.png "Status Transitions in the BIP Workflow") - ### Ideation After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader @@ -217,7 +217,7 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be submitted as pull requests. -#### Nominated +#### Nominated[^nominated] When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working reference implementation (if applicable), @@ -259,7 +259,7 @@ has rough consensus per the same criteria. Any changes to a BIP after it has transitioned to Nominated or Active are tracked with date and description in a Change Log section. -#### Abandoned +#### Abandoned[^abandoned] A BIP may be labeled Abandoned when its champion has stopped working on it, no longer pursues adoption of their complete proposal, or no longer recommends the proposed approach, AND the BIP is not in active use. @@ -278,9 +278,10 @@ initiate this transition by announcing it to the mailing list and no objections The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation.[OtherImplementations][] After a BIP is advanced to Nominated, it is up to the Bitcoin community to +implementation.[^OtherImplementations] After a BIP is advanced to Nominated, it is up to the Bitcoin community to evaluate, adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they -implement. +implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md +file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership @@ -327,7 +328,7 @@ License. BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed in the License and License-Code headers. It is recommended that BIPs are made available under at least one license -that is not a software license. +that is not a software license[^licenses]. It is recommended that BIPs that include literal code be dual-licensed under the same license terms as the project it modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms @@ -348,7 +349,6 @@ In all cases, details of the licensing terms must be provided in the Copyright s * CC-BY-SA-4.0: [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) * MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT) - #### Not acceptable licenses All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal. @@ -358,51 +358,6 @@ when no other license is granted: * PD: Released into the public domain * OPL: [Open Publication License, version 1.0](http://opencontent.org/openpub/) -### Rationale - -Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, -some BIPs were made available under more than one license) and only one license has been used to license code: - -Licenses used: - -* BSD-2-Clause: 55 -* PD: 42 -* CC0-1.0: 23 -* BSD-3-Clause: 19 -* OPL: 5 -* CC-BY-SA-4.0: 4 -* GNU-All-Permissive: 3 -* MIT: 2 -* CC-BY-4.0: 1 - -License-Code used: - -* MIT: 4 - -The following previously acceptable licenses have been dropped, because they have never been used in the BIPs process: - -* AGPL-3.0+: [GNU Affero General Public License (AGPL), version 3 or newer](http://www.gnu.org/licenses/agpl-3.0.en.html) -* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) -* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt) -* FDL-1.3: [GNU Free Documentation License, version 1.3](http://www.gnu.org/licenses/fdl-1.3.en.html) -* GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) -* LGPL-2.1+: [GNU Lesser General Public License (LGPL), version 2.1 or newer](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) - -Some of the previously recommended licenses explicitly state that they apply to software, but BIPs are foremost text -documents. As such, the previously recommended BSD-[2|3]-Clause licenses that only apply to software have been moved to -the "Not recommended" section. This leaves us with only the CC0-1.0 and the GNU-All-Permissive licenses as recommended. - -Why are there software licenses included? - -* Some BIPs, especially concerning the consensus layer, may include literal code in the BIP itself which may not be - available under the exact license terms of the BIP. -* Despite this, not all software licenses would be acceptable for content included in BIPs. - -Why are OPL and Public Domain no longer acceptable for new BIPs? - -* Public domain is not universally recognised as a legitimate action, thus it is inadvisable -* The OPL is generally regarded as obsolete, and not a license suitable for new publications - ## BIP Editors The current BIP editors are: @@ -439,7 +394,7 @@ For each new BIP draft pull request that comes in, an editor checks the followin * Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation * Document is properly formatted * Licensing terms are acceptable -* Motivation, rationale, and backward compatibility have been addressed (where applicable) +* Motivation, Rationale, and Backwards Compatibility have been addressed (where applicable) * The defined Layer header must be correctly assigned for the given specification * The BIP is ready: it is complete, comprehensible, and technically feasible @@ -447,15 +402,16 @@ Editors do NOT evaluate whether the proposal is likely to be adopted. A BIP editor will: -* Assign a BIP number in the pull request. -* Merge the pull request when it is ready. +* Assign a BIP number in the pull request +* Merge the pull request when it is ready * List the BIP in [[README.mediawiki]] The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as -correcting misspellings, fixing broken links, etc. +correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the +original intent of the author. ## Changes from BIP-2 @@ -476,20 +432,71 @@ correcting misspellings, fixing broken links, etc. This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. +## Rationale + +[^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs + had "Other Implementations" sections that caused frequent change requests to existing BIPs. This put an onus on the + BIP champions, and frequently lead to lingering pull requests due to the corresponding BIPs’ champions no longer + participating in the process. Many of these alternative implementations eventually became unmaintained or were + low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. +[^champ]: **Why do we prefer 'Champion' over 'Author'?** Sometimes BIP authors discontinue work on BIPs or leave Bitcoin + development. In that case another proponent may adopt the BIP as a new owner, even if they are not the original + author. +[^nominated]: **Why has the Proposed Status been renamed to Nominated?** Some reviewers of this BIP brought up that all + Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a new name was chosen. +[^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, + and Withdrawn which all meant some flavor of "work has stopped on this". The author of this BIP feels that all of + these can be represented by Abandoned. +[^acceptance]: **Why does the BIPs repository no longer track adoption?** BIP 2 made an attempt to gather community + feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the + summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. +[^licenses]: **Why were software licenses removed from recommended licenses and other licenses dropped?** + Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, + some BIPs were made available under more than one license) and only one license has been used to license code: + + Licenses used: + + * BSD-2-Clause: 55 + * PD: 42 + * CC0-1.0: 23 + * BSD-3-Clause: 19 + * OPL: 5 + * CC-BY-SA-4.0: 4 + * GNU-All-Permissive: 3 + * MIT: 2 + * CC-BY-4.0: 1 + + License-Code used: + + * MIT: 4 + + The following previously acceptable licenses have been dropped, because they have never been used in the BIPs process: + + * AGPL-3.0+: [GNU Affero General Public License (AGPL), version 3 or newer](http://www.gnu.org/licenses/agpl-3.0.en.html) + * Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt) + * FDL-1.3: [GNU Free Documentation License, version 1.3](http://www.gnu.org/licenses/fdl-1.3.en.html) + * GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + * LGPL-2.1+: [GNU Lesser General Public License (LGPL), version 2.1 or newer](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) + + Some of the previously recommended licenses explicitly state that they apply to software, but BIPs are foremost text + documents. As such, the previously recommended BSD-[2|3]-Clause licenses that only apply to software have been moved to + the "Not recommended" section. This leaves us with only the CC0-1.0 and the GNU-All-Permissive licenses as recommended. + + Why are there software licenses included? + + * Some BIPs, especially concerning the consensus layer, may include literal code in the BIP itself which may not be + available under the exact license terms of the BIP. + * Despite this, not all software licenses would be acceptable for content included in BIPs. + + Why are OPL and Public Domain no longer acceptable for new BIPs? + + * Public domain is not universally recognised as a legitimate action, thus it is inadvisable + * The OPL is generally regarded as obsolete, and not a license suitable for new publications + ## Footnotes - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - [BIP 123: BIP Classification](BIP-0123.mediawiki) * [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) - -### References - -[OtherImplementations]: In the past, some BIPs that so-called "Other Implementations" sections that caused frequent -changes to existing BIPs. This put an onus on the BIP champions, and frequently lead to lingering pull requests -due to the corresponding BIPs’ champions no longer participating in the process. Many of these alternative -implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" -sections are heavily discouraged. -[champ]: '''Why do we prefer Champion over Author?''' Sometimes BIP authors discontinue work on BIPs or leave Bitcoin -development. In that case another proponent may adopt the BIP as a new owner. - From b09ca95cefbf60c00f2edcef5b61c5ed66de3898 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 13:17:18 -0400 Subject: [PATCH 049/153] Remove outdated graphics --- bip-update-process.md | 2 +- bip-update-process/states-nominated.png | Bin 92838 -> 0 bytes .../status-transitions-active-abandoned.png | Bin 92647 -> 0 bytes .../status-transitions-with-final.png | Bin 53984 -> 0 bytes bip-update-process/status-transitions.png | Bin 43273 -> 92838 bytes 5 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 bip-update-process/states-nominated.png delete mode 100644 bip-update-process/status-transitions-active-abandoned.png delete mode 100644 bip-update-process/status-transitions-with-final.png diff --git a/bip-update-process.md b/bip-update-process.md index d8dc554c59..192bb7cee0 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -159,7 +159,7 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -![Status transitions](bip-update-process/states-nominated.png "Status Transitions in the BIP Workflow") +![Status transitions](bip-update-process/states-transitions.png "Status Transitions in the BIP Workflow") ### Ideation diff --git a/bip-update-process/states-nominated.png b/bip-update-process/states-nominated.png deleted file mode 100644 index 68c2455d4c1d6666012d7ccd32f45a02f61ee5ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92838 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�uHfjv}sm%G2j>(Usr)+;)8rb#no>yZp& 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 diff --git a/bip-update-process/status-transitions-active-abandoned.png b/bip-update-process/status-transitions-active-abandoned.png deleted file mode 100644 index fb394d0f5f453b5427a19dd840e79b07ad5679cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92647 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

pF3-q_2 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 Date: Wed, 3 Jul 2024 14:28:06 -0400 Subject: [PATCH 050/153] Fix minor optical issues and broken links --- bip-update-process.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 192bb7cee0..1d08f7c538 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -50,8 +50,7 @@ The BIPs repository collects any proposals relevant to the Bitcoin community. OR: -The BIPs repository is focused on information that supports the Bitcoin currency.^[Projects that astroturf on the -Bitcoin network to store data, bootstrap their own consensus, or facilitate another currency are not on-topic.] +The BIPs repository is focused on information and technology that supports the bitcoin currency.[^astroturfing] ## BIP format and structure @@ -61,7 +60,8 @@ BIPs should be written in mediawiki or markdown format. Each BIP should have the following parts: -* Preamble -- Headers containing metadata about the BIP ([[#BIP header preamble|see below]]). +* Preamble -- Headers containing metadata about the BIP (see the section [BIP header preamble](#bip-header-preamble) + below). * Abstract -- A short (~200 word) description of the technical issue being addressed. * Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the existing situation is inadequate to address the problem that the BIP solves. @@ -77,7 +77,7 @@ Each BIP should have the following parts: completed before the BIP can be given status "Nominated". It is recommended to focus on specification and rationale before writing code. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets -* Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#BIP-licensing)). +* Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its topic has been sufficiently addressed. @@ -159,7 +159,7 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -![Status transitions](bip-update-process/states-transitions.png "Status Transitions in the BIP Workflow") +![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") ### Ideation @@ -404,7 +404,7 @@ A BIP editor will: * Assign a BIP number in the pull request * Merge the pull request when it is ready -* List the BIP in [[README.mediawiki]] +* List the BIP in the [README](README.mediawiki) The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. @@ -432,8 +432,17 @@ original intent of the author. This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. +## Related Specifications + +- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) +- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) +- [BIP 123: BIP Classification](BIP-0123.mediawiki) +* [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) + ## Rationale +[^astroturfing]: **What does it mean to be focused on Bitcoin the currency?** Proposals to astroturf on the Bitcoin + network to store data, bootstrap their own consensus mechanism, or facilitate another currency are not on-topic. [^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs had "Other Implementations" sections that caused frequent change requests to existing BIPs. This put an onus on the BIP champions, and frequently lead to lingering pull requests due to the corresponding BIPs’ champions no longer @@ -493,10 +502,3 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p * Public domain is not universally recognised as a legitimate action, thus it is inadvisable * The OPL is generally regarded as obsolete, and not a license suitable for new publications - -## Footnotes - -- [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) -- [BIP 2: BIP Process, revised](BIP-0002.mediawiki) -- [BIP 123: BIP Classification](BIP-0123.mediawiki) -* [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) From a6b5e65d4a8a585fe85fa3c23c4fa32e4a31c92f Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 14:59:28 -0400 Subject: [PATCH 051/153] Clarify that feedback must be actionable --- bip-update-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1d08f7c538..151784ac40 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -383,8 +383,8 @@ to: * Readiness of the draft * On-topic for the Bitcoin community -If the BIP is not ready, an editor should ensure that specific instructions are provided to the champion for revision. -Once the BIP is ready it should be submitted as a "pull request" to the [BIPs +If the BIP is not ready, an editor should ensure that constructive, actionable feedback is provided to the champion for +revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. For each new BIP draft pull request that comes in, an editor checks the following: From 7f90aa58db1c1cbc94ff3f3fed74704b0c03cd97 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 15:21:51 -0400 Subject: [PATCH 052/153] =?UTF-8?q?Update=20Changes=20to=20BIP=E2=80=AF2?= =?UTF-8?q?=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 151784ac40..7501ca9918 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -415,16 +415,19 @@ original intent of the author. ## Changes from BIP-2 +- Refer to the proponent of a BIP as "Champion" - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, NOMINATED, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn are sunset. -- Judgment calls required from BIP Editors are reassigned either to the Bitcoin community or the BIP champion +- BIPs can no longer be rejected due to inactivity, but BIPs that get no adoption whose champion has become unreachable can be moved to Abandoned +- Judgment calls required from BIP Editors are mostly reassigned either to the audience or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track -- Auxiliary files are only permitted in the corresponding BIP’s subdirectory -- Comments-URI, and Comment-Summary headers as well as Comments are dropped -- The Discussions-To header is dropped -- BIPs can no longer be rejected due to inactivity +- Auxiliary files are only permitted in the corresponding BIP’s subdirectory as nobody used the alternative of labeling + them with the BIP number +- The Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are + discontinued[^comments] +- The Discussions-To header is dropped, as it has never been used - List of acceptable licenses was reduced to the ones previously used - "Other Implementations" sections are discouraged From 99646f189cf3a38e1304eb3f35670675699453d0 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 3 Jul 2024 15:22:08 -0400 Subject: [PATCH 053/153] Add linebreaks to footnotes --- bip-update-process.md | 47 ++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7501ca9918..51d8eb4478 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -444,25 +444,34 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ## Rationale -[^astroturfing]: **What does it mean to be focused on Bitcoin the currency?** Proposals to astroturf on the Bitcoin - network to store data, bootstrap their own consensus mechanism, or facilitate another currency are not on-topic. -[^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs - had "Other Implementations" sections that caused frequent change requests to existing BIPs. This put an onus on the - BIP champions, and frequently lead to lingering pull requests due to the corresponding BIPs’ champions no longer - participating in the process. Many of these alternative implementations eventually became unmaintained or were - low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^champ]: **Why do we prefer 'Champion' over 'Author'?** Sometimes BIP authors discontinue work on BIPs or leave Bitcoin - development. In that case another proponent may adopt the BIP as a new owner, even if they are not the original - author. -[^nominated]: **Why has the Proposed Status been renamed to Nominated?** Some reviewers of this BIP brought up that all - Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a new name was chosen. -[^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, - and Withdrawn which all meant some flavor of "work has stopped on this". The author of this BIP feels that all of - these can be represented by Abandoned. -[^acceptance]: **Why does the BIPs repository no longer track adoption?** BIP 2 made an attempt to gather community - feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the - summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. -[^licenses]: **Why were software licenses removed from recommended licenses and other licenses dropped?** +[^astroturfing]: **What does it mean to be focused on Bitcoin the currency?** + Proposals to astroturf on the Bitcoin network to store data, bootstrap their own consensus mechanism, or facilitate + another currency are not on-topic. +[^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** + The comments feature saw marginal use. Hardly any BIPs received more than two comments and this led to many + situations in which the opinion of a single comment or two commenters ended up sourcing the comment summary. While + some of those comments may have been representative of broadly held opinions, it also overstated the importance of + individual comments. As collecting feedback in this accessible fashion failed, the new process puts the onus back on + the audience to make their own evaluation. +[^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** + In the past, some BIPs had "Other Implementations" sections that caused frequent change requests to existing BIPs. + This put an onus on the BIP champions, and frequently lead to lingering pull requests due to the corresponding BIPs’ + champions no longer participating in the process. Many of these alternative implementations eventually became + unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. +[^champ]: **Why do we prefer 'Champion' over 'Author'?** + Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may + adopt the BIP as a new owner, even if they are not the original author. +[^nominated]: **Why has the Proposed Status been renamed to Nominated?** + Some reviewers of this BIP brought up that all Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a + new name was chosen. +[^abandoned]: **Why was the Abandoned Status introduced?** + Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has + stopped on this". The author of this BIP feels that all of these can be represented by Abandoned. +[^acceptance]: **Why does the BIPs repository no longer track adoption?** + BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and + corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to + leave the evaluation of BIPs to the audience. +[^licenses]: **Why were software licenses removed from recommended licenses and other licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From f2b1a6c56ad6947d5cd145022c542119f04697f4 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 5 Jul 2024 16:45:11 -0400 Subject: [PATCH 054/153] Add link to incident report example --- bip-update-process.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 51d8eb4478..83c0e2ac73 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -19,7 +19,8 @@ Replaces: 2 ## Abstract A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, -feature, standard, implementation guideline, best-practice, or incident report relevant to the Bitcoin community. +feature, standard, implementation guideline, best-practice, or incident report (e.g. [BIP 50](bip-0050.mediawiki) +relevant to the Bitcoin community. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, From 6ad41727490ed49a0cb25c106f0745c3c4fccd46 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 5 Jul 2024 16:46:06 -0400 Subject: [PATCH 055/153] Update Preamble description --- bip-update-process.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 83c0e2ac73..51d93f5d7e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -66,17 +66,17 @@ Each BIP should have the following parts: * Abstract -- A short (~200 word) description of the technical issue being addressed. * Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the existing situation is inadequate to address the problem that the BIP solves. +* Specification -- The technical specification should describe the syntax and semantics of any new feature. The + specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale should address important objections or concerns raised during discussion. -* Specification -- The technical specification should describe the syntax and semantics of any new feature. The - specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. -* Backwards compatibility -- BIPs that introduce backwards incompatibilities must include a section describing these - incompatibilities and their severity. The BIP must explain how the champion proposes to deal with these - incompatibilities. +* Backwards compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. + The BIP must explain how implementors/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be - completed before the BIP can be given status "Nominated". It is recommended to focus on specification and rationale - before writing code. + completed before the BIP can be given status "Nominated". Any or all of these can be provided either in the BIP or as + auxiliary files. It is recommended to focus on specification and rationale before writing code. +* Change Log -- An optional section to track modifications to a BIP after reaching Nominated status. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). From a6768396b566e75e77658746bc4fbf2a5639a621 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 5 Jul 2024 16:46:34 -0400 Subject: [PATCH 056/153] Describe Change Log section --- bip-update-process.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 51d93f5d7e..1fa362fdc6 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -32,7 +32,7 @@ The BIPs repository serves as a highly visible platform to put forward mature pr facilitates the distributed consideration of proposals by establishing the current state of the proposal. The repository’s versioning of the text-based BIPs retains the historical record of each proposal. The BIPs repository does not[^acceptance] aim to track acceptance, adoption, or community consensus on BIPs except to facilitate a -quick overview of various BIPs’s statuses to repository visitors. +quick overview of BIP statuses to repository visitors. This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. @@ -257,8 +257,14 @@ has rough consensus per the same criteria. ##### Revisions -Any changes to a BIP after it has transitioned to Nominated or Active are tracked with date and description in a -Change Log section. +To help implementers understand updates to a BIP, any changes after it has transitioned to Nominated or Active are +tracked with version, date, and description in a Change Log section. The version number is inspired by semantic +versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced +that are incompatible with prior versions (which should be an exception after a BIP is Nominated, and not happen to a +BIP that is Active unless it is a Process BIP). The MINOR version is incremented whenever the specification of the BIP +is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that +are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the +date the BIP was promoted to Nominated. An example of a Change Log section can be seen in [BIP 352](bip-0352.mediawiki). #### Abandoned[^abandoned] From d6780d7ae0b2131965cff8a0756ff20098983a53 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 5 Jul 2024 17:14:22 -0400 Subject: [PATCH 057/153] Address minor issues from review --- bip-update-process.md | 75 +++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1fa362fdc6..952e5a007a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -104,8 +104,8 @@ marked with "\*" are optional. All other headers are required. * Superseded-By: ``` -__BIP__: BIP number, or "?" before a number was assigned. Champions must not self-assign numbers. Numbers are assigned -by BIP Editors. +__BIP__: BIP number, or "?" before a number was assigned. The proposal must not self-assign a BIP number. Numbers are +assigned by BIP Editors. __Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. @@ -143,7 +143,7 @@ convention. * A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the network protocol, a change in block or transaction validity rules, or any change or addition that affects the - interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts, a design document and a + interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts: a design document, and a reference implementation. * An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or information to the Bitcoin community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community @@ -164,9 +164,10 @@ finally recommends a mature proposal to the community. ### Ideation -After having an idea, the champion should evaluate whether it is BIP-able. The idea must be of interest to the broader -community or relevant to multiple software projects. Small improvements and matters concerning only a single project -usually do not require standardization and should instead be brought up to the relevant project directly. +After having an idea, the champion should evaluate whether it is meets the criteria to become a BIP, as described in +this BIP. The idea must be of interest to the broader community or relevant to multiple software projects. Small +improvements and matters concerning only a single project usually do not require standardization and should instead be +brought up to the relevant project directly. The champion should first research whether an idea has been considered before. Ideas in Bitcoin are often rediscovered, and prior related discussions may inform the author what issues may arise in its progression. After some investigation, @@ -196,16 +197,16 @@ specification below. After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the champion should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the -formatting requirements specified below and named with a working title of the form "bip-authorname-topicofproposal". The -champion must not self-assign a number to the BIP draft. +formatting requirements specified below and named with a working title of the form "bip-title". The champion must not +self-assign a number to the BIP draft. -BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the -ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by +BIPs that (1) adhere to the formatting requirements, (2) are on-topic[^astroturfing], and (3) have materially progressed +beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin projects working on adopting the proposal, or by the champion working for an extended period of time -towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. -The BIP editors should delay number assignment when they perceive a BIP draft being met with comprehensive lack of -interest: number assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of -the Bitcoin community, there is no need to refer to it by a number. +towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors +should delay number assignment when they perceive a BIP draft being met with comprehensive lack of interest: number +assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of the Bitcoin +community, there is no need to refer to it by a number. BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or when the proposed @@ -220,26 +221,23 @@ submitted as pull requests. #### Nominated[^nominated] -When the champion is confident that their BIP represents a net-improvement, is -clear, comprehensive, has a working reference implementation (if applicable), -and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to Nominated to indicate that they recommend adoption or implementation -of the BIP. Where applicable, the champion must ensure that any proposed -specification is solid, not unduly complicated, and definitive. Subsequently, a +When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working +reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s +status to Nominated to indicate that they recommend adoption or implementation of the BIP. Where applicable, the +champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is adopted. -As time passes, substantial changes or changes that interfere with existing implementations are increasingly heavily -discouraged. - -A Nominated BIP can only transition to Active or to Abandoned. If a Nominated BIP is found to need substantial -functional changes, it should be moved to Abandoned and a new BIP should be drafted instead. +A Nominated BIP can only transition to Active or to Abandoned. Any necessary changes to the specification should be +minimal and interfere as little as possible with on-going or concluded adoption. If a Nominated BIP is found to need +substantial functional changes, it may be preferable to move it to Abandoned, and to draft a new BIP with the changes +instead. #### Active -At the earliest three months after a BIP has been moved to Nominated, a BIP may be advanced to Active upon request of -any community member by providing evidence that the idea described in the BIP is in active use. Such evidence includes +At the earliest three months after a BIP has been moved to Nominated, a BIP may be advanced to Active upon request by +any community member with evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -343,7 +341,7 @@ as well as one of the above with the rest of the BIP text. In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. -#### Recommended license +#### Recommended licenses * CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) * GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) @@ -359,7 +357,7 @@ In all cases, details of the licensing terms must be provided in the Copyright s #### Not acceptable licenses All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal. -However, BIPs predating the acceptance of this BIP were allowed under other terms, and should use these abbreviation +However, BIPs predating the acceptance of this BIP were allowed under other terms, and should use these abbreviations when no other license is granted: * PD: Released into the public domain @@ -416,7 +414,7 @@ A BIP editor will: The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate. -BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as +BIP editors may also, at their option, unilaterally make and merge strictly editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the original intent of the author. @@ -426,11 +424,12 @@ original intent of the author. - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, NOMINATED, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn are sunset. -- BIPs can no longer be rejected due to inactivity, but BIPs that get no adoption whose champion has become unreachable can be moved to Abandoned +- BIPs can no longer be rejected due to inactivity, but BIPs that see no adoption and whose champion has become + unreachable can be moved to Abandoned - Judgment calls required from BIP Editors are mostly reassigned either to the audience or the BIP champion - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track -- Auxiliary files are only permitted in the corresponding BIP’s subdirectory as nobody used the alternative of labeling +- Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling them with the BIP number - The Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued[^comments] @@ -462,7 +461,7 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p the audience to make their own evaluation. [^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs had "Other Implementations" sections that caused frequent change requests to existing BIPs. - This put an onus on the BIP champions, and frequently lead to lingering pull requests due to the corresponding BIPs’ + This put an onus on the BIP champions, and frequently led to lingering pull requests due to the corresponding BIPs’ champions no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. [^champ]: **Why do we prefer 'Champion' over 'Author'?** @@ -511,13 +510,13 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p documents. As such, the previously recommended BSD-[2|3]-Clause licenses that only apply to software have been moved to the "Not recommended" section. This leaves us with only the CC0-1.0 and the GNU-All-Permissive licenses as recommended. - Why are there software licenses included? + Why are software licenses included? - * Some BIPs, especially concerning the consensus layer, may include literal code in the BIP itself which may not be - available under the exact license terms of the BIP. + * Some BIPs, in particular those concerning the consensus layer, may include literal code in the BIP itself which + may not be available under the exact license terms of the BIP. * Despite this, not all software licenses would be acceptable for content included in BIPs. Why are OPL and Public Domain no longer acceptable for new BIPs? - * Public domain is not universally recognised as a legitimate action, thus it is inadvisable - * The OPL is generally regarded as obsolete, and not a license suitable for new publications + * Public domain is not universally recognised as a legitimate action, thus it is inadvisable. + * The OPL is generally regarded as obsolete, and not a license suitable for new publications. From 4b63d36df8062e52f0e4a2283aa85b94719bfd22 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 5 Jul 2024 17:20:58 -0400 Subject: [PATCH 058/153] Update terminology for status update --- bip-update-process.md | 18 +++++++++--------- ...tus-transitions.png => status-diagram.png} | Bin 2 files changed, 9 insertions(+), 9 deletions(-) rename bip-update-process/{status-transitions.png => status-diagram.png} (100%) diff --git a/bip-update-process.md b/bip-update-process.md index 952e5a007a..1dc5d5981c 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -160,7 +160,7 @@ The BIP process starts with a new idea for Bitcoin. Each potential BIP must have champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. -![Status transitions](bip-update-process/status-transitions.png "Status Transitions in the BIP Workflow") +![Status Diagram](bip-update-process/status-diagram.png "Status Diagram for the BIP Workflow") ### Ideation @@ -229,7 +229,7 @@ BIP’s content should only be adjusted in minor details, e.g. to improve langua omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is adopted. -A Nominated BIP can only transition to Active or to Abandoned. Any necessary changes to the specification should be +A Nominated BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be minimal and interfere as little as possible with on-going or concluded adoption. If a Nominated BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned, and to draft a new BIP with the changes instead. @@ -255,11 +255,11 @@ has rough consensus per the same criteria. ##### Revisions -To help implementers understand updates to a BIP, any changes after it has transitioned to Nominated or Active are +To help implementers understand updates to a BIP, any changes after it has reached Nominated or Active are tracked with version, date, and description in a Change Log section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced that are incompatible with prior versions (which should be an exception after a BIP is Nominated, and not happen to a -BIP that is Active unless it is a Process BIP). The MINOR version is incremented whenever the specification of the BIP +BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to Nominated. An example of a Change Log section can be seen in [BIP 352](bip-0352.mediawiki). @@ -271,13 +271,13 @@ proposal, or no longer recommends the proposed approach, AND the BIP is not in a BIP champions may decide on their own to change their BIP’s status from Draft to Abandoned. -BIPs with the status Nominated can be moved to Abandoned after a champion announces this transition to the -Bitcoin Developer Mailing List and is not opposed within 14 days. One of the opposers must become the new BIP champion -for the BIP to remain Nominated. A BIP can also be transitioned to Abandoned by BIP Editors, if it is not in active +BIPs with the status Nominated can be moved to Abandoned after a champion announces that to the +Bitcoin Developer Mailing List and the motion is not opposed within 14 days. One of the opposers must become the new BIP champion +for the BIP to remain Nominated. A BIP can also be moved to Abandoned by BIP Editors, if it is not in active use, its champion has become unresponsive and no new champion volunteers within four weeks. -A BIP may be transitioned from Active to Abandoned when it is no longer in active use. Any community member may -initiate this transition by announcing it to the mailing list and no objections being raised for four weeks. +A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may +initiate this Status update by announcing it to the mailing list and no objections being raised for four weeks. ### Adoption of proposals diff --git a/bip-update-process/status-transitions.png b/bip-update-process/status-diagram.png similarity index 100% rename from bip-update-process/status-transitions.png rename to bip-update-process/status-diagram.png From 374ab86fa2abe5775c917268520969c66b769703 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 15:19:09 -0400 Subject: [PATCH 059/153] Return BSD licenses to acceptable Got a learned opinion that software licenses are perfectly acceptable for text. --- bip-update-process.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1dc5d5981c..1f7588f8a9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -332,8 +332,7 @@ License. BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed -in the License and License-Code headers. It is recommended that BIPs are made available under at least one license -that is not a software license[^licenses]. +in the License and License-Code headers. It is recommended that BIPs that include literal code be dual-licensed under the same license terms as the project it modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms @@ -343,13 +342,13 @@ In all cases, details of the licensing terms must be provided in the Copyright s #### Recommended licenses +* BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause) +* BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) * CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) * GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) -#### Not recommended, but acceptable licenses +#### Not recommended, but acceptable licenses[^licenses] -* BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause) -* BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) * CC-BY-4.0: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) * CC-BY-SA-4.0: [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) * MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT) @@ -477,7 +476,7 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. -[^licenses]: **Why were software licenses removed from recommended licenses and other licenses dropped?** +[^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: @@ -506,15 +505,12 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p * GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) * LGPL-2.1+: [GNU Lesser General Public License (LGPL), version 2.1 or newer](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) - Some of the previously recommended licenses explicitly state that they apply to software, but BIPs are foremost text - documents. As such, the previously recommended BSD-[2|3]-Clause licenses that only apply to software have been moved to - the "Not recommended" section. This leaves us with only the CC0-1.0 and the GNU-All-Permissive licenses as recommended. - Why are software licenses included? * Some BIPs, in particular those concerning the consensus layer, may include literal code in the BIP itself which - may not be available under the exact license terms of the BIP. - * Despite this, not all software licenses would be acceptable for content included in BIPs. + may not be available under the license terms the author wishes to use for the BIP. + * We have been provided with a learned opinion indicating that software licenses are perfectly acceptable for + licensing "human code" i.e. text as well as Markdown or Mediawiki code. Why are OPL and Public Domain no longer acceptable for new BIPs? From 81940303d229f6c35ddcb5a81e30cad6c02d01f7 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 15:46:36 -0400 Subject: [PATCH 060/153] Use Author instead of Champion --- bip-update-process.md | 88 ++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1f7588f8a9..93823f555e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -24,15 +24,15 @@ relevant to the Bitcoin community. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, -the _BIP champions_[^champ], and represents the champions’ opinion or recommendation. The champions are expected to foster +and represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. The BIPs repository serves as a highly visible platform to put forward mature proposals. The repository’s visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The repository’s versioning of the text-based BIPs retains the historical record of each proposal. -The BIPs repository does not[^acceptance] aim to track acceptance, adoption, or community consensus on BIPs except to facilitate a -quick overview of BIP statuses to repository visitors. +The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to facilitate a +quick overview of BIP statuses (see below) to repository visitors. This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the BIP process. @@ -42,16 +42,13 @@ BIP process. ### What is the significance of BIPs? Individual BIPs do not represent Bitcoin community consensus or a general recommendation for implementation. A BIP -represents a personal recommendations by the BIP champions to the Bitcoin community. Some BIPs may be adopted by one or +represents a personal recommendations by the BIP author to the Bitcoin community. Some BIPs may be adopted by one or multiple implementations or even incorporated into the Bitcoin protocol. ### What should be documented in a BIP? -The BIPs repository collects any proposals relevant to the Bitcoin community. - -OR: - -The BIPs repository is focused on information and technology that supports the bitcoin currency.[^astroturfing] +The BIPs repository is focused on information and technology that support and expand the utility of the bitcoin +currency.[^astroturfing] ## BIP format and structure @@ -92,7 +89,7 @@ marked with "\*" are optional. All other headers are required. BIP: * Layer: Title: - Champions: + Author: Status: Type: Created: @@ -110,13 +107,13 @@ assigned by BIP Editors. __Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Champions__: The champions header lists the names and email addresses of the current owners of the BIP. This may or -may not be the original authors of the BIP. The format of each champion header value must be +__Authors__: The authors header lists the names and email addresses of the current proponents of the BIP. This may or +may not be the original authors of the BIP. The format of each authors header value must be Random J. User -If there are multiple champions, each should be on a separate line following [RFC -2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions [tk: what is the convention?]. +If there are multiple authors, each should be on a separate line following [RFC +2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. __Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. @@ -156,38 +153,38 @@ convention. ## Workflow -The BIP process starts with a new idea for Bitcoin. Each potential BIP must have a champion (or multiple -champions)—someone who authors the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and +The BIP process starts with a new idea for Bitcoin. Each potential BIP must have an author (or multiple +authors)—someone who writes the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. ![Status Diagram](bip-update-process/status-diagram.png "Status Diagram for the BIP Workflow") ### Ideation -After having an idea, the champion should evaluate whether it is meets the criteria to become a BIP, as described in +After having an idea, the author should evaluate whether it is meets the criteria to become a BIP, as described in this BIP. The idea must be of interest to the broader community or relevant to multiple software projects. Small improvements and matters concerning only a single project usually do not require standardization and should instead be brought up to the relevant project directly. -The champion should first research whether an idea has been considered before. Ideas in Bitcoin are often rediscovered, +The author should first research whether an idea has been considered before. Ideas in Bitcoin are often rediscovered, and prior related discussions may inform the author what issues may arise in its progression. After some investigation, the novelty of an idea can be tested by posting about it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). -Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the champion and -the broader community time. Not only may someone point out relevant discussion topics that were missed in the champion’s +Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the author and +the broader community time. Not only may someone point out relevant discussion topics that were missed in the author’s research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also -tests whether it is of interest to more people beside the champion. After establishing that the idea may be of interest -to the Bitcoin community, the champion should work on drafting a BIP. +tests whether it is of interest to more people beside the author. After establishing that the idea may be of interest +to the Bitcoin community, the author should work on drafting a BIP. It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more successful it tends to be. If in doubt, split your BIP into several well-focused ones. ### Progression through BIP Statuses -As the first draft is taking shape, the champion should present it to the [Bitcoin development mailing -list](https://groups.google.com/g/bitcoindev). This gives the champion a chance to collect initial feedback and address -fundamental concerns. If the champion wishes to work in public on the draft at this stage, it is recommended that they +As the first draft is taking shape, the author should present it to the [Bitcoin development mailing +list](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address +fundamental concerns. If the author wishes to work in public on the draft at this stage, it is recommended that they open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble @@ -195,14 +192,14 @@ specification below. #### Draft -After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the champion should +After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the author should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the -formatting requirements specified below and named with a working title of the form "bip-title". The champion must not +formatting requirements specified below and named with a working title of the form "bip-title". The author must not self-assign a number to the BIP draft. BIPs that (1) adhere to the formatting requirements, (2) are on-topic[^astroturfing], and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by -independent Bitcoin projects working on adopting the proposal, or by the champion working for an extended period of time +independent Bitcoin projects working on adopting the proposal, or by the author working for an extended period of time towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors should delay number assignment when they perceive a BIP draft being met with comprehensive lack of interest: number assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of the Bitcoin @@ -215,16 +212,16 @@ be improved to progress towards readiness. Pull requests that are proposing off- stopped to make progress may be closed. When the BIP draft is complete, a BIP editor will assign a BIP type (see below), and merge it to the BIPs repository. -After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the champion -may continue to update the draft as necessary in the git repository. Updates to drafts by the champion should also be +After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author +may continue to update the draft as necessary in the git repository. Updates to drafts by the author should also be submitted as pull requests. #### Nominated[^nominated] -When the champion is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working +When the author is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s status to Nominated to indicate that they recommend adoption or implementation of the BIP. Where applicable, the -champion must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a +author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is adopted. @@ -266,15 +263,15 @@ date the BIP was promoted to Nominated. An example of a Change Log section can b #### Abandoned[^abandoned] -A BIP may be labeled Abandoned when its champion has stopped working on it, no longer pursues adoption of their complete +A BIP may be labeled Abandoned when its author has stopped working on it, no longer pursues adoption of their complete proposal, or no longer recommends the proposed approach, AND the BIP is not in active use. -BIP champions may decide on their own to change their BIP’s status from Draft to Abandoned. +BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. -BIPs with the status Nominated can be moved to Abandoned after a champion announces that to the -Bitcoin Developer Mailing List and the motion is not opposed within 14 days. One of the opposers must become the new BIP champion +BIPs with the status Nominated can be moved to Abandoned after an author announces that to the +Bitcoin Developer Mailing List and the motion is not opposed within 14 days. One of the opposers must become the new BIP author for the BIP to remain Nominated. A BIP can also be moved to Abandoned by BIP Editors, if it is not in active -use, its champion has become unresponsive and no new champion volunteers within four weeks. +use, its author has become unresponsive and no new author volunteers within four weeks. A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list and no objections being raised for four weeks. @@ -290,7 +287,7 @@ file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership -It occasionally becomes necessary to transfer ownership of BIPs to a new champion. In general, we would like to retain +It occasionally becomes necessary to transfer ownership of BIPs to a new author. In general, we would like to retain the original author as a co-author of the transferred BIP, but that is up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad @@ -387,7 +384,7 @@ to: * Readiness of the draft * On-topic for the Bitcoin community -If the BIP is not ready, an editor should ensure that constructive, actionable feedback is provided to the champion for +If the BIP is not ready, an editor should ensure that constructive, actionable feedback is provided to the author for revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. @@ -419,13 +416,13 @@ original intent of the author. ## Changes from BIP-2 -- Refer to the proponent of a BIP as "Champion" +- Refer to the proponent of a BIP as "author" throughout the document - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, NOMINATED, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn are sunset. -- BIPs can no longer be rejected due to inactivity, but BIPs that see no adoption and whose champion has become +- BIPs can no longer be rejected due to inactivity, but BIPs that see no adoption and whose author has become unreachable can be moved to Abandoned -- Judgment calls required from BIP Editors are mostly reassigned either to the audience or the BIP champion +- Judgment calls required from BIP Editors are mostly reassigned either to the audience or the BIP author - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository - Layer header is no longer restricted to Standards Track - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling @@ -460,12 +457,9 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p the audience to make their own evaluation. [^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs had "Other Implementations" sections that caused frequent change requests to existing BIPs. - This put an onus on the BIP champions, and frequently led to lingering pull requests due to the corresponding BIPs’ - champions no longer participating in the process. Many of these alternative implementations eventually became + This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ + authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^champ]: **Why do we prefer 'Champion' over 'Author'?** - Sometimes BIP authors discontinue work on BIPs or leave Bitcoin development. In that case another proponent may - adopt the BIP as a new owner, even if they are not the original author. [^nominated]: **Why has the Proposed Status been renamed to Nominated?** Some reviewers of this BIP brought up that all Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a new name was chosen. From d198deb9a0f5327574ab1b9ccb13c3ac72df7e63 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 16:14:28 -0400 Subject: [PATCH 061/153] Replace Nominated with Preliminary --- bip-update-process.md | 34 +++++++++++++------------- bip-update-process/status-diagram.png | Bin 92838 -> 92293 bytes 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 93823f555e..7665946d9b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -71,9 +71,9 @@ Each BIP should have the following parts: * Backwards compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementors/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be - completed before the BIP can be given status "Nominated". Any or all of these can be provided either in the BIP or as + completed before the BIP can be given status "Preliminary". Any or all of these can be provided either in the BIP or as auxiliary files. It is recommended to focus on specification and rationale before writing code. -* Change Log -- An optional section to track modifications to a BIP after reaching Nominated status. +* Change Log -- An optional section to track modifications to a BIP after reaching Preliminary status. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). @@ -90,7 +90,7 @@ marked with "\*" are optional. All other headers are required. * Layer: Title: Author: - Status: + Status: Type: Created: License: @@ -216,24 +216,24 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the draft as necessary in the git repository. Updates to drafts by the author should also be submitted as pull requests. -#### Nominated[^nominated] +#### Preliminary[^preliminary] When the author is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to Nominated to indicate that they recommend adoption or implementation of the BIP. Where applicable, the +status to Preliminary to indicate that they recommend adoption or implementation of the BIP. Where applicable, the author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is adopted. -A Nominated BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be -minimal and interfere as little as possible with on-going or concluded adoption. If a Nominated BIP is found to need +A Preliminary BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be +minimal and interfere as little as possible with on-going or concluded adoption. If a Preliminary BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned, and to draft a new BIP with the changes instead. #### Active -At the earliest three months after a BIP has been moved to Nominated, a BIP may be advanced to Active upon request by +At the earliest three months after a BIP has been moved to Preliminary, a BIP may be advanced to Active upon request by any community member with evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -243,7 +243,7 @@ separate BIP. ##### Process BIPs -A process BIP may change status from Nominated to Active when it achieves rough consensus on the mailing list. Such a +A process BIP may change status from Preliminary to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be @@ -252,14 +252,14 @@ has rough consensus per the same criteria. ##### Revisions -To help implementers understand updates to a BIP, any changes after it has reached Nominated or Active are +To help implementers understand updates to a BIP, any changes after it has reached Preliminary or Active are tracked with version, date, and description in a Change Log section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced -that are incompatible with prior versions (which should be an exception after a BIP is Nominated, and not happen to a +that are incompatible with prior versions (which should be an exception after a BIP is Preliminary, and not happen to a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Nominated. An example of a Change Log section can be seen in [BIP 352](bip-0352.mediawiki). +date the BIP was promoted to Preliminary. An example of a Change Log section can be seen in [BIP 352](bip-0352.mediawiki). #### Abandoned[^abandoned] @@ -268,9 +268,9 @@ proposal, or no longer recommends the proposed approach, AND the BIP is not in a BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. -BIPs with the status Nominated can be moved to Abandoned after an author announces that to the +BIPs with the status Preliminary can be moved to Abandoned after an author announces that to the Bitcoin Developer Mailing List and the motion is not opposed within 14 days. One of the opposers must become the new BIP author -for the BIP to remain Nominated. A BIP can also be moved to Abandoned by BIP Editors, if it is not in active +for the BIP to remain Preliminary. A BIP can also be moved to Abandoned by BIP Editors, if it is not in active use, its author has become unresponsive and no new author volunteers within four weeks. A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may @@ -280,7 +280,7 @@ initiate this Status update by announcing it to the mailing list and no objectio The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation.[^OtherImplementations] After a BIP is advanced to Nominated, it is up to the Bitcoin community to +implementation.[^OtherImplementations] After a BIP is advanced to Preliminary, it is up to the Bitcoin community to evaluate, adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -418,7 +418,7 @@ original intent of the author. - Refer to the proponent of a BIP as "author" throughout the document - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - NOMINATED, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn + PRELIMINARY, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn are sunset. - BIPs can no longer be rejected due to inactivity, but BIPs that see no adoption and whose author has become unreachable can be moved to Abandoned @@ -460,7 +460,7 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^nominated]: **Why has the Proposed Status been renamed to Nominated?** +[^preliminary]: **Why has the Proposed Status been renamed to Preliminary?** Some reviewers of this BIP brought up that all Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a new name was chosen. [^abandoned]: **Why was the Abandoned Status introduced?** diff --git a/bip-update-process/status-diagram.png b/bip-update-process/status-diagram.png index 68c2455d4c1d6666012d7ccd32f45a02f61ee5ac..04d9b7940eea4af5981b6572be2ced3a77eb2b7d 100644 GIT binary patch literal 92293 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ƒ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 RN;u$;s^T35gq(Ts{{c2((g^?n literal 92838 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�uHfjv}sm%G2j>(Usr)+;)8rb#no>yZp& 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 From e4b4c7c1a4560efe1af0dbe3873f516c26303d54 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 16:18:59 -0400 Subject: [PATCH 062/153] Replace Post-History header with Discussion --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7665946d9b..be2bd1529d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -95,7 +95,7 @@ marked with "\*" are optional. All other headers are required. Created: License: * License-Code: -* Post-History: +* Discussion: * Requires: * Replaces: * Superseded-By: @@ -120,8 +120,8 @@ __Type__: The Type header specifies the type of BIP: Standards Track, Informatio __Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that date be?] -__Post-History__: Post-History is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates -should be in yyyy-mm-dd format, e.g. 2001-08-14. Post-History is permitted to be a link to a specific thread in a +__Discussion__: Discussion is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates +should be in yyyy-mm-dd format, e.g. 2001-08-14. Discussion is permitted to be a link to a specific thread in a mailing list archive. __Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. From e4a59ab117021c64e43d00c1650b13f046241528 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 16:26:42 -0400 Subject: [PATCH 063/153] Small improvements --- bip-update-process.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index be2bd1529d..c8b784c69f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -233,7 +233,7 @@ instead. #### Active -At the earliest three months after a BIP has been moved to Preliminary, a BIP may be advanced to Active upon request by +At the earliest, three months after a BIP has been moved to Preliminary, a BIP may be advanced to Active upon request by any community member with evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -268,10 +268,10 @@ proposal, or no longer recommends the proposed approach, AND the BIP is not in a BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. -BIPs with the status Preliminary can be moved to Abandoned after an author announces that to the -Bitcoin Developer Mailing List and the motion is not opposed within 14 days. One of the opposers must become the new BIP author -for the BIP to remain Preliminary. A BIP can also be moved to Abandoned by BIP Editors, if it is not in active -use, its author has become unresponsive and no new author volunteers within four weeks. +BIPs with the status Preliminary can be moved to Abandoned after an author announces that to the Bitcoin Developer +Mailing List and the motion is not opposed within 14 days. To successfully oppose the move, one of the opposers must +become the new BIP author for the BIP to remain Preliminary. A BIP can also be moved to Abandoned by BIP Editors, if it +is not in active use, its author has become unresponsive, and no new author volunteers within four weeks. A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list and no objections being raised for four weeks. From d3d0e7e56aa4040f767eb3fb82352216bd9fc19f Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 16:33:10 -0400 Subject: [PATCH 064/153] Harmonize references to other BIPs --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index c8b784c69f..ae2fb832f9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -414,7 +414,7 @@ BIP editors may also, at their option, unilaterally make and merge strictly edit correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the original intent of the author. -## Changes from BIP-2 +## Changes from BIP 2 - Refer to the proponent of a BIP as "author" throughout the document - Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, From d5a3e91fdf7ad4145de419030c8ab85e06b27f16 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 17:03:34 -0400 Subject: [PATCH 065/153] Strike open points --- bip-update-process.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ae2fb832f9..509730df6e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -10,12 +10,6 @@ License: CC0-1.0 Replaces: 2 ``` -## tk: More input requested on following open questions - -- Should we have a Final and/or Active Status? -- Should we add a mandatory Change Log section to BIPs? -- Should we introduce versioning/revisions to (final) BIPs? - ## Abstract A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, From 564c38dada19b34176e943e6b3e83b1952887ac5 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 9 Jul 2024 17:05:43 -0400 Subject: [PATCH 066/153] Match short and long description of Created Header --- bip-update-process.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 509730df6e..8f30de832c 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -86,7 +86,7 @@ marked with "\*" are optional. All other headers are required. Author: Status: Type: - Created: + Created: License: * License-Code: * Discussion: @@ -111,8 +111,7 @@ If there are multiple authors, each should be on a separate line following [RFC __Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. -__Created__: The Created header records the date that the BIP was assigned a number. [tk: for reals?! What should that -date be?] +__Created__: The Created header records the date that the BIP was assigned a number. __Discussion__: Discussion is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates should be in yyyy-mm-dd format, e.g. 2001-08-14. Discussion is permitted to be a link to a specific thread in a From df1e84afc2acf81dd2672671c1e878864f7ed15a Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 10 Jul 2024 10:53:01 -0400 Subject: [PATCH 067/153] Improve description of interactions with Abandoned --- bip-update-process.md | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 8f30de832c..240fca4dbf 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -256,18 +256,39 @@ date the BIP was promoted to Preliminary. An example of a Change Log section can #### Abandoned[^abandoned] -A BIP may be labeled Abandoned when its author has stopped working on it, no longer pursues adoption of their complete -proposal, or no longer recommends the proposed approach, AND the BIP is not in active use. +A BIP that is _not in active use_, may be labeled Abandoned when its author has stopped working on it, no longer +recommends the proposed approach, or no longer pursues adoption of their completed proposal. The reason for moving the +proposal to Abandoned should be recorded in the Change Log section in the same commit that updates the status. -BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. +##### Draft ↦ Abandoned -BIPs with the status Preliminary can be moved to Abandoned after an author announces that to the Bitcoin Developer -Mailing List and the motion is not opposed within 14 days. To successfully oppose the move, one of the opposers must -become the new BIP author for the BIP to remain Preliminary. A BIP can also be moved to Abandoned by BIP Editors, if it -is not in active use, its author has become unresponsive, and no new author volunteers within four weeks. +BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. If a Draft BIP stops making +progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP +to Abandoned unless the authors assert that they intend to continue work when contacted. -A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may -initiate this Status update by announcing it to the mailing list and no objections being raised for four weeks. +##### Preliminary ↦ Abandoned + +BIPs that had attained Preliminary status, i.e. that had been recommended for adoption, may be moved to Abandoned per +the author’s announcement to the Bitcoin Developer Mailing List after not being opposed within 28 days. To successfully +oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Preliminary. A BIP +can also be moved to Abandoned by the community, if it has had Preliminary status for at least one year, there is no +evidence of it being in active use, and its authors have become incommunicado, unless a new author volunteers within +four weeks. + +##### Active ↦ Abandoned + +A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this +Status update by announcing it to the mailing list, and proceed if no objections have been raised for four weeks. + +##### Abandoned ↦ Draft + +The Abandoned status is generally intended to be the final status for BIPs. + +If a BIP Author decides to make another attempt at a previously abandoned proposal, it is generally recommended to +create a new proposal. (Obviously, the author may borrow any amount of inspiration or actual text from any prior BIPs as +licensing permits.) The author should take special care to address the issues that caused the prior attempt’s +abandonment. Even if the prior attempt had been assigned a number, the new BIP will generally be assigned a distinct +number, unless it is obvious that the new attempt is a direct continuation of the prior work. ### Adoption of proposals @@ -458,7 +479,9 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p new name was chosen. [^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has - stopped on this". The author of this BIP feels that all of these can be represented by Abandoned. + stopped on this". The author of this BIP feels that all of these can be represented by Abandoned without + significantly impacting the information quality of the overview table. Where the many Status variants provided + minuscule additional information, the Change Log section now collects specific details per BIP. [^acceptance]: **Why does the BIPs repository no longer track adoption?** BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to From 57d8c08c19f2457a1f71c181999d4d0ca7b7530b Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 10 Jul 2024 11:30:30 -0400 Subject: [PATCH 068/153] =?UTF-8?q?Update=20Comparison=20to=20BIP=E2=80=AF?= =?UTF-8?q?2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 240fca4dbf..64f4a0591b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -428,24 +428,35 @@ BIP editors may also, at their option, unilaterally make and merge strictly edit correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the original intent of the author. -## Changes from BIP 2 +## Backwards Compatibility + +### Changes from BIP 2 - Refer to the proponent of a BIP as "author" throughout the document -- Status field is no longer modeled around the workflow of consensus changes. The only remaining status are DRAFT, - PRELIMINARY, ACTIVE, and ABANDONED. The statuses Deferred, Final, Obsolete, Proposed, Rejected, Replaced, and Withdrawn - are sunset. -- BIPs can no longer be rejected due to inactivity, but BIPs that see no adoption and whose author has become - unreachable can be moved to Abandoned -- Judgment calls required from BIP Editors are mostly reassigned either to the audience or the BIP author -- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository -- Layer header is no longer restricted to Standards Track +- Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs +- The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as + an aspect of the process are discontinued[^comments] +- The Discussions-To header is dropped, as it has never been used in any BIP +- The Status field is no longer modeled around the workflow of consensus changes. +- Status field values are reduced from nine to four: + - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] + - Proposed is renamed to Preliminary + - The remaining statuses are Draft, Preliminary, Active, and Abandoned +- A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a + year and its Author does not assert that they are still working on it when contacted +- BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] +- Many judgment calls previously required from BIP Editors are reassigned either to the BIP Author or the repository’s + audience +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository, except to determine + whether a BIP is in active use for the move into or out of the Active status +- "Other Implementations" sections are discouraged[^OtherImplementations] - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling them with the BIP number -- The Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are - discontinued[^comments] -- The Discussions-To header is dropped, as it has never been used - List of acceptable licenses was reduced to the ones previously used -- "Other Implementations" sections are discouraged + +### Updates to existing BIPs should this BIP get merged + + ## Copyright @@ -477,6 +488,11 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p [^preliminary]: **Why has the Proposed Status been renamed to Preliminary?** Some reviewers of this BIP brought up that all Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a new name was chosen. +[^rejection]: **Why can proposals remain in Draft or Preliminary indefinitely?** + The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where + the author is still active in the community and still considers their idea worth pursuing. On the other hand, + proposals that appear abandoned may be tested and cleared out after only one year which hopefully achieves the main + goals of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has stopped on this". The author of this BIP feels that all of these can be represented by Abandoned without From f5e54140953656af5dca2c101dab7f75568213d4 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 10 Jul 2024 12:13:46 -0400 Subject: [PATCH 069/153] Add Backwards Compatibility section --- bip-update-process.md | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 64f4a0591b..8e6f14f62b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -433,7 +433,7 @@ original intent of the author. ### Changes from BIP 2 - Refer to the proponent of a BIP as "author" throughout the document -- Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs +- Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued[^comments] - The Discussions-To header is dropped, as it has never been used in any BIP @@ -456,7 +456,20 @@ original intent of the author. ### Updates to existing BIPs should this BIP get merged +#### Comments +The Comments-URI and Comment-Summary headers should be removed from all BIPs whose comment page in the wiki is empty. +For existing BIPs whose comment page has content, BIP authors may keep both headers or remove both headers at their +discretion. It is recommended that existing wiki pages are not modified due to the activation of this BIP. + +#### Status field + +Subsequent to the activation of this BIP, the Status field of any existing BIPs that do not fit the specification in +this BIP are updated to the corresponding values prescribed in this BIP. + +#### Licenses + +The licenses of existing BIPs remain untouched. ## Copyright @@ -475,11 +488,14 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p Proposals to astroturf on the Bitcoin network to store data, bootstrap their own consensus mechanism, or facilitate another currency are not on-topic. [^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** - The comments feature saw marginal use. Hardly any BIPs received more than two comments and this led to many - situations in which the opinion of a single comment or two commenters ended up sourcing the comment summary. While - some of those comments may have been representative of broadly held opinions, it also overstated the importance of - individual comments. As collecting feedback in this accessible fashion failed, the new process puts the onus back on - the audience to make their own evaluation. + The comments feature saw insignificant adoption. Few BIPs received any comments and barely any more than two with + only a handful of contributors commenting at all. This led to many situations in which one or two comments ended up + sourcing the comment summary. While some of those comments may have been representative of broadly held opinions, it + also overstated the importance of individual comments directly in the Preamble of BIPs. As collecting feedback in + this accessible fashion failed, the new process puts the onus back on the audience to make their own evaluation. +[^layer]: **Why is the layer header now permitted for other BIP types?** + The layer header had already been used by many Informational BIPs, so the rule that it is only available to + Standards Track BIPs is dropped. [^OtherImplementations]: **What is the issue with "Other Implementations" sections in BIPs?** In the past, some BIPs had "Other Implementations" sections that caused frequent change requests to existing BIPs. This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ From 41cd06a2fb24d1f200f2f8244730cb93d5a53a9a Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 10 Jul 2024 17:46:24 -0400 Subject: [PATCH 070/153] Make Process BIPs living documents --- bip-update-process.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 8e6f14f62b..d01a3bb72f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -241,7 +241,7 @@ proposal is said to have rough consensus if it has been open to discussion on th one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be given in such circumstances. An Active Process BIP may be modified indefinitely as long as a proposed modification -has rough consensus per the same criteria. +has rough consensus per the same criteria.[^living-documents] ##### Revisions @@ -294,9 +294,10 @@ number, unless it is obvious that the new attempt is a direct continuation of th The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation.[^OtherImplementations] After a BIP is advanced to Preliminary, it is up to the Bitcoin community to -evaluate, adopt, ignore, or repudiate a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they -implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md +implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP +is advanced to Preliminary, it is up to the Bitcoin community to evaluate, adopt, ignore, or repudiate a BIP. Individual +Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing +this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership @@ -436,6 +437,7 @@ original intent of the author. - Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued[^comments] +- Process BIPs are living documents that do not ossify and may be modified indefinitely - The Discussions-To header is dropped, as it has never been used in any BIP - The Status field is no longer modeled around the workflow of consensus changes. - Status field values are reduced from nine to four: @@ -518,6 +520,12 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. +[^living-documents]: **Why are Process BIPs living documents?** + In the past years, the existing BIPs process has not always provided a clear approach to all situations. For + example, the content of BIP 2 appears to have been penned with fork proposals in mind. It seems clear that the + Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a + new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the + concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From dea58f329ac3a6e12c08065613ac496ec01143ad Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 11 Jul 2024 16:39:08 -0400 Subject: [PATCH 071/153] =?UTF-8?q?Elaborate=20on=20scope=20of=20repositor?= =?UTF-8?q?y=20(H/T=20RFC=E2=80=AF2223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 47 ++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index d01a3bb72f..3cbce34fc3 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -12,27 +12,31 @@ Replaces: 2 ## Abstract -A _Bitcoin improvement proposal (BIP)_ provides a concise, self-contained, technical description of one new concept, -feature, standard, implementation guideline, best-practice, or incident report (e.g. [BIP 50](bip-0050.mediawiki) -relevant to the Bitcoin community. +This _Bitcoin improvement Proposal (BIP)_ provides information about the preparation of BIPs, and policies relating to +the publication of BIPs. It replaces BIP 2 with a trimmed process, and may be amended to address future needs of the BIP +process. -BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and -documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, -and represents the authors’ opinion or recommendation. The authors are expected to foster -discussion, address feedback and dissenting opinions, and, if applicable, advance adoption of their proposal within the -Bitcoin community. +BIPs cover the range of interests of the Bitcoin community. The main topic is technology that supports the bitcoin +currency. However, any topics related to the Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be +acceptable. BIPs may be submitted by anyone. -The BIPs repository serves as a highly visible platform to put forward mature proposals. The repository’s visibility -facilitates the distributed consideration of proposals by establishing the current state of the proposal. The -repository’s versioning of the text-based BIPs retains the historical record of each proposal. -The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to facilitate a -quick overview of BIP statuses (see below) to repository visitors. - -This BIP replaces BIP 2 with a more well-defined and clear process, and may be amended to address future needs of the -BIP process. +The BIPs repository serves as a highly visible platform[^blog-posts] to put forward mature proposals. The repository’s +visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The +repository’s versioning of the text-based BIPs retains the historical record of each proposal. The BIPs repository does +not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to facilitate a quick overview +of BIP statuses (see below) to repository visitors. ## What is a BIP? +Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. Some BIPs +describe processes, implementation guidelines, best practices, incident reports (e.g. [BIP 50](bip-0050.mediawiki), or +other information relevant to the Bitcoin community. + +BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and +documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, +and represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback +and dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. + ### What is the significance of BIPs? Individual BIPs do not represent Bitcoin community consensus or a general recommendation for implementation. A BIP @@ -41,7 +45,7 @@ multiple implementations or even incorporated into the Bitcoin protocol. ### What should be documented in a BIP? -The BIPs repository is focused on information and technology that support and expand the utility of the bitcoin +The BIPs repository is focused on information and technologies that support and expand the utility of the bitcoin currency.[^astroturfing] ## BIP format and structure @@ -482,13 +486,18 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) - [BIP 123: BIP Classification](BIP-0123.mediawiki) -* [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) +- [RFC 822: Standard for ARPA Internet Text Messages](https://datatracker.ietf.org/doc/html/rfc822) +- [RFC 2223: Instructions to RFC Authors](https://datatracker.ietf.org/doc/html/rfc2223) +- [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) ## Rationale -[^astroturfing]: **What does it mean to be focused on Bitcoin the currency?** +[^astroturfing]: **What does it mean to be focused on the bitcoin currency?** Proposals to astroturf on the Bitcoin network to store data, bootstrap their own consensus mechanism, or facilitate another currency are not on-topic. +[^blog-posts]: **Why do we not just publish blog posts?** + By curating, collecting, and publishing a broad range of ideas in one place, we ensure that knowledge of past ideas + is not lost in time. [^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** The comments feature saw insignificant adoption. Few BIPs received any comments and barely any more than two with only a handful of contributors commenting at all. This led to many situations in which one or two comments ended up From 452c05c05da596a094a77280ed603f5d4732fc44 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 11 Jul 2024 17:42:41 -0400 Subject: [PATCH 072/153] Replace Standards Track with Specification type --- bip-update-process.md | 48 +++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 3cbce34fc3..9ed55e0b3f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -39,9 +39,10 @@ and dissenting opinions, and, if applicable, advance adoption of their proposal ### What is the significance of BIPs? -Individual BIPs do not represent Bitcoin community consensus or a general recommendation for implementation. A BIP -represents a personal recommendations by the BIP author to the Bitcoin community. Some BIPs may be adopted by one or -multiple implementations or even incorporated into the Bitcoin protocol. +BIPs do not define what Bitcoin is: individual BIPs do not represent Bitcoin community consensus or a general +recommendation for implementation. A BIP represents a personal recommendations by the BIP author to the Bitcoin +community. Some BIPs may never be adopted. Some BIPs may be adopted by one or multiple implementations or even +incorporated into the Bitcoin protocol. ### What should be documented in a BIP? @@ -89,7 +90,7 @@ marked with "\*" are optional. All other headers are required. Title: Author: Status: - Type: + Type: Created: License: * License-Code: @@ -113,7 +114,7 @@ may not be the original authors of the BIP. The format of each authors header va If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Type__: The Type header specifies the type of BIP: Standards Track, Informational, or Process. +__Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. __Created__: The Created header records the date that the BIP was assigned a number. @@ -135,15 +136,14 @@ convention. ### BIP types -* A **Standards Track BIP** describes any change that affects most or all Bitcoin implementations, such as a change to the - network protocol, a change in block or transaction validity rules, or any change or addition that affects the - interoperability of applications using Bitcoin. Standards Track BIPs consist of two parts: a design document, and a - reference implementation. -* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or information to the Bitcoin - community, but does not propose a new feature. Informational BIPs do not necessarily represent a Bitcoin community - consensus or recommendation, so users and implementors are free to ignore Informational BIPs or follow their advice. +* A **Specification BIP** defines a set of rules to enable a new feature or protocol change that affects the + interoperability of applications using Bitcoin. The distinguishing feature of a Specification BIP is that it can be + implemented, and applications using Bitcoin can be compliant with it. Specification BIPs must contain a specification + section as well as contain or link to a reference implementation. +* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or other information to the + Bitcoin community, but does not propose a new feature. * A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process - BIPs are like Standards Track BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an + BIPs are like Specification BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, and changes to the decision-making process. Any meta-BIP is also considered a Process BIP. @@ -438,6 +438,7 @@ original intent of the author. ### Changes from BIP 2 - Refer to the proponent of a BIP as "author" throughout the document +- The Standards Track type is superseded by the similar Specification type[^standard-track] - Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued[^comments] @@ -460,7 +461,16 @@ original intent of the author. them with the BIP number - List of acceptable licenses was reduced to the ones previously used -### Updates to existing BIPs should this BIP get merged +### Updates to existing BIPs should this BIP be activated + +#### Previous BIP Process + +This BIP supersedes BIP 2 as the guideline for the BIP process. BIP 2 is considered obsolete. + +#### BIP types + +Standards Track BIPs and eligible Informational BIPs are assigned the Specification type. The Standards Track type is +considered obsolete. Specification BIPs use the Layer header rules specified in [BIP 123](BIP-0123.mediawiki). #### Comments @@ -481,7 +491,7 @@ The licenses of existing BIPs remain untouched. This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. -## Related Specifications +## Related Work - [BIP 1: BIP Purpose and Guidelines](bip-0001.mediawiki) - [BIP 2: BIP Process, revised](BIP-0002.mediawiki) @@ -495,6 +505,14 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p [^astroturfing]: **What does it mean to be focused on the bitcoin currency?** Proposals to astroturf on the Bitcoin network to store data, bootstrap their own consensus mechanism, or facilitate another currency are not on-topic. +[^standard-track]: **Why was the Specification type introduced?** + The definitions of Informational and Standards Track BIPs caused some confusion in the past. Due to Informational + BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. + This has led to a large number of BIPs that define new features that affect interoperability of implementations + being assigned the Informational type. We remedy this situation by introducing a new _Specification BIP_ type that + is inclusive of any BIPs that can be implemented and affect interoperability of Bitcoin applications. Since all BIPs + are individual recommendations by the authors (even if some may eventually achieve endorsement by the majority of + the community), the prior reminder that Informational BIPs are optional is dropped. [^blog-posts]: **Why do we not just publish blog posts?** By curating, collecting, and publishing a broad range of ideas in one place, we ensure that knowledge of past ideas is not lost in time. From b35e02f4cd16815a4bdf7db13c8296c49a6cf2b4 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 11 Jul 2024 17:56:24 -0400 Subject: [PATCH 073/153] Minor update to Significance of BIPs From ac95ca243c794bea3cb31effe1e412dd72f5fa31 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 16 Jul 2024 16:08:26 -0400 Subject: [PATCH 074/153] Improve Abstract --- bip-update-process.md | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 9ed55e0b3f..dd482a72a2 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -7,24 +7,23 @@ Status: Draft Type: Process Created: 2024-05-13 License: CC0-1.0 +Requires: 123 Replaces: 2 ``` ## Abstract -This _Bitcoin improvement Proposal (BIP)_ provides information about the preparation of BIPs, and policies relating to -the publication of BIPs. It replaces BIP 2 with a trimmed process, and may be amended to address future needs of the BIP -process. +This _Bitcoin Improvement Proposal (BIP)_ provides information about the preparation of BIPs and policies relating to +the publication of BIPs. It replaces BIP 2 with a streamlined process, and may be amended in the future to address the +evolving needs of the BIP process. -BIPs cover the range of interests of the Bitcoin community. The main topic is technology that supports the bitcoin -currency. However, any topics related to the Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be -acceptable. BIPs may be submitted by anyone. +The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility +facilitates the distributed consideration of BIPs by providing an established source to retrieve the latest versions of +BIPs. The repository transparently records all changes to each BIP and allows any community member to easily retain a +complete copy of the archive. -The BIPs repository serves as a highly visible platform[^blog-posts] to put forward mature proposals. The repository’s -visibility facilitates the distributed consideration of proposals by establishing the current state of the proposal. The -repository’s versioning of the text-based BIPs retains the historical record of each proposal. The BIPs repository does -not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to facilitate a quick overview -of BIP statuses (see below) to repository visitors. +The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to +provide a quick overview of BIP statuses (see below) to visitors. ## What is a BIP? @@ -508,14 +507,11 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p [^standard-track]: **Why was the Specification type introduced?** The definitions of Informational and Standards Track BIPs caused some confusion in the past. Due to Informational BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. - This has led to a large number of BIPs that define new features that affect interoperability of implementations + This has led to a number of BIPs that propose new features affecting interoperability of implementations being assigned the Informational type. We remedy this situation by introducing a new _Specification BIP_ type that is inclusive of any BIPs that can be implemented and affect interoperability of Bitcoin applications. Since all BIPs are individual recommendations by the authors (even if some may eventually achieve endorsement by the majority of the community), the prior reminder that Informational BIPs are optional is dropped. -[^blog-posts]: **Why do we not just publish blog posts?** - By curating, collecting, and publishing a broad range of ideas in one place, we ensure that knowledge of past ideas - is not lost in time. [^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** The comments feature saw insignificant adoption. Few BIPs received any comments and barely any more than two with only a handful of contributors commenting at all. This led to many situations in which one or two comments ended up From 0caa8aa536260cc6b4d4ab62801e5e22f791b890 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 19 Jul 2024 15:51:38 -0400 Subject: [PATCH 075/153] Addressing feedback WIP --- bip-update-process.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index dd482a72a2..5063e6b9c0 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -27,14 +27,17 @@ provide a quick overview of BIP statuses (see below) to visitors. ## What is a BIP? -Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. Some BIPs -describe processes, implementation guidelines, best practices, incident reports (e.g. [BIP 50](bip-0050.mediawiki), or -other information relevant to the Bitcoin community. +BIPs cover the range of interests of the Bitcoin community. The main topic is technology that supports the bitcoin +currency. Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. +Some BIPs describe processes, implementation guidelines, best practices, incident reports (e.g. +[BIP 50](bip-0050.mediawiki), or other information relevant to the Bitcoin community. However, any topics related to the +Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and -documenting design decisions that have gone into Bitcoin implementations. Each BIP is primarily owned by its authors, -and represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback -and dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. +documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors, and +represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback and +dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. BIPs may be +submitted by anyone. ### What is the significance of BIPs? @@ -43,7 +46,7 @@ recommendation for implementation. A BIP represents a personal recommendations b community. Some BIPs may never be adopted. Some BIPs may be adopted by one or multiple implementations or even incorporated into the Bitcoin protocol. -### What should be documented in a BIP? +### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that support and expand the utility of the bitcoin currency.[^astroturfing] From 6b184dc018363d0567d0fef1a49062fa140dd2aa Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 19 Jul 2024 15:51:38 -0400 Subject: [PATCH 076/153] Address several small feedback items --- bip-update-process.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 5063e6b9c0..7ff325d753 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -133,22 +133,21 @@ Replaces header containing the number of the BIP that it rendered obsolete. #### Auxiliary Files BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named -`bip-XXXX`, where "XXXX" is the BIP number. File names in the subdirectory do not need to adhere to a specific +`bip-XXXX`, where "XXXX" is the BIP number zero-padded to four digits. File names in the subdirectory do not need to adhere to a specific convention. ### BIP types -* A **Specification BIP** defines a set of rules to enable a new feature or protocol change that affects the - interoperability of applications using Bitcoin. The distinguishing feature of a Specification BIP is that it can be - implemented, and applications using Bitcoin can be compliant with it. Specification BIPs must contain a specification - section as well as contain or link to a reference implementation. +* A **Specification BIP** defines a set of technical rules affecting the interoperability of implementations. The + distinguishing feature of a Specification BIP is that it can be implemented, and implementations can be compliant with + it. Specification BIPs should come with or refer to a reference implementation. * An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or other information to the - Bitcoin community, but does not propose a new feature. + Bitcoin community. * A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process BIPs are like Specification BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, - guidelines, and changes to the decision-making process. Any meta-BIP is also considered a Process BIP. + guidelines, and changes to the decision-making process. ## Workflow @@ -177,7 +176,7 @@ tests whether it is of interest to more people beside the author. After establis to the Bitcoin community, the author should work on drafting a BIP. It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more -successful it tends to be. If in doubt, split your BIP into several well-focused ones. +successful it tends to be. If in doubt, the BIP should be separated into several well-focused ones. ### Progression through BIP Statuses @@ -217,16 +216,16 @@ submitted as pull requests. #### Preliminary[^preliminary] -When the author is confident that their BIP represents a net-improvement, is clear, comprehensive, has a working +When the author is confident that their BIP represents a net improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s status to Preliminary to indicate that they recommend adoption or implementation of the BIP. Where applicable, the -author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, a +author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill -omissions in the specification, add test vectors for edge-cases, or address other issues discovered as the BIP is +omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is adopted. A Preliminary BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be -minimal and interfere as little as possible with on-going or concluded adoption. If a Preliminary BIP is found to need +minimal and interfere as little as possible with on going adoption. If a Preliminary BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned, and to draft a new BIP with the changes instead. From eea8df80b58351aee0e5bc907e62c7b70664e0f7 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 30 Aug 2024 16:07:10 -0400 Subject: [PATCH 077/153] Drop astroturfing footnote --- bip-update-process.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7ff325d753..ec09f9f396 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -49,7 +49,7 @@ incorporated into the Bitcoin protocol. ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that support and expand the utility of the bitcoin -currency.[^astroturfing] +currency. ## BIP format and structure @@ -195,7 +195,7 @@ open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). T formatting requirements specified below and named with a working title of the form "bip-title". The author must not self-assign a number to the BIP draft. -BIPs that (1) adhere to the formatting requirements, (2) are on-topic[^astroturfing], and (3) have materially progressed +BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin projects working on adopting the proposal, or by the author working for an extended period of time towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors @@ -503,9 +503,6 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p ## Rationale -[^astroturfing]: **What does it mean to be focused on the bitcoin currency?** - Proposals to astroturf on the Bitcoin network to store data, bootstrap their own consensus mechanism, or facilitate - another currency are not on-topic. [^standard-track]: **Why was the Specification type introduced?** The definitions of Informational and Standards Track BIPs caused some confusion in the past. Due to Informational BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. From f667bf0759420db6edad10994a829d06990a3695 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 16:02:06 -0400 Subject: [PATCH 078/153] Add Motivation --- bip-update-process.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index ec09f9f396..857e253639 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -23,7 +23,16 @@ BIPs. The repository transparently records all changes to each BIP and allows an complete copy of the archive. The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to -provide a quick overview of BIP statuses (see below) to visitors. +provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to visitors. + +## Motivation + +BIP 2 is over eight years old and was written when different concerns were pressing to the Bitcoin community. The BIP 2 +process seems to have been fashioned to facilitate design and activation of protocol changes. In the past years, BIPs +more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of +BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This +proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned +the BIP Editor role, and delineates the BIP Types more cleanly. ## What is a BIP? From 8458dfd847616163d0e183986afcd63f40de8a2c Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 16:22:57 -0400 Subject: [PATCH 079/153] Add footnote recommending to stick to basic Markdown features --- bip-update-process.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 857e253639..09ad4ccde3 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -64,7 +64,7 @@ currency. ### Specification -BIPs should be written in mediawiki or markdown format. +BIPs should be written in mediawiki or markdown[^markdown] format. Each BIP should have the following parts: @@ -551,6 +551,9 @@ This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/p BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. +[^markdown]: **Which flavor of markdown is allowed?** + The author of this proposal has no opinion on Markdown flavors, but recommends that proposals stick to the basic + Markdown syntax features commonly shared across Markdown dialects. [^living-documents]: **Why are Process BIPs living documents?** In the past years, the existing BIPs process has not always provided a clear approach to all situations. For example, the content of BIP 2 appears to have been penned with fork proposals in mind. It seems clear that the From 9e804df52f6eadc9da6f9ad17ddd1ad552caf422 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 16:39:36 -0400 Subject: [PATCH 080/153] Require only Preamble, Abstract, and Copyright --- bip-update-process.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 09ad4ccde3..44d2022c96 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -66,11 +66,12 @@ currency. BIPs should be written in mediawiki or markdown[^markdown] format. -Each BIP should have the following parts: +Each BIP must have a Preamble, an Abstract, and a Copyright section. Authors should consider all issues in the following +list and address each as appropriate. For some BIPs, some concerns may not warrant a dedicated section. * Preamble -- Headers containing metadata about the BIP (see the section [BIP header preamble](#bip-header-preamble) below). -* Abstract -- A short (~200 word) description of the technical issue being addressed. +* Abstract -- A short description of the technical issue being addressed. * Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the existing situation is inadequate to address the problem that the BIP solves. * Specification -- The technical specification should describe the syntax and semantics of any new feature. The @@ -83,13 +84,10 @@ Each BIP should have the following parts: * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be completed before the BIP can be given status "Preliminary". Any or all of these can be provided either in the BIP or as auxiliary files. It is recommended to focus on specification and rationale before writing code. -* Change Log -- An optional section to track modifications to a BIP after reaching Preliminary status. +* Change Log -- A section to track modifications to a BIP after reaching Preliminary status. * Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). -Some sections may not be necessary for all BIPs. When in doubt, a section should be included and briefly state how its -topic has been sufficiently addressed. - #### BIP header preamble Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers From e07f38eab76b5905d33c29181b9d1be2574d98d4 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 16:48:54 -0400 Subject: [PATCH 081/153] Drop footnotes --- bip-update-process.md | 1 - 1 file changed, 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 44d2022c96..185a1c06b5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -85,7 +85,6 @@ list and address each as appropriate. For some BIPs, some concerns may not warra completed before the BIP can be given status "Preliminary". Any or all of these can be provided either in the BIP or as auxiliary files. It is recommended to focus on specification and rationale before writing code. * Change Log -- A section to track modifications to a BIP after reaching Preliminary status. -* Footnotes -- A collection of footnotes cited in the BIP, and a place to list non-inline hyperlink targets * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). #### BIP header preamble From 94cebfd988c64cf603f08f72a249fd16c7f08b45 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 17:02:44 -0400 Subject: [PATCH 082/153] Amend Preamble, raise title limit to 50 characters --- bip-update-process.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 185a1c06b5..1e6e68064c 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -95,7 +95,7 @@ marked with "\*" are optional. All other headers are required. ``` BIP: * Layer: - Title: + Title: Author: Status: Type: @@ -114,8 +114,10 @@ assigned by BIP Editors. __Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Authors__: The authors header lists the names and email addresses of the current proponents of the BIP. This may or -may not be the original authors of the BIP. The format of each authors header value must be +__Title__: a short descriptive title. Strongly preferred to be less than 50 characters long. + +__Author__: The author header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. +This may or may not be the original authors of the BIP. The format of each authors header value must be Random J. User @@ -126,9 +128,9 @@ __Type__: The Type header specifies the type of BIP: Specification, Informationa __Created__: The Created header records the date that the BIP was assigned a number. -__Discussion__: Discussion is used to record when new versions of the BIP are posted to bitcoin mailing lists. Dates -should be in yyyy-mm-dd format, e.g. 2001-08-14. Discussion is permitted to be a link to a specific thread in a -mailing list archive. +__Discussion__: The Discussion header is used to record when new versions of the BIP are posted to bitcoin mailing +lists. Dates should be in yyyy-mm-dd format, e.g. 2001-08-14. The Discussion header is permitted to be a link to a +specific thread in a mailing list archive. __Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. From fd423a822300342f10bdc296aa2af3b22a5958bd Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 13 Sep 2024 17:19:57 -0400 Subject: [PATCH 083/153] Rewrite the Discussion header description --- bip-update-process.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1e6e68064c..7b1bd3181b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -90,7 +90,7 @@ list and address each as appropriate. For some BIPs, some concerns may not warra #### BIP header preamble Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers -marked with "\*" are optional. All other headers are required. +marked with "\*" are optional. All other headers are required. The overview is followed by explanations for each header. ``` BIP: @@ -100,8 +100,8 @@ marked with "\*" are optional. All other headers are required. Status: Type: Created: - License: -* License-Code: + License: +* License-Code: * Discussion: * Requires: * Replaces: @@ -114,7 +114,7 @@ assigned by BIP Editors. __Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Title__: a short descriptive title. Strongly preferred to be less than 50 characters long. +__Title__: A short descriptive title. Strongly preferred to be less than 50 characters long. __Author__: The author header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. This may or may not be the original authors of the BIP. The format of each authors header value must be @@ -124,13 +124,18 @@ This may or may not be the original authors of the BIP. The format of each autho If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. +__Status__: See the [Workflow](#workflow) section below. + __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. __Created__: The Created header records the date that the BIP was assigned a number. -__Discussion__: The Discussion header is used to record when new versions of the BIP are posted to bitcoin mailing -lists. Dates should be in yyyy-mm-dd format, e.g. 2001-08-14. The Discussion header is permitted to be a link to a -specific thread in a mailing list archive. +__Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing +list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP draft was presented, or +relevant disussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: +https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. + +__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below. __Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. From 3504b74bc124199726ac795555ec1d50bef2024b Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 11:24:46 -0400 Subject: [PATCH 084/153] Amend scope 'aim to support' --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7b1bd3181b..0f8d5d794b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -57,7 +57,7 @@ incorporated into the Bitcoin protocol. ### What is the scope of the BIPs repository? -The BIPs repository is focused on information and technologies that support and expand the utility of the bitcoin +The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin currency. ## BIP format and structure From 4ba4899cc4869cff9993c621019b64da3c4a0410 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 12:11:58 -0400 Subject: [PATCH 085/153] Update description of License identifiers --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 0f8d5d794b..e4c2b31416 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -335,9 +335,9 @@ make a unilateral decision (it's not like such decisions can't be reversed :)). ### Specification -New BIPs may be accepted with the following licenses. Each new BIP must identify at least one acceptable license in its -preamble. The License header in the preamble must be placed after the Created header. Each license must be referenced by -their respective abbreviation given below. +Each new BIP must identify at least one acceptable license in its preamble. Licenses must be referenced per their +respective [SPDX License identifier](https://spdx.org/licenses). New BIPs may be accepted with the licenses described +below. For example, a preamble might include the following License header: From 1da9d40514bfb65a71df23629bd084d1ee3a3397 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 12:56:13 -0400 Subject: [PATCH 086/153] Update README to match updated process --- README.mediawiki | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 170b05314c..bcc08126be 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -1,10 +1,6 @@ -People wishing to submit BIPs, first should propose their idea or document to the [https://groups.google.com/g/bitcoindev bitcoindev@googlegroups.com] mailing list (do not assign a number - read BIP 2 for the full process). After discussion, please open a PR. After copy-editing and acceptance, it will be published here. +People wishing to submit BIPs, should first describe their idea to the [https://groups.google.com/g/bitcoindev bitcoindev@googlegroups.com] mailing list. Please open a pull request to this repository only when substantial progress on the draft has been made, preferably when the draft is nearing completion. After meeting the editorial criteria, a BIP Editor will assign a number, and it will be published here. Authors do not assign a number to their own proposal. Please see BIP Update Process for the full process. -We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred. - -Having a BIP here does not make it a formally accepted standard until its status becomes Final or Active. - -Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority economic majority]). +The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal is in scope of and has met other formal criteria for this repository, but does not indicate that it is a good idea, has community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. Beyond the formal criteria, evaluation of the proposals is left to the audience of the repository. The exception are rare cases when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will be preferred. Authors proposing changes should consider that ultimately consent rests with the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority economic majority]). {| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" !Number From 3c47a0158a6e7e2b0eab28a6b4c79f15c16c2fb1 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 13:10:35 -0400 Subject: [PATCH 087/153] Touch up Status and Ownership --- bip-update-process.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index e4c2b31416..7f9ccb1564 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -290,8 +290,8 @@ BIPs that had attained Preliminary status, i.e. that had been recommended for ad the author’s announcement to the Bitcoin Developer Mailing List after not being opposed within 28 days. To successfully oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Preliminary. A BIP can also be moved to Abandoned by the community, if it has had Preliminary status for at least one year, there is no -evidence of it being in active use, and its authors have become incommunicado, unless a new author volunteers within -four weeks. +evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers +within four weeks. ##### Active ↦ Abandoned @@ -313,7 +313,7 @@ number, unless it is obvious that the new attempt is a direct continuation of th The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP -is advanced to Preliminary, it is up to the Bitcoin community to evaluate, adopt, ignore, or repudiate a BIP. Individual +is advanced to Preliminary, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -325,7 +325,7 @@ the original author as a co-author of the transferred BIP, but that is up to the transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around -a BIP, but if that's not possible, you can always submit a competing BIP. +a BIP, but if that's not possible, rather than fighting over control, dissenters should supply a competing BIP. If you are interested in assuming ownership of a BIP, send a message asking to take over, addressed to both the original author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will From 85c4fe54398fa217039bd61fe3573230699309e4 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 13:29:24 -0400 Subject: [PATCH 088/153] Update Changes to BIP 2 --- bip-update-process.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7f9ccb1564..30169eb213 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -66,8 +66,9 @@ currency. BIPs should be written in mediawiki or markdown[^markdown] format. -Each BIP must have a Preamble, an Abstract, and a Copyright section. Authors should consider all issues in the following -list and address each as appropriate. For some BIPs, some concerns may not warrant a dedicated section. +Each BIP must have a Preamble, an Abstract, a Copyright section, and a Backward Compatibility section. Authors should +consider all issues in the following list and address each as appropriate. For some BIPs, some concerns may not warrant +a dedicated section. * Preamble -- Headers containing metadata about the BIP (see the section [BIP header preamble](#bip-header-preamble) below). @@ -453,10 +454,12 @@ original intent of the author. - Refer to the proponent of a BIP as "author" throughout the document - The Standards Track type is superseded by the similar Specification type[^standard-track] -- Layer header is no longer restricted to Standards Track, but remains optional as it does not make sense for all BIPs[^layer] +- Most sections are declared optional, it is up to the author and audience to judge whether all relevant topics have been comprehensively addressed and which topics require a designated section to do so +- Layer header is optional for Specification BIPs or Informational BIPs, as it does not make sense for all BIPs[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued[^comments] - Process BIPs are living documents that do not ossify and may be modified indefinitely +- Titles may be up to 50 characters - The Discussions-To header is dropped, as it has never been used in any BIP - The Status field is no longer modeled around the workflow of consensus changes. - Status field values are reduced from nine to four: From e9875828fb07a1e7a79c15c97797bfc631e1f6de Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 13:35:42 -0400 Subject: [PATCH 089/153] Use BSD-2-Clause to adhere to license of BIP 2 --- bip-update-process.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 30169eb213..1bda9f5cee 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -6,7 +6,7 @@ Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Proc Status: Draft Type: Process Created: 2024-05-13 -License: CC0-1.0 +License: BSD-2-Clause Requires: 123 Replaces: 2 ``` @@ -506,7 +506,8 @@ The licenses of existing BIPs remain untouched. ## Copyright -This BIP is licensed under the [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) license. +This BIP is licensed under the [BSD-2-Clause License](https://opensource.org/licenses/BSD-2-Clause). Some content was +adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed per BSD-2-Clause. ## Related Work From 1a648aa69b21ba22161b214af93bb29ddddd6c6e Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 14:05:44 -0400 Subject: [PATCH 090/153] Add Rationale for new BIPs over new versions --- bip-update-process.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1bda9f5cee..101ca149fb 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -251,7 +251,7 @@ for example: two or more projects having deployed support for the BIP in mainnet proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. At that point, the BIP should be considered final and any breaking changes to the BIP should be proposed as a new -separate BIP. +separate BIP[^new-BIP]. ##### Process BIPs @@ -568,6 +568,8 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed per BSD-2-Cla Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. +[^new-BIP]: **Why should the specification of active BIPs no longer be changed?** + Active BIPs by definition are those that are in active use by one or multiple implementations. If there are breaking changes to the specification after a BIP is deployed, it would be possible for multiple projects that are in compliance with a BIP to fail being interoperable, because they implement different versions of the same BIP. Therefore, even changes to the specification of preliminary BIPs should be avoided, but active BIPs should never be subject to breaking changes to their specification. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From 36e716f5d430d4bd608ad22a0e4ff5fb4c5c6c30 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 16:08:12 -0400 Subject: [PATCH 091/153] Add examples for out-of-scope topics --- bip-update-process.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 101ca149fb..616d7db4ff 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -58,7 +58,9 @@ incorporated into the Bitcoin protocol. ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin -currency. +currency. Related topics that are of interest to the Bitcoin community may be acceptable. Proposals that are in direct +contradiction to this mission, e.g. by undermining fungibility, facilitating unrelated protocols, using Bitcoin for data +storage, or hobbling mining decentralization, may be considered out-of-scope. ## BIP format and structure From 27e174c2b2c365994a6b3d75b0ee9c9e707e8e53 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 16 Sep 2024 17:17:43 -0400 Subject: [PATCH 092/153] Fix typos and minor details from readthrough --- bip-update-process.md | 69 ++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 616d7db4ff..f402bac926 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -32,15 +32,15 @@ process seems to have been fashioned to facilitate design and activation of prot more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned -the BIP Editor role, and delineates the BIP Types more cleanly. +the BIP Editor role, and delineates the BIP Types more expediently. ## What is a BIP? BIPs cover the range of interests of the Bitcoin community. The main topic is technology that supports the bitcoin currency. Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. Some BIPs describe processes, implementation guidelines, best practices, incident reports (e.g. -[BIP 50](bip-0050.mediawiki), or other information relevant to the Bitcoin community. However, any topics related to the -Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be acceptable. +[BIP 50](bip-0050.mediawiki)), or other information relevant to the Bitcoin community. However, any topics related to +the Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors, and @@ -51,8 +51,8 @@ submitted by anyone. ### What is the significance of BIPs? BIPs do not define what Bitcoin is: individual BIPs do not represent Bitcoin community consensus or a general -recommendation for implementation. A BIP represents a personal recommendations by the BIP author to the Bitcoin -community. Some BIPs may never be adopted. Some BIPs may be adopted by one or multiple implementations or even +recommendation for implementation. A BIP represents a personal recommendation by the BIP author to the Bitcoin +community. Some BIPs may never be adopted. Some BIPs may be adopted by several implementations. Some may even be incorporated into the Bitcoin protocol. ### What is the scope of the BIPs repository? @@ -68,7 +68,7 @@ storage, or hobbling mining decentralization, may be considered out-of-scope. BIPs should be written in mediawiki or markdown[^markdown] format. -Each BIP must have a Preamble, an Abstract, a Copyright section, and a Backward Compatibility section. Authors should +Each BIP must have a Preamble, an Abstract, a Copyright section, and a Backwards Compatibility section. Authors should consider all issues in the following list and address each as appropriate. For some BIPs, some concerns may not warrant a dedicated section. @@ -127,7 +127,8 @@ This may or may not be the original authors of the BIP. The format of each autho If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Status__: See the [Workflow](#workflow) section below. +__Status__: The Status field can take the four values Draft, Preliminary, Active, and Abandoned. The +[Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -138,9 +139,10 @@ list thread in which the idea for the BIP was discussed, a thread where a new ve relevant disussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. -__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below. +__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below for a description of the +acceptable Licenses and their SPDX License Identifiers. -__Requires__: BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on. +__Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. __Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that a BIP has been rendered obsolete by a later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a @@ -191,8 +193,9 @@ research, or that an idea is guaranteed to be rejected based on prior discussion tests whether it is of interest to more people beside the author. After establishing that the idea may be of interest to the Bitcoin community, the author should work on drafting a BIP. -It is highly recommended that a single BIP contain a single key proposal or new idea. The more focused the BIP, the more -successful it tends to be. If in doubt, the BIP should be separated into several well-focused ones. +It is highly recommended that a single BIP contains only a single key proposal or new idea. The more focused a BIP, the +more successful it tends to be. If in doubt, the BIP should be separated into several well-focused ones. Several related +BIPs can be proposed in a single pull request if they only make sense in context of the others. ### Progression through BIP Statuses @@ -220,9 +223,9 @@ assignment facilitates the distributed discussion of ideas, but before a BIP gar community, there is no need to refer to it by a number. BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too -unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or when the proposed +unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or while the proposed feature’s specification is unclear or incomplete. Reviewers and BIP editors should provide guidance on how the draft may -be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious proposals, or have +be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious ideas, or have stopped to make progress may be closed. When the BIP draft is complete, a BIP editor will assign a BIP type (see below), and merge it to the BIPs repository. @@ -273,7 +276,8 @@ that are incompatible with prior versions (which should be an exception after a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Preliminary. An example of a Change Log section can be seen in [BIP 352](bip-0352.mediawiki). +date the BIP was promoted to Preliminary. An example for a Change Log section can be seen in +[BIP 352](bip-0352.mediawiki). #### Abandoned[^abandoned] @@ -327,11 +331,12 @@ It occasionally becomes necessary to transfer ownership of BIPs to a new author. the original author as a co-author of the transferred BIP, but that is up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad -reason to transfer ownership is because you don't agree with the direction of the BIP. We try to build consensus around -a BIP, but if that's not possible, rather than fighting over control, dissenters should supply a competing BIP. +reason to transfer ownership is because someone doesn't agree with the direction of the BIP. We try to build consensus +around a BIP, but if that's not possible, rather than fighting over control, the dissenters should supply a competing +BIP. -If you are interested in assuming ownership of a BIP, send a message asking to take over, addressed to both the original -author and the BIP editors. If the original author does not respond to email in a timely manner, the BIP editors will +If someone is interested in assuming ownership of a BIP, they should send an email asking to take over, addressed to the +original author and the BIP editors. If the author does not respond to email in a timely manner, the BIP editors will make a unilateral decision (it's not like such decisions can't be reversed :)). ## BIP Licensing @@ -352,8 +357,7 @@ GNU All-Permissive License, and anyone may modify and redistribute the text prov *either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. It is also possible to license source code differently from the BIP text. An optional License-Code header is placed -after the License header. Again, each acceptable license must be referenced by their respective abbreviation given -below. +after the License header. Again, each license must be referenced by their respective abbreviation given below. For example, a preamble specifying the optional License-Code header might look like: @@ -431,7 +435,8 @@ For each new BIP draft pull request that comes in, an editor checks the followin * Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation * Document is properly formatted * Licensing terms are acceptable -* Motivation, Rationale, and Backwards Compatibility have been addressed (where applicable) +* Motivation, Rationale, and Backwards Compatibility have been addressed +* Specification provides sufficient detail for implementation * The defined Layer header must be correctly assigned for the given specification * The BIP is ready: it is complete, comprehensible, and technically feasible @@ -463,14 +468,16 @@ original intent of the author. - Process BIPs are living documents that do not ossify and may be modified indefinitely - Titles may be up to 50 characters - The Discussions-To header is dropped, as it has never been used in any BIP -- The Status field is no longer modeled around the workflow of consensus changes. +- The Post-History header is replaced with the Discussion header +- The Status field is no longer modeled around the workflow of consensus changes - Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] - - Proposed is renamed to Preliminary + - Proposed is renamed to Preliminary[^preliminary] + - Final and Active are collapsed into Active - The remaining statuses are Draft, Preliminary, Active, and Abandoned +- BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] - A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a year and its Author does not assert that they are still working on it when contacted -- BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] - Many judgment calls previously required from BIP Editors are reassigned either to the BIP Author or the repository’s audience - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository, except to determine @@ -484,7 +491,7 @@ original intent of the author. #### Previous BIP Process -This BIP supersedes BIP 2 as the guideline for the BIP process. BIP 2 is considered obsolete. +This BIP supersedes BIP 2 as the guideline for the BIP process. #### BIP types @@ -502,6 +509,10 @@ discretion. It is recommended that existing wiki pages are not modified due to t Subsequent to the activation of this BIP, the Status field of any existing BIPs that do not fit the specification in this BIP are updated to the corresponding values prescribed in this BIP. +#### Discussion header + +The Post-History header is replaced with the Discussion header in all BIPs. + #### Licenses The licenses of existing BIPs remain untouched. @@ -509,7 +520,7 @@ The licenses of existing BIPs remain untouched. ## Copyright This BIP is licensed under the [BSD-2-Clause License](https://opensource.org/licenses/BSD-2-Clause). Some content was -adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed per BSD-2-Clause. +adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD-2-Clause. ## Related Work @@ -571,7 +582,11 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed per BSD-2-Cla new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. [^new-BIP]: **Why should the specification of active BIPs no longer be changed?** - Active BIPs by definition are those that are in active use by one or multiple implementations. If there are breaking changes to the specification after a BIP is deployed, it would be possible for multiple projects that are in compliance with a BIP to fail being interoperable, because they implement different versions of the same BIP. Therefore, even changes to the specification of preliminary BIPs should be avoided, but active BIPs should never be subject to breaking changes to their specification. + Active BIPs by definition are those that are in active use by multiple implementations. If there are breaking + changes to the specification after a BIP is deployed, it would be possible for multiple projects that are in + compliance with a BIP to fail at being interoperable, because they implement different versions of the same BIP. + Therefore, even changes to the specification of preliminary BIPs should be avoided, but active BIPs should never be + subject to breaking changes to their specification. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From a4c8b23faf826783d96d4d8a7f2d2f3d0e541850 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 16:38:24 -0400 Subject: [PATCH 093/153] Invert recommendation to split proposals --- bip-update-process.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f402bac926..c3336124c2 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -83,7 +83,7 @@ a dedicated section. design decisions were made. It should describe alternate designs that were considered and related work. The rationale should address important objections or concerns raised during discussion. * Backwards compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. - The BIP must explain how implementors/users should deal with these incompatibilities. + The BIP must explain how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be completed before the BIP can be given status "Preliminary". Any or all of these can be provided either in the BIP or as auxiliary files. It is recommended to focus on specification and rationale before writing code. @@ -193,9 +193,8 @@ research, or that an idea is guaranteed to be rejected based on prior discussion tests whether it is of interest to more people beside the author. After establishing that the idea may be of interest to the Bitcoin community, the author should work on drafting a BIP. -It is highly recommended that a single BIP contains only a single key proposal or new idea. The more focused a BIP, the -more successful it tends to be. If in doubt, the BIP should be separated into several well-focused ones. Several related -BIPs can be proposed in a single pull request if they only make sense in context of the others. +It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the +overall proposal. ### Progression through BIP Statuses From b10f1171b124f58171d8cf3b39d7432bdaca4b65 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 16:39:13 -0400 Subject: [PATCH 094/153] Reword incomplete specification --- bip-update-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index c3336124c2..d1496578fb 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -222,8 +222,8 @@ assignment facilitates the distributed discussion of ideas, but before a BIP gar community, there is no need to refer to it by a number. BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too -unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or while the proposed -feature’s specification is unclear or incomplete. Reviewers and BIP editors should provide guidance on how the draft may +unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify +the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the draft may be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious ideas, or have stopped to make progress may be closed. From c41b2eee7bd9e63ba31016cade7920df5e742b34 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 17:01:51 -0400 Subject: [PATCH 095/153] Warn against breaking changes in implemented BIPs --- bip-update-process.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index d1496578fb..0df3bc475c 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -244,8 +244,8 @@ adopted. A Preliminary BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be minimal and interfere as little as possible with on going adoption. If a Preliminary BIP is found to need -substantial functional changes, it may be preferable to move it to Abandoned, and to draft a new BIP with the changes -instead. +substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to draft a new BIP with the changes +instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. #### Active @@ -255,7 +255,7 @@ for example: two or more projects having deployed support for the BIP in mainnet proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. At that point, the BIP should be considered final and any breaking changes to the BIP should be proposed as a new -separate BIP[^new-BIP]. +separate BIP.[^new-BIP] ##### Process BIPs @@ -580,12 +580,12 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. -[^new-BIP]: **Why should the specification of active BIPs no longer be changed?** - Active BIPs by definition are those that are in active use by multiple implementations. If there are breaking - changes to the specification after a BIP is deployed, it would be possible for multiple projects that are in - compliance with a BIP to fail at being interoperable, because they implement different versions of the same BIP. - Therefore, even changes to the specification of preliminary BIPs should be avoided, but active BIPs should never be - subject to breaking changes to their specification. +[^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** + After a preliminary or active BIP has been deployed by one or more implementation, breaking changes to the + specification could lead to a situation where multiple "compliant" implementations fail at + being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the + specification of preliminary BIPs should be avoided, but active BIPs should never be subject to breaking changes to + their specification. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From 311b3d098830bdfd1e7065246123151914633358 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 17:45:20 -0400 Subject: [PATCH 096/153] Require settled BIP before Active --- bip-update-process.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 0df3bc475c..d85e5db1d0 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -249,7 +249,7 @@ instead. Otherwise, it could cause confusion as to what being compliant with the #### Active -At the earliest, three months after a BIP has been moved to Preliminary, a BIP may be advanced to Active upon request by +A settled[^settled] BIP may be advanced to Active upon request by any community member with evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -586,6 +586,9 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the specification of preliminary BIPs should be avoided, but active BIPs should never be subject to breaking changes to their specification. +[^settled]: **What is meant with a BIP being settled?** + Since active BIPs should not be changed, a preliminary BIP should only be moved to Active after its Specification + has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From e158b95d2d10e3533f77577ffcfb030e1d832dee Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 18:05:31 -0400 Subject: [PATCH 097/153] Strengthen recommendation for discussion on ML --- bip-update-process.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index d85e5db1d0..f6f5245229 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -415,7 +415,7 @@ The BIP editors subscribe to the Bitcoin development mailing list and watch the repository](https://github.com/bitcoin/bips). Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. -When a new BIP idea is submitted to the mailing list, BIP editor and other community members should comment in regard +When a new BIP idea is submitted to the mailing list, BIP editors and other community members should comment in regard to: * Novelty of the idea @@ -423,6 +423,10 @@ to: * Readiness of the draft * On-topic for the Bitcoin community +We observe that discussion in pull requests comments can often be hard to follow as feedback gets marked as resolved +when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the +mailing list, where it is also more likely to be retained by the community memory. + If the BIP is not ready, an editor should ensure that constructive, actionable feedback is provided to the author for revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. From 201ffd245cefc88c1119939d6a8020490899c0e3 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 18:13:58 -0400 Subject: [PATCH 098/153] =?UTF-8?q?Use=20absolute=20link=20to=20BIP?= =?UTF-8?q?=E2=80=AF352?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index f6f5245229..f6af04002f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -276,7 +276,7 @@ BIP that is Active). The MINOR version is incremented whenever the specification is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to Preliminary. An example for a Change Log section can be seen in -[BIP 352](bip-0352.mediawiki). +[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). #### Abandoned[^abandoned] From c1e27bbc3703b67ba58af5eda2d924123f5edd6a Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 18:14:33 -0400 Subject: [PATCH 099/153] Add Revision header to Preamble Also fix the order of the longer descriptions of the headers --- bip-update-process.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f6af04002f..82bafd684d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -106,6 +106,7 @@ marked with "\*" are optional. All other headers are required. The overview is f License: * License-Code: * Discussion: +* Revision: Version number of this document after a Change Log has been introduced * Requires: * Replaces: * Superseded-By: @@ -134,13 +135,15 @@ __Type__: The Type header specifies the type of BIP: Specification, Informationa __Created__: The Created header records the date that the BIP was assigned a number. +__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below for a description of the +acceptable Licenses and their SPDX License Identifiers. + __Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP draft was presented, or relevant disussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. -__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below for a description of the -acceptable Licenses and their SPDX License Identifiers. +__Revision__: The Revision header indicates the version of this BIP after a Change Log section has been added. __Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. @@ -276,7 +279,8 @@ BIP that is Active). The MINOR version is incremented whenever the specification is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to Preliminary. An example for a Change Log section can be seen in -[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). +[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Change Log, the +Preamble must indcate the latest version in the Revision header. #### Abandoned[^abandoned] From b795d911984097278d8e940b0e9bc95cdd208ac0 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 17 Sep 2024 18:20:11 -0400 Subject: [PATCH 100/153] Fix Discussion example link --- bip-update-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 82bafd684d..ea5bc7e8c5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -140,8 +140,8 @@ acceptable Licenses and their SPDX License Identifiers. __Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP draft was presented, or -relevant disussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: -https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. +relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. +`2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. __Revision__: The Revision header indicates the version of this BIP after a Change Log section has been added. From 2cb5a907a293c07f2175bf58890657acdedd8f19 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 18 Sep 2024 10:56:24 -0400 Subject: [PATCH 101/153] Recast status field values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Preliminary ↦ Ready • Draft ↦ Preliminary • Replace all other uses of words corresponding status field values --- bip-update-process.md | 88 ++++++++++++++------------ bip-update-process/status-diagram.png | Bin 92293 -> 54673 bytes 2 files changed, 47 insertions(+), 41 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ea5bc7e8c5..f725ccc46d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -85,9 +85,9 @@ a dedicated section. * Backwards compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be - completed before the BIP can be given status "Preliminary". Any or all of these can be provided either in the BIP or as + completed before the BIP can be given status "Ready". Any or all of these can be provided either in the BIP or as auxiliary files. It is recommended to focus on specification and rationale before writing code. -* Change Log -- A section to track modifications to a BIP after reaching Preliminary status. +* Change Log -- A section to track modifications to a BIP after reaching Ready status. * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). #### BIP header preamble @@ -100,7 +100,7 @@ marked with "\*" are optional. All other headers are required. The overview is f * Layer: Title: Author: - Status: + Status: Type: Created: License: @@ -128,7 +128,7 @@ This may or may not be the original authors of the BIP. The format of each autho If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Status__: The Status field can take the four values Draft, Preliminary, Active, and Abandoned. The +__Status__: The Status field can take the four values Preliminary, Ready, Active, and Abandoned. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -139,7 +139,7 @@ __License/License-Code__: See the [BIP Licensing](#bip-licensing) section below acceptable Licenses and their SPDX License Identifiers. __Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing -list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP draft was presented, or +list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP was presented, or relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. @@ -207,9 +207,9 @@ fundamental concerns. If the author wishes to work in public on the draft at thi open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble -specification below. +specification above. -#### Draft +#### Preliminary After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the author should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the @@ -224,29 +224,29 @@ should delay number assignment when they perceive a BIP draft being met with com assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of the Bitcoin community, there is no need to refer to it by a number. -BIP drafts are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too +BIP drafts are also not eligible for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the draft may be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious ideas, or have stopped to make progress may be closed. -When the BIP draft is complete, a BIP editor will assign a BIP type (see below), and merge it to the BIPs repository. +When the BIP draft is complete, a BIP editor will assign a BIP type, and merge it to the BIPs repository. After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author may continue to update the draft as necessary in the git repository. Updates to drafts by the author should also be submitted as pull requests. -#### Preliminary[^preliminary] +#### Ready[^ready] When the author is confident that their BIP represents a net improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to Preliminary to indicate that they recommend adoption or implementation of the BIP. Where applicable, the +status to Ready to indicate that they recommend adoption or implementation of the BIP. Where applicable, the author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is adopted. -A Preliminary BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be -minimal and interfere as little as possible with on going adoption. If a Preliminary BIP is found to need +A Ready BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be +minimal and interfere as little as possible with on going adoption. If a Ready BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to draft a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. @@ -262,7 +262,7 @@ separate BIP.[^new-BIP] ##### Process BIPs -A process BIP may change status from Preliminary to Active when it achieves rough consensus on the mailing list. Such a +A process BIP may change status from Ready to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be @@ -271,14 +271,14 @@ has rough consensus per the same criteria.[^living-documents] ##### Revisions -To help implementers understand updates to a BIP, any changes after it has reached Preliminary or Active are +To help implementers understand updates to a BIP, any changes after it has reached Ready or Active are tracked with version, date, and description in a Change Log section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced -that are incompatible with prior versions (which should be an exception after a BIP is Preliminary, and not happen to a +that are incompatible with prior versions (which should be an exception after a BIP is Ready, and not happen to a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Preliminary. An example for a Change Log section can be seen in +date the BIP was promoted to Ready. An example for a Change Log section can be seen in [BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Change Log, the Preamble must indcate the latest version in the Revision header. @@ -288,18 +288,18 @@ A BIP that is _not in active use_, may be labeled Abandoned when its author has recommends the proposed approach, or no longer pursues adoption of their completed proposal. The reason for moving the proposal to Abandoned should be recorded in the Change Log section in the same commit that updates the status. -##### Draft ↦ Abandoned +##### Preliminary ↦ Abandoned -BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. If a Draft BIP stops making +BIP authors may decide on their own to change their BIP’s status from Preliminary to Abandoned. If a Preliminary BIP stops making progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP to Abandoned unless the authors assert that they intend to continue work when contacted. -##### Preliminary ↦ Abandoned +##### Ready ↦ Abandoned -BIPs that had attained Preliminary status, i.e. that had been recommended for adoption, may be moved to Abandoned per +BIPs that had attained Ready status, i.e. that had been recommended for adoption, may be moved to Abandoned per the author’s announcement to the Bitcoin Developer Mailing List after not being opposed within 28 days. To successfully -oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Preliminary. A BIP -can also be moved to Abandoned by the community, if it has had Preliminary status for at least one year, there is no +oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Ready. A BIP +can also be moved to Abandoned by the community, if it has had Ready status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -308,7 +308,7 @@ within four weeks. A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list, and proceed if no objections have been raised for four weeks. -##### Abandoned ↦ Draft +##### Abandoned ↦ Preliminary The Abandoned status is generally intended to be the final status for BIPs. @@ -323,7 +323,7 @@ number, unless it is obvious that the new attempt is a direct continuation of th The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP -is advanced to Preliminary, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual +is advanced to Ready, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -431,8 +431,8 @@ We observe that discussion in pull requests comments can often be hard to follow when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the mailing list, where it is also more likely to be retained by the community memory. -If the BIP is not ready, an editor should ensure that constructive, actionable feedback is provided to the author for -revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs +If the BIP needs more work, an editor should ensure that constructive, actionable feedback is provided to the author for +revision. Once the BIP is fleshed out it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. For each new BIP draft pull request that comes in, an editor checks the following: @@ -445,14 +445,14 @@ For each new BIP draft pull request that comes in, an editor checks the followin * Motivation, Rationale, and Backwards Compatibility have been addressed * Specification provides sufficient detail for implementation * The defined Layer header must be correctly assigned for the given specification -* The BIP is ready: it is complete, comprehensible, and technically feasible +* The BIP is fit: it is complete, comprehensible, and technically feasible Editors do NOT evaluate whether the proposal is likely to be adopted. A BIP editor will: -* Assign a BIP number in the pull request -* Merge the pull request when it is ready +* Assign a BIP number and BIP type in the pull request +* Merge the pull request when it is complete * List the BIP in the [README](README.mediawiki) The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP @@ -477,11 +477,12 @@ original intent of the author. - The Discussions-To header is dropped, as it has never been used in any BIP - The Post-History header is replaced with the Discussion header - The Status field is no longer modeled around the workflow of consensus changes -- Status field values are reduced from nine to four: +- Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] - - Proposed is renamed to Preliminary[^preliminary] + - Draft is renamed to Preliminary[^preliminary] + - Proposed is renamed to Ready[^ready] - Final and Active are collapsed into Active - - The remaining statuses are Draft, Preliminary, Active, and Abandoned + - The remaining statuses are Preliminary, Ready, Active, and Abandoned - BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] - A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a year and its Author does not assert that they are still working on it when contacted @@ -562,13 +563,18 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^preliminary]: **Why has the Proposed Status been renamed to Preliminary?** - Some reviewers of this BIP brought up that all Bitcoin Improvement _Proposals_ are _proposed_ per se. Therefore, a - new name was chosen. -[^rejection]: **Why can proposals remain in Draft or Preliminary indefinitely?** +[^preliminary]: **Why has the Draft status been renamed to Preliminary?** + The term "draft" appears all over this document and was inconsistently overlapping with the status field value. + Also, "Draft" stood out as the only noun among the status field values. Preliminary fits the intended meaning and + does not appear otherwise in the process description. +[^ready]: **Why has the Proposed status been renamed to Ready?** + Some reviewers of this BIP raised that in a process that outlines the workflow of Bitcoin Improvement _Proposals_ + using "Proposed" as a status field value was overloading the term: clearly _proposals_ are proposed at all stages of + the process. +[^rejection]: **Why can proposals remain in Preliminary or Ready indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where the author is still active in the community and still considers their idea worth pursuing. On the other hand, - proposals that appear abandoned may be tested and cleared out after only one year which hopefully achieves the main + proposals that appear stale may be tested and cleared out after only one year which hopefully achieves the main goals of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has @@ -589,13 +595,13 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** - After a preliminary or active BIP has been deployed by one or more implementation, breaking changes to the + After a Ready or Active BIP has been deployed by one or more implementation, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the - specification of preliminary BIPs should be avoided, but active BIPs should never be subject to breaking changes to + specification of Ready BIPs should be avoided, but active BIPs should never be subject to breaking changes to their specification. [^settled]: **What is meant with a BIP being settled?** - Since active BIPs should not be changed, a preliminary BIP should only be moved to Active after its Specification + Since active BIPs should not be changed, a Ready BIP should only be moved to Active after its Specification has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, diff --git a/bip-update-process/status-diagram.png b/bip-update-process/status-diagram.png index 04d9b7940eea4af5981b6572be2ced3a77eb2b7d..6f95f780b3b619a86e725fac0c2710b3dabc6f5b 100644 GIT binary patch literal 54673 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 literal 92293 zcmeEu_d8tu_I3y&q9#i876d^ML?_y#*CBc*L<>gmf<%qpiOwiP^fE+5qC}rTbkRqz zqkFgKob$a-&f__Mz+R}ubibPL5V7VrpoZ&{8_ZY(I0*SFha}8wH2wwyczKEON?=NG{-^x;U zi=STf&I-HJ)t|bTDwTUSnach49vTLr#I3*ihE0UVD19m~K=iji0enC|K1cswJ`emr zL^qC|T9TWGO&4$r{pN2HmF>KL`yucFJ)=Y=5s#*f+<&=~0Fz+rzk87D`+Ff9V8Uoo z7#_{=U#`@SHSl-$c>P;%BX70Kb}5li%lwxs1>t4=jXnP~6E-d%`e691PgVe@-n{r%ZW&{<$$^S`iytUmsmL%F^Zq1_Jd-yd6m zL>KTAZ+~bFss9%*q8pzh|DS{W+d=)$L4J>(|2fEiM9=>m#$Z#n1qi{%fehc%zm@5yue1FqtnvW_5IN2r?_FJO%rL$vw^{<%_+m$ z3U>$vk+kzKifm}NrMgVkry5;er}qiY5H664Gc;-$HY;(9k#f(fsHhmOeQzqk`L`T!X;#Pa8@xzk*!h5T?7}?qLU~A8yWF60&Gd|?<;0hZQUih%j%R-HYqV}REvb52@ z_9fa3_QKXeS=}EM=KC#5QP!oTqI)Nk{C7CfgBU2B zXp)~J0%rC~RH)B9LsPaR^rDF9Dt$oPJ^71p7ZC*Xc9K-s5sG-kfb^puRq5yl`)H9h zOQsYx_CF{lHv4zkcF46uV=2P|uYodDz(*FDnK}DJdssnERnU3$}_7Yth<*plmN9q9Yh8gHTdc z5S^UwCa>Jful6(A_q6tuy|c&HN27#zw%VKHo54|i?7n$Fm3%oESXPRwR!f-2;ec}WHZX8~&27JqUYW+EQ`@Y7NdukiU=%;#*CBbxQ2!sn z`p>^gVB-Kdc`kp*l8D;O!V)3;-Ic-+PKoqQl#h&IXLCm21b51_mLz-ZxjI%^xF~B` z%HElPy;+dmJO9Cw|Na!#(!1u`6B?Cn`QxHVF%X7CM8)Nd8M6l8G0G^>>(MfeHPVeO zxNK4MT~G^)Om9Y6(@b1U-E&bfYBfU~-#TK}sjdG?L+Z&lFMBJogyJSI4kWzp(_-I4 z`ljL52GX)ZLd^yh)o`{TPNdIW5{rk{r|tRhQC07w{7hTksJdS~`XvY&dtL%6p|wK+ z@zv^`UMB0~9GG({HUUBWjA(ODLzt|m{qkVWlT^_a`x9h(fl;q^;pe+i(a9yMq73$W z^=$QNQ&S?kyCb%#B4BOHv`@~C(KsN|V*9F!T8$K*o7*2X7fft^+pVe4gRTSmpJBYb z!cBJlVF(FMoX`AnxnJHg-sVIm^Ee+zg(*qFk3i0!Yuh+i`vldD}SJtP#pS}$6a@BU$vY#rFcqOAGo+aV$4fT zyghhZ{FdJTWt!jnDu2NHj-_IS&e?W!ieqP{EqO^X83rG(mLUYTtMO@*>X-YHW5hwz zy9)(6Hm=d{ld8{LlU)YZSk={I#SmH9*<9&Ys4yJT%LLfknZoqzCM7|qoe$@`D|N%r z5{X}*1Euy>MmIZ+M(7p8j*5Cd_j1OyTB9oA*$_R+T%o+Wwm3;!#5V;;>U9Krle$B+ zFXZ8}_?2JifhTphZS8zT z9ewm`HDlRnaA|?SPIYxmmt3|F{l2)-F?oh1>ZEdd>U?)u7K^|1TY zGO@gO^7pf8G_+W_J*mQ^!r`&eQEMBgpaVO)7?esh~;dACy|!-k4^W}*xJuZ2lj z3+h)-)iOPI9X^&Fq%UR;geUD1#2k5^6-gYHFprhq#&;i#O=ejiyZVJ6;&*nT>MoJc z%GI$xcnC?+=1A{-EBD<)q|3lwGcmr^eYWt7CIjxeQX$&cqHW+8NJZ_O652@jWcH=S zQe(Na{?y+T5iuYy9b?PBi9xR$A0M|0jTP@AG=ImY>&jm8PC!8~9ipmr{%dvS?sHYLlS8^s$#ry$}|t;j_EH!jox;pzL~s z42gc%~)M+&8wjVjyxX?+~_ZbLR05mu~gYQ z@M3E@w!Mv)RN!c@*0yJz8MaHeTq3|4xHlzCGz=f00Phe*{&GMw{t_8y(JbU9ldLJJf7E^~G2vhLQ4A|uw)hge2Zi~h<8ylSz8 z4G6g0zS$sJ3IQg08a{mM%g4ucM7nn)+1mWQ3s82v^|@6n(NZL`mS6~N$Flu zM@!E$`$MIUT6Q41699}@{v~r+_TSOy|2@BLBannR{BMQh8)p^_eX&~f*Zk@7EPPbA zNQHWBnq8%TYdUkY$YV4}PXfB!)zy`-#I|_MN?-D$TJTFpN4|B;^G3&m&D`73UwRX^ zJ3m0}-Ok4F(rZ-V#yX|hNSU|74m$1MF%BIelCka9C5|mF8z(%$0gT18cZI@!KhS@$ zmia&+OA2v=ra54kAd8gpHXGj7V!KJN-V*#x)x_Sb?H6mL?%KNo0qpvMC`L6Ibh#KB za2QpoHZ&F}jMDbvOk@Y*WBL-w(AE+^zsKzBQSCbTy@z|-?*sC}m*cE{ugd>0iER>K zgTAx@oS4E-lWJ>E7a~VgWB1Q88K;{&KTT_eSO-zQ4wA51mh`k69yt@RJ3sWew?IEv z86Zt`qfK!D*3^S^3VnBXH~OE@+A2{xJN=DD>GGCp)%Wbl^rszcR78c>3V^4hWWRiFvR_SB@;)N};?iM)N_Qq)dHtRLNp2j(l85I!`algA+ zB{QB|>gy}DvKm(M(1$4h`d61LCvn~|9MRC?!8}Dg3Na~3x?+sI{e33zG}Z}9(J?^} zZOL5D5OU6cxDB?_&_KF~%_zRP(H(3vuH7p|L%-f3bE3%ru+&n|UZ@s}$oc25yC?@F zg}XK?joVH(P-5pEm0%oWMC+-FSjJUj{&sJ%QkV;(PdtrbAue81N4t<=>&B@9T>_Bk zUw9sA%`W@{G&q%bRqvA@zTeW$3VlFMPM>Trr5Z{=dH+{l;Tg8a{mK%uLx!-qrUOz( zTHn2pA6Fixmi0vn0!odH+)Rgga}@Njn|ml*z_TIW1nJ5TkR;QqtLl@kwViMdZHj*b z^t!AntjhN{FNCQ z9gQD@Q-261&pnzH=&uoaD+EUV(dK^;%bn*??R9U7P=f9jdLqH|AHinhR*#sJX z)R}H{ZAlJbFa#gbY;s|P7n2d0(&qFJr)<3*qokfygOgJZ=Umvd&M0_d5Ml=e;6Fdw zkWa3kIeFQ7YE{C;u~_Ullg-RrWVFz$oN%M*KQdpBHwK@aHXUjW<-BQ?#a4c1SPn)% zIXT&LnP5&mJN5qbX2gnpVL)Skc_TjoUZstriFI>)JOXZ%p_-hGZ0zNuZEXM%!YOA@!3!kZEsAvO+R(T^!u zF`1QM@%1vzOt*bJ5TuA}8szAwP!zpsx%iH!B+wOPs&QDVn%m}ug(Lvp+xUvdPO$Trk}EObMQzU$yY z8rX-q!Ar&Q=Eo`nBFe;<-Jn_Mk%$P})aaOHmrLtgiqpOUH!#pZtt=dL4yDSK6;-e@NVvZfwheyCqcd{a4on zd7ab`e~K%WCLpXX8`UE7tLZDo{JYir=-3!~684IGvs$GB6aq1vzE9;oQWp8$c#{w{ zAYbEDl|L(}{}_&2eJEi6jZC{|T`dpPyUa5`#7#x$fEmey4Yv#I6ECuFIn6p_IpX>H zFgJ7p^z~c@lZN(fh>TeLbxE)y$R4^0V8O8f*P%;aYG`P9Jo1A&cP1fYv-~vxgoMC$ zT#Ry4e-zK-MT`*@W1@%QTXsiUTW`O-)HI8@-_Zv``>r9^`sVd@3f7ZoC%n-nm4Hn? zC_DK0Ouj3-jfa&M+Ol5qS_r=Cqg@l}@9}KK2ID8yFf|55>Q84muhC;x%>)_kH=6bQ z0)j{plILIZ{s#OI5YPtr;W^XVcduW+a`hu@u5>}VZDqFW@Dj$APE-<6JsuN$Cr=ne zPuPQg2cITx#i}pXvR9P4%9Mt@zsy$JGbA&_n(&A9oQ-!E6)Mz+Sve$9#6 z*kq%WUt|2?+DUbO@l(8RX7kDY;ewi3Sv+DUn~1mJ$(K9vN?Ch8^J=FDNVW&xXLTNg zYBPTSkm{*csN^phr!lHaPOGn>tDcK{LpGNfyh~_@@iSp#I?*lF(4qpVy+F5~Hrp&! zIq$B~rt=5z$8dmlv5xy%`8o{+ic5YrdA_`y3OxD^9r&u9!P&c++-Sc}z0%cH;MaP2 zO{QCF<|c$-b`wMTaqNfXvuw=cJCv4*pag(~>1Gx0ZMdshUehRtYyL`Ocmi5ZTzJ!+ z-a>Du1O89k>K%95qivODRo}VOH9Dk*MDvSEBDEPFc3S>leuA!#OLuC=j8fNjH%Nn` zAlZ!mH7S|C(%04hhd0XH5wTQ?&K@79Ik2n!VeFQm0L+xppmkfv$fcR;xkvHN`aQ7>cJR7v;v~^OE>znfASxvrMeb;+$fj+7d@s}M zrc?`&2J(zTiXxxcI?;m>hFJ$A$A_}+$q$8T{N^f}E`E8>8i-DpWNF{!hs;cmnRKkV zDi~#5s$Cf;_gTg7>{LRwpL3i(`H-H@!tSTX5nt55=jND{!XwPe1TL!&YKgunge9H= zB~@$p$#vH{2DD)Vg!{fkd6JU*rlzJ9_fAo@(=Mn=wk`ETKDkQu!=qL#O3Q#C*JYyE}3FbH3>(+7WNx?%^wbdXFm{jmye>oiUm&mpzEkM{t+%^5ML zXxRl0F0Io+z$w~g5giZgv|yg#x>qN3Z!~#uxwll6bW7_y7GB%{VkGE_0Wbz}^71-Z z9ikH#@Gg7!?RYOuv`XIGb4h$egl5$s#1Q|LCI%(i5=XT&a0dd=EmG9xBo~1Qk1l|+ zr!{q);RL~|58^eUC0m!nekK@Z=H``6=G zZ+>qY4Tc-uFxnt;Qx8OoiVoHg$_$K*Q@54$+vK;%g{zz@tvfSVRaIF9%-KTXz{izk zN`EBL>XapIPP#*mcx3z;T0N^D6olA9?bG8eK8IX=U{+QsCSHZ6`;#4FRp$d7hp_u* zQt+MXN5W_C;3W^X#8#WZrKHYCR{H|gZHM8@NKKH6)kXFj&>c!)w~aUw_IL}>FN&Yl z0)|J{RD{WEaSN0*EG!vLEnnTX9*Z`+$BwAJ)?uxV6R<9B)IDCh|Fd#U=ft;HThQmZ zzFw`})+PAcT2U9%?Nj;89jCTB^0LG=>y?g^?A{i4@uSgB4*Bj97H{^i>p3ihV@y^} zNN_i=R%`W2Z+WSPrau9UXvq98<+pefeRP(nd{e{kq5n#M=H!GuXN)5Qk)2Z2BbY}w zkLOyVr}JFE3L_eF49b!xJHxQ+>kWE7-ZkLf^F5n0p?)TdOHfcw^k`tdvb4^t7py~& z5U*luYV!m$gx~HQWaPWxt6RyhM*m{?6FhV${i%-cK29>KcS|t$kZf4kXdi*p;*n!$*ir$tGmlwn7dwun@rGwqN4kXH2$6$aB>cL#eUN3)5f7Ns}Hs8M! zOW;M>i=S*GF3!Yc2?Ju5MhN{)Rpw>E@IYA4+O8wp)T(L&kRn;oXj=yNeE2s0vdO}5wWneh2y!?oO(kWTCPi9ikt`zAOpaJp8QW@86~u zj84?{Akik~3x!wRj4{fwQemIUaAB2^KrX5>5A8j=Y^7={B^iY&az;MbeeCB@s4|Wj|B`?$l+X4**NCpO(v0}S#C&Fi+*{$aidh9fMgxH5yk3KHa;&HQK{@_DC;I2 z)>ZpN1*5}tL}DY?fRp2{)&T^0ZKA%tIYw1^fFme4E!JV=bDRM_NSgK@Mo_Jx^dpSD zexRaT4LO_WX7Y5qO{5%I`S-Hkd;+iIqkO?gcr0gTUV(0P;TDL>zqq`|@8qyvW8m$j zfWUex%M&PZ$&5cYiKAhdQuRs;hp}%pT$8C0dFMqO+fFSPN6G52*1j9uDYb1`$WqtV z)^_dvq1rr1$Ix>2lchOjk>)8yVT}e@(8s3D;-|!s93H&j)5Mbzr%jz0q+hz?kuaW1 z+cf7{b#>o`jg3uffoCFlafo-bn`mkC8qb3k643r-`NU;KTfOs5^#uc%!^)EMy`2b! zAdMYCYpil~*65K`yCz3;mSNbmB_@HBt*u{?xjm%axdluIM=hu^kp!wIQ z252zI0%B~I%$HwQH@V)#{7XJL(&yb*vwB(g=Y|fgySDGw;5p+zN%iYDKLCi1&MTrU zH(Biae65aElJ{2V4D)KgdJM6?<;U5nw#8q5xjLyeYLXH|ipi=fx-8p%J0)ex9IfVq z$^z$_6>U~(RePzacM$y2{-l2Pzv6kPSHQ#uG2(97(z54ZtoN-4N!pm!ajR`-pGXq% z2_0xpKCHU%g&SoG)g|jYw8-WTh`>^Q()v5N#4JoQb?VHns{L9bD@vm99ukVcqAbev z`jnC1Pd${A*k{#{9YQ~b&&iMP3*8#qzw!gcB^VEt>cnvJ*nGJ_oW;<8E?;ldEz8Kx z#5ceT80zL3s#oAC!W& zX#hNRL%0_R)^~j0ZuNGJW6NQd8GVSMuhMDkoh@hD`$jXh?%QIGsCIeF3j7^nJ0H{q zj;AfM%nV`Vw}#2H7o9FbGg>~7kg~gBhoWD`)M?xAPYU}M{iHgA^|fEp9h#GMpLap) zq$C*zrTwcru4{k|J;G?4ZFV-DwT2^&?$;uK$rS)b(*J60M@ehcZSpR_QDlnmXIgs{H!+Rj^3*v znr~`%!d4)*Wfei5GSqbb-b?8PSbsGhT_w<~1Ripf8T#^^NFR1DdLrYymmF51^#a3= z0i^=DkYXLgWF%Mnw>$e+?9d;+MK8m)TlYyDH#D|a7*`R*9SDV>IDJh|9RAR#24j0; zSG#*`u(59@Jb!rQ(KP}qs&eDYyWunr1m-V5-(J@|6=iEraC|9-BUG@maqQt~JJ=kJ?KnojV&lJnJxD3mFqP>;pZr%IlJKv6%<72W)*Zxp{ ztdw#UM=t?ZR&YuY(#v&Y{F(R<4^>gR-AkLgDZQWqaWBV~M5OiSuKav(XEGip;YY<} z6)ti!-1>>Ptlw%D7i*1F)9UqT0aEEd@m!z;07Wrg)J6(5gCiW4ohQhOlL0)HFBWX_ z>)5+M>TKj+b__KtS3jV-XMZpi`JDr1Qz552Y8$i{6a@!UE{fIm7n<5+2EIJ>_!+|E{8hQYVeC$*|ItZRrWux@U+k3Nxh#8MSF7*YQd*8XX%b>! z;LP#r`vNQwhrji5**o>}hoa06yWHUSz>rU$qBoXN(0QbiJ9pNHtD)lIGYQ!#{+b_W zidd9FBBujo{@tvb6CUI|-~%hupPtZxxIz~GqiZ7$TDMQReZSpV$8c}Z zBLgx6xXaaEvPKE|n>Rz{oi!x_$59e23M#dHT5%IrB~#n5iJb7$c&NQ|w9o()vi}@F zrvo+Q{m-(OC!W%1mns$>yAp)_1q|E@WCLbl#SC^qQNx4U!BO^;?md0=Bv+3v%@@9P z3HplA_88X4_^uv(NZ-=Xm!|gSZEi7HXe3+iS-D3>Hgg%{;$15BdHZNh-gABPWN&$r zmSo0dSl*WD+r}_E_b|%x5AD&aj?b!UVIgBs$IaqE6C8eKRZpX&%N@;mk7oDHC-E#N zM>*Sqz!>~YM%%u|W?Esn#nnzmVd(B-ay!@U!U^vwFYmEgkNUGgR8T2D24%DRb|Sq% z%-)({g^8)6bM=OPd3u5{cYB-46_Zm05CmtRG`~1c zsF#Y!K4OM)_!h^~p2>jz+L}wq0O^g5ZDqk1<|QN0BW&xfXTSf(#j_qMP~+Hk=+(Fy zWBq7I*JX^IT03P-~qmWJl$Yp3j9J(A~VacI& z6m~7o&y-IVM`S`sT*cV+3a{43Dd)6{)M$|xOJj=nB9ck$ENBH8f-9P8$9tm5vi*DZ z__Z(-*S$E~ekGY1?z>vOMR2b=drcN@Czlh$zDPQHgPcG*m2Xznl5ks3>&&D)ym~x_ zT3ZdSNnHP6M`v0LBd4{F!NZ(YCTLvyx7(=c`Q5>tIMi633F9@F`44((sW(BZW&^*u zCoh4i=F)Zwku75Oyw#B&EWFb5pT?fbpw&tz2?v+p!1^*=G`}eP-HG<>gkx1y;7O_;zN@Qj{kx>5Ptcrg`K6YG~=cAG5xEMieONVR_HP*I0T z35@CzI~DyBtgZX1?6d-dPEBVa+9p$(85w%#kB*($G)wuBp~8{r%G`&Z_+a+I!Xo{k za&dnYLZn!`MoF{%n}vAHm^pabOgM9$C$gZm-iD^8(cnS{D!=d98MbZz=FVS$Ih~1e zfJsN1W`Sbo_xh+Vp+S?6HeJn2pu&1q;mnd73ZS$Dwr*ZOjsra@}u+4khNaG3S&`x$D#c^wRP`+ttfaCB7fvQ##{glv$(A z53vtEfDjm0AaVE=9Gfk>$nMQ(=!g9DU2ARL5H)8}m^f7qK_%7~fB?fp2@d=bLE87E zUS~204+gP1%BWu|bxiW&=>dro#%TpYIiw&#LZWJ6^(zlK_s0y1o+v6SPcQUd=oo?% zeS4Fl?BNc&zId8?B~3n)<`vTBfg3S6RQ6`^p@lZjs@^|Sr&oD^Xc1#v#5gRC4tcXK z<;NdEG%C!>x;9SFMe1-M7h7RyMp}YzpcUA3`Ly$=xS*iD3+C1m>0jgT^EMEFek>f# zFWB2dTlc>*M=d2@DLwFwmR4>n!=f~&^?ET{Si!Z};Bt(|v$_}IyDYD}U+qmI(+<+E ztTMCARZ7u1{ot5Q$-WROM@z%8k~LBdXZQ5<+#6!Kx0Hzzi_OT$OG<-i7Dc;8MZ_+# zNBh2OY6^;4OaSlAH5B2T`5FYD?!^k-E?^kzSSb1<7sm~!V!j?Pmi>;Q1_Ywf{%y*- zKxV%%DZR|T{ab6~#dTxTO$+EG8k1ScZJF9H-m|_ouEmv?tiP6g{;9oe_~DWKa2I*! zHSOV2oVG4zdOA+T8)M6Xs^>dukCoQqz_c7x$@S^1>1} z!&f)bS!nvCtP6(xywB(6?QjJu<=-kDyqJ3XS3c`l9dN*ylo^P|id{|Zq(PfEThS~r zO#y!CmbV*$BO>H{9mw$1&sIO@%rz~2D_xo>y>lvZiLga{XS6+(YX>3Pze$YY#pAZtVEFu>K{b*q)@L zz@}5`(LN%5`MZX+qx+6mD*E>zd?`#SE0@|Y9VOc97k)c)^8^BpGaG!c$cPAGl^-I$ z9|p&HD7rL^(@U3;Sf1s!t;kU;U`ZLPYETv$!j{7N8JPk&r>0ZhkZ zDg;R|R@b}9&{L5f$F?)|LZvJBd0$IMnOb#wnL`g#a%#5KeFk)JpU)PF?g1js3=tL* z(jBsr%`V#X{hAPakKf$WgirGWC)^~jjF*2IcGU9B9^$^XyE*LGdUbS`9U>sQH#fZp z0FY$JTa%8aQZc*B{g8;IrA9~ZCiyn?%%p@23Uip10@e!&DEzsH(=3VY;SUk6Lt1TU zoB6nfteF|I>SD5G3eLyBtU&UKO4zPzMKUG(5fgO(gwQ!Vef|aj|2g=&O%RcsZds2?RASXW2sy8JpE$oP8d%Ap)Ol1M=6_n>M6lHIe_zK(W%Uy3jJ#y)p`j`BEGniG*iF$Vn+CTPu;5-EhBHs!f`wP-Vt?YJIl;_JPu#9bZfnoO)~|icT^iM(I`D7C))p+W(wm=;oxc zf!S(0=09*|3im9^6JWKnAf|$VR-YxCGmgxr*NL=tD^)(Rf-)}DN4Pk+Wy%IZFExRGkfW?<`? zkvNvW;l+Tk91WFsQ2{>>56@DC_qX?3uiHVH?XoKU>WyAq)Nz^Rb!S&+$eG$|k(1-w zNncoCOvy88rK^W~5hII>bu5W%l9lrp-10gD--^AzlX=VbG`>z|<#{Y9csL$MxsA|d z2tbGB=20$%P8LB1O;Tvnx^=*IS}SHs>MLf%!jeYi6US1p(WX!K4+{;FQ{uerjA1?6 zT^D~bS3m$6K-AiLNdE$+!%DpF@94j6-0w?gskJp#@^Fm=dO`?=mv*i4>3us3OX?)b zuxZBAkH{cJD9*#HomVmX8k>{###_ElaU0`RrSLhR?{aNt9l0{JV`qi&EYgtV<2I~{ z#Qbq}wn;#KHunG+kvN$)@~Vi-7&esrrOlZROcvK#b0^a;g zq7MsH3s7fG3&vcRl7$23swLb8KJ%W}v$njVlcGLg#eelwYginxTW7R-*fokDsQ>>m^cC!b_Laczq=a7DbZuy`xN>zkV~T%laz z=Xg0w+PJV47U63cMu(c_ZTXRi(-fsDcA+7ba%DWk{z$<{$j9?6iY#A#L3XL%r5nH! z333H4O0JDdzIXXuvmKiE(SFvxR;@Y}$|m8cpK&d(5no6!GoG#UEo#}HK|cYKNw}{l zLvFP2+-^-2NxSUHRRUPz0MPYW)CjQ`u2#S7r(Q#j9Jv>(PSPrl2O*m=GT%o>SCA2H zHR$4MvV<43#U869aE5Ny<>&L=)AG2_Y?Y<*2j!WOa)~g0sZ*XfyZ3B2yCQoyhfjDePt2Pr=#g{hW%JwfUfN?OM;f3Z1{79Lt^6~oc9ajMdpCGRh zak)DCStg;W$6nKK&hWNC58KX9)6aUdg77Z9%rqb({A)Jdy}j&+3?tA`+1h)JB9(@- zC?DU?jU&2t_qJV`GfBN8GL`DB z_@#V4=d#2Moo5Gvd44J?nK^8@Z93pa4~5mqhkFQ|4{zNz`=6sa2*h0>Aj$;u|HwAAn_r;o9xKe=&1F00|%jW>)|iFq@-JOOR28cOVTv*&Hhv+CzJn z;{27pB>`3`UiE_7^+d*b1rP@;uD(eM#+&|}R%^p!I*i*b=De|i&5pOOwooDL5O>wQ z=o8ZkEZlq;LWwa8E0#I$jE2(0%>0sfOa&!{%#0%QP|?)OhHA6$BIATk#iT_2iw%F( zST`2hGqnb2duWBnMX0eQ(49uue_yf}IR%Gxa1uIuuD+Q59Yl1;Q$Q2 z(-(f5)rp{Ub8~|`HomEms1%b>EtilWQ(2qwnm5D0e&y>0n)|6i2bVPvWh@D#^gwxi zZ?C`~7|84v==(u3Z2yYU(XO?0ZwK15L~RbKICYDfM)|RuSL!)IkH!b1*2~>mjm}{$ zJg7{w6`2GCH;e?n8e4zexwy4$yspgI9xA=J+JywL1501Uyl~(hJ~v1*M`ke1)Q2Uhoi8GWp1Rgm-F%@maC4Dg~eI zDn1V|c|^{LDLR5c2MUJuk~3b`t>>+lrBq@W<=yP8EREZ*=X#Xln5prDM1P8EY5;76 zApb=aQt*bOzcqULq}!iQFzRduy0m_kKe6fDaHV*&xfJ zjL$`%9MX~x0P54|U3VD#uWI>PePETfYo+ZP4|{=QPJDjuy>$t9<6~pfsGxFvZ@~R3 zU{&1ZTHA+-j(nI#uo-&Me!WSRQ^#g&SD$XHC@d#*CuA(kI$sBB6e|~FWo(tQT#IDH zHAHmzb9ege&$TmdJIu74ywbgI*!vO8DYT~VC>xO4GQ;*-ty%-~u_z1y(3miJ`8&-s+)vPAG1lbR( ztllmDy#Cdx`9RB5jtg;?Wy_?hdgv|vS=Njq4^V~mvlSbMJYIlj-+|D{gmD^RC$M}d z&+1!Zd)R!7;XltS99UVx*xes2*LUSj9%+>TSIK!!*Zjn_8EQ!tahj#JQzrT9B0ol0 z%n;}b_WSZtmLu1{EcfUYvouDN>)OLSx9km@cgmRLh4|cXwk!xti93{;1)5p(B5E7- zaj4!_zo?dw>^b3^<5l@y0ed0hUke}4{-cWc-3Jzb9$3&p)&SiU+bpMeiM_O*XK9lla(y2``F#XXe;Sc|>Bw96BU~L?fMcDU zfWaO^nxbTEKL}xLc{#L@3Re=gK@Y`4>sJNrxj_?;D`i3`x!+ROzCn`n{zihT=>bmi zE;}4p-6G}hXnYB-3Qly8m6h!(xP98YS#RW6@Z1s*Q%hr9_b{`*SMe=^+fqN%v*^7j zn^t*MlV4wXHhu-G(|#pOwdeg($YPXM?sA)|uaLYOq+|+9Yu`f7C(m*EvQAS&e zatCpOa{6WyHH(*3b&h&Cxanth&TLD4$ z4hZoQA+{eHOvrqte|qmc0xGZJY+Hga@Jh|N;^A|XOE5t1lt-zodC?uqNfWTM6OxgU zEjuqAeJZ`xL2c3CPu|C_&xK+nWJ7;TnZu)b@ZdMCHTFN1!}`q}oE0N$W)!rg;ZMpZ z9>1zInr?FL_`q&4xJ0H?M=%w03mrlCQOD+qZqo}RuO*J|elZO{0^Fa=UGYYDOG+jo zIqA=IF@X_TCYL(Bj`-ni?@A%syjt71>}k-P%7b=xi3Xw;7pZ~Y5?CPQ{#;)yB(B0l z__tn9*2Dfy%cIv;8T8{$62Z3Or~!Iv#Tms6nju4P7 z_DxLfkKU+i6?dV&n9hXN&vnw9*l)9L&C9O#k&FILDV(!PRL-mReMVTWkCtod7mcJ8 zGH>7*r@s#mPXLHh1|3`qHRNYgfzYUUEn7w$_={Pc9|6 z*)IYJ$m}o_>X9Hv_ZeNKNb`D6@mdydnN=`fa3YHI{xX=KUu%4)AzjNj1l_Rd>lD;a zLbdb@vkgw*2V%M@>~5R9k>8?AqTqUTru?#&q&V0-PkOIHQ$PNP7RMN>_OPo9`+EG< zcrm)}3rpO?rkk@yqkeTwhXKf)>k?Bu|@yin!>kz2uU_R$rudh zdbJtW)ZK7r8{dGXgd7c{hh%W&)rRscOZJmv4N||_ulw_JOTtLC1)XFY+6;hHrrAnk z0=&3d0&_fhtV~^(5};%GiqfPslxVK&M@vK!AJNfIO?I|hujFSkP&s<#vFd>oIF9p`J3Xr*{V;y8$MFE9Sq$29FOxoL zS~Dn0ExSGZaF(_mYhJcZWQK&aH48cB*l>)%e_KnJ3CkN89=A>Tmj5-O7OGuyf9sxMU_(RoWsaAB zbcz)tiF1bOyR~Ou2mKxLTPys?k;yg$(?q1(g6*=(sq(Ym<_Aoq>VKqCww`GIzIKnz zcWsMw?(K_O;Ef3N8ryHCOT(i%iy9QE=`JTJU9xotkKaD1(6XHHf+pR^rc)ydjJ!y_ zZa{uE*tp0z45&LA`4c5^p&sQII+Xr_Ii)F#Ap}7Fr%!(Td@Md|XHor=lAMzyXk2SG z$6vrM3YR3j*xgI@X{TMj6j6c3PA`$&3k=G3en!v;Eql9cQ8cy1^Z?}(_jgVmJS3RE zCxH*wG116cJvzU-y1G;Bq;H&TDgxbl+$7h0d4Pg)j)=W} z#PnJ~S@VFh`g(cq0*L~|42ok7)sNWNhV|qghe&XcjRU$*hvo$|V*;E3oooRWO-EVr z)ReeWbq*GbV>Dv5m1oq}1HG>kw$%dP;YbyNt??8g)mBI#Yy?mjEeAdNoihoDJ2Ba_+f-}Q zrRiTg-5{;)Lpd<1suhgOMa9;d)prl!j%dJJ1>%T_A=pVuWZozwJ(vhy#=QFKPnUfs_bQ9PDw#$s4 zi+?LJXxRWKyA7k{+``MNKfc@N0S)9lat1)H038;Y}^*_6#z z|9WvNFc;Y3pf*DN*ypkaHu{hTTs)~}6spg^FfJ$H(h$jfEX4i_ey`q`xf1cuJFutI>0g;A#(Lrk^TiBEag9{!Pr&1MES} z4L#PBpq8E-b#S>bBFeg6DFcSM1v&%I-;3?zYCCIT#Ck(OALr~+NyM3YRN3RN>GOjA zu1Wwoj+T`~Htk!fJC2fWZc`+)x)3Z$_X(aX#=BhlwUd&OP4_&bMip~-g_b}OI&Gg2 z*|YU4lrcoFwANimJV*dMszvYij&JF8rDOw<*#jl_-=YUi97yQLaF@@C=oj_R)XULd3a&x@@`3143^Op#onN;>%Dv-dtmfQr!Ba7&P4xMgl=YbgFcM^{t*vTXciq|GFjE;)3 zH|5QU0O?boBa9@w-bh}#EKRw1DF6${ZID7547Nveu0ocRM~0tx=;bv=3w3dL75Isl zov3hK-r^b8G0ekoz(MJR#WDb}t9|v!m&#Tq81D-nZ4T@2Dt|a3kku%7VlQcA|9$&s zyXlZrOj*^Ap~In3ZSs)a&$ zC%cP_aBFsbB487E1i%Egr?@&kK8bhvu?5(+`ZIqA4aL{*S3&*&NwzHjI`8B&X41Kb6Nqy>Y%>ef}9%>MwTi&JW?v8aNy`qaqK7UNfe~C1H^e^fE8N{Ex zkRQV~3m8`QrEB^}btzQNL+cda)l9#3hEkT&`KfW#F0>+kiwio!TflSQ`Z!w2W-n@H zrneYIUSAy3JX`T?bl7+y;{O(k@OE_);lUEzXfOnv3wRlYs>orPxVBY7!McX=)M8ii zz2~yTc&a@O7?ynyibzNuO||6n)_fkTcxR@rLW6pGu1WhOALXbpYa^^2FHjn z`JXp(sA2!>eMH2?SjA+4X~5o$dc4(0n|aByiPYDpt?~+b-huvdGWNgO{uX*5&<RZKIaF|bC^fw znrqB4-tmr@bNxtEoeHD&l(FH-C@(haNv%tC{L$W*t#li9DFc`J;CstFrpLHX_L2bv zoWHKb-qw512RjQtK+2^wFha(Bv-gI>eFc1&Qq1O_7|Z;kviM+-qfG8_&Pis5$fj`a zlmZ)>>TB+K?q#WL$YcF7#j!^2Zn+P(XqQEA%}Q>$wufh4hrQ#I<_}8P28mTrn}>c_ zPk?Od!w`|c{iAtWz6Az?{-hI9IpXSB+i0i`gDb!P%QwO3V}j_42NH!WuUkESp?c!-MkBcW>9 zS=>PKVIXtlz%utKj>QLb?xQWesZ2;8f`~z7Xum~lfMPo>`L|}E8e1}wc#}1E-X`E4 zIYn^WBpMppZ49o*PL_fr+0U?=j9TI{akGRSruGAU1Ibkul@47yax!HTBs&&mGxYaJ zz0Tw6X&+G4haKt=bCsb^Le!fXyR2$`G%mFNK-Huwfm{m0ZIOzM850qXg=A~ zFOiXv`^jGuh0nuc3y9bfpqKSXQ1)sdXJq!I^`Tua>NYHB9+VK5N>PJ8Kx=3z6rG=(N3F%SdzyRmb;m7iQmSmM zTAf9G+V`Zw?-VJJasV?@$uQHYgtck|y{n#OSc$sn>c^%O2w~%IDIoFA$cC=^iblB3 z@_U+S>po#jDL7!`wzaqTQ-S{+wwV(05`=!DR5}#|^u`}+4tOtHZV zy0pfJUkRR^&U76Nc!;$8@q3;e%fk_fo{xR$;gFOe&7`nAX$5MhFF=fxB^Ri*X%_<>ctB18^ps1z0QotSqQtTrvc&3#i>uUgMYO*vYJ3g-b#_!-|r0geV z`tjbh1W+Fk(R&#skF0{l$T<8vAhPiv)(G?X%pwpC+z;@=&l~D{nKI=s>pmIACl9MF z)(UsbZM^o!?$Fp>>;O&$eKp~v+A0BP##a?b%<2XH0)KttSD$ZwOu-9>6`KPmk$+6Z zY$|m`cN#WUaA-F{u6h1p92rtw-(96mNg1j02lX2YLdbWn8;)KrL;#yEuStNI7I>!( zL~_enAF#~4VI{knpFe}ys@ISRZR}NaR;P{Q#y@=cy^!L$v#8{^VwQuIXk}P3GWuoX zV|?~OeD=4!i@yi#%{OxPr2FgL$3W60mE%5bXYf5RmUL= zGuxh9+i}CEQGCd?A3;ZGLamU{$ybONyfRVa*&u8z16q{iM1oaoUN>ec+VEX-du0PK z?T>!XdhX}kRB{-qZx1Lv>@o6f5zh5}&&mIT!$5NTt+W1bK1GwPEbcmZ$ zORQl%u(0RjqeMK~X-b${7^b2fzLW~0Az(T#QrivcV)fXPp||0R)*mzUjYerLajZ>B zA{VN@E!T(KV|!9|?_|mR+z21+sH4VAy;7vSJ1br{@GiXM)E8)yoeu!T5OE8}%R!fL zU1qb16G})XZVgwf7GRa+tJkWNk&*FR^c$y7+U@SEwyU_xDCZ01disd0>|q#e&t7uL zTc%Ie?mx(%`0RD*`4R{7hoS_Xiv9 zpP(YKlP#oL;!n^`h2dW=U1|?;XvbEej&?l$dHvEqtucuXYVP%R6gfCOFV~(x76~8+ z2QD5K2R@fy2rt+d4)O97F)9%^R?Y)EdnXZ&T)Z$myK^K;qk&Go?W~CvYwtnJF=&LdI9Q%t@@7ZHs;N(!{Q3M z&8U`EvZ!b!C=LR#T0OeYLpst!1Q?k-FL@7^MHfELg-9N2KK%de*zW7puV25W=5OX$ z-t=x{rM&GyYZ(=T{A_n&W$h#L-9Z$hm5egWN#&U`sJphnA`thrqZvrQnVS)#tNQ%-(}T1y-ZCJ+^M&mrLc`+4rvMzR*GiHHct))e~v5> z$VhLE4PH2#}Sv-&vqxQ%Yp25;d64r1ukk`9Ixbs z`16|H@H^R2*d1jT>n;3Pbd(FiPguR}3wae7j@ZH2mJ1;1&y#+ED}8aH4Q2I(kXy&G zdAY9qT6B2GG%A_wX;GEs;CfuZX}Ahuomv(-X%n4~#1Gkv9AaLe-0A7ny+jG4xi@Ro271 z2B$5$u_bOvlMZMVGTn{G%%fn5D5z@dC(F~UeBtRZztY#!Q^>Z3)9Get=d#qY*b(UE zE+%|tqS%kRFlJQ}rRlU!U#z$_xe>fOwiVq*Ze2&aRSQ*^6ArV6YTfTpb%$!`mB@P0 zoSz;>ASGBcxdoFjRjJ_JS$0rF6VB{(mP~eC4C&017oNGpxA;X=Ajqngb1}ZNX;z@epOjqC_0yMmx0-)i@!j%0k>SW|| zcE`#}3klZHF`CRzHP7=C+}m&IT#lJrx9#&x(C_c>=eJU0-dfm^mgx9B@r?X?-9?K< zob$dc+ESw9X<4!BJ{jNEyAHfyDdnf_E1`|zjq6;9$*|&QZyUu`Snz$WhG|Ywi_;3X z=li`vt2aF>P!Bjmiu*CiKXU3V-eeCl4r8{<;$ zX;EVvHZE}PcQ?2q-nN@|=SYd2!Jw~JgU97!#VtO#tLnV#6z`)gnO0t_*WF(I`j^{) z_d^%6L(E)V;HDPNq?GB>U1`vKDTteZn_(4oxL{3e*qmC!f&;XfVypjRaA7E&E!vlw z&8$mVr7DMrWss7m%#(4ATH{y2R7=&|r>D_uT7%=CQ)wOuoI9sllNMo& zWP zmd=z*7Ug`gG<&G*>ET*o$5vfV1Z~KvLttQ|b*x=wB<3hzSQ>XTf2&fSM-Zt;^m_T0 z_C`yxOPAPAZ)*y-h}Rk<;ybCiM983ke&Ph#>6S)R&r!JP^Eb4lPxSsFTy#LVTceMz zTR`ky)NlDh%8exq8l#}*Z<5;*_5xV?vQo~a<%D({iDbKl*Piq3#fXg2oO%1Fgx{w2 ztZE)ApD<#sv|U{wA9v_gnc~z*p^qr2%{b21a-3AOs+{@y+;3!HF&4iotl;8Q7JTZK zsl~2gStgdSouiT$?Sn0nQTgGef&vY@Ft~vCa(%hi_3%fKfLB(lnPuE>k_qn5g)=Ha z2Z*={h2f@~2MOghZqfqsZK=f;ycZ&PU{T`q$-0lR806))f49?tnjP3&?_4T~u+1Zzgjqe;X~{NKeJvfR;Gss1^_{-O16|s*q3g(mCY?Tw-&j zU`=hSa)foHSIx29Zhx29T9@w{rO;;G7Kh7vz!LsudPx!Ej-W5(d8COCLNeJP1hA*| z*UaKqclLr*Fpeq;iOApvh5Gtzi+%pPQnz*Q-a4mzs3^9uuFr2(g zMjN8xq$-{wOy17vTB9O?ZEXDWo_`7xvr0aBM?{EB1cZmpPKcWaiGX|Dq?ZT*s(wRn z_};xNz@@$Rjf^N~n!^_@5OM_{Cj=uEt^~~&*LYRGmF*nV`ugS6AR&i z;`D-01M-){k}AQx2&}a}1z@dbm25#*Urq2%#Q$ynrs*LaFDhzQVc|g-9B+F@mbC6; z5P6P|+ppz$4%m}AYhY&;&Jw5%3V-YS)FjlOFaJ3qlN(#`EK>03cR%asZDb@{Hl`_X z$eZH+5T{UTtl`{j-M+zehqT$B{lO7UUi-U_r_|u0$tcB=&HSL8G90ew7|$q$tSVfp z&W;yU6B5o&g7D{6{Vkk_BpV~-3h((sP|{2g52Y9c04B)t`hnloHFThF7)ND=GZg3Z z6i8(kw1AcfXkZ&3eg`g+>Hjoh7!w>VB!Owkxpz#g6FuhXrLzk@-Q2||Jsop!QnMe> zp;Kojmah<>wH+JJ&9xuOJnH1$m>N+?NVeAcQt{@;!pp}dOWgVin?FdhoeXoGtXq{r zCg?o^Pwa<>fWRs$gxF(nd~tEDAY997gd=U+1#oUnfmB6^Ug8o3@DkRtB)HdJ;^FjA zV+)wQCbyMmVyN+Kr8QGpu~%HGKy;(#&|sZD!k)OTiZ;!0D(_`}&3gI9Vh!LtcFI+! zOgudYMzY%2u}68*I1&LjJ3F3NbTC6emtSX=2;6!lly)@ei*B6NiXlG*+@V`e2?e5< z{rn(~&dTzmnMJ$H2_A>xp&wB>r6hJQz}wB0&(DvuHlwU2(DBLAW5fx#YnE{li)Tmj z0I|Lte2;rgtRs*;SuHeA1y~={e9KRr9v88_3?h%v_G!Mnc;>k~)-hkbwHgoRjR6Zt zDC}Q8g*xsgyPu%$978WA&dw;yHCY9)#`F7aODAn#s;NB)5w=O#+t3&=T_3%*y9i}Z zZ`JG_pR5GW!J-PDiv?&`WHyhSxu@sWS6sX8VX(k@0mFfOrOo*FMeaW+iWbr9py zwAD0z!`w7mM6+9Npqz@@9>(wH z(c-N;u>H+`5Cit|2+y%)7>jKbFSh%R*z0sb0MP7ihc~aTX?EgUY7BDe7&ddJ2f3HL zOSuvAp*oveKQ228E|}%KXM9D@9DFKDlrO(ovDy?)v62u^g^ zh)EKtW1jmMFw~Jy@-;!fMawyOz2uMz4bpE8#9`W~0f_BNXE1!!S!*!47W!)>5h8AN zVgiaY4eP`QK&Gg$$w95o-Pe74!E2$v`+~lp<^($~y_#|mTH$8-J1&co(f@LFDJg$N zG(?d0P-M>lERcmWOYj`eOyA&Qy6as$nQsVdP_# zIpLWE3mz;Tp|1O8d`G{PGK#iOPel{8=-CB53V0=S9rk!vk4hHS3ZRx&cHLS-usA8K zjX;Pfnzy~7d;Ef5M(Ch~bi*5C^Pda35(YY*zHmmeMT9j|7SPBoF2nQ#5*7%G&_J77|RoBsBzfI-- zERY-UVL29cuP@&(E|=l@-Yt0dofc>|{_o;10H;4wu&>K?tvk6e-O0m1&#tHbEX%Q3nzcT>BqQi#ab9Eab z%^}K}%J9)_V8MJvL^t@Z77$9Ddld%kZB5B@Z(QC4d=X_rFl5wVt}Y+UhXe$Etd%EK z8VUOT*g2s&Y}9j1F=Z+t=~b%QXLHQ6XKoT9p!zndYV0WeVE$Kt_fN>o%wwm~A@@2y z>Xo$|@}kJ97EL@A8x-D5^7OGdPN#O{pA>cp0vn}1X9s7T8B+|bW3IMfHgm7d z<`{#9#*mDBtL(kiUrHhCqp!MnH`GWq)z|4A{EG;<`^2U75Qqs4Ei9eZD3^7ux+#FO zKhpq1f5tZY>8QN3Ma)HH1G$JWGKu2rQ4k~W$Ibx;FM#*UoL?bE;Fppx>b_SIe)ZN! zDC%em!_)L(4*?yE3(wL)T!j!YQQzDPmFv;e!Upqt*yQfTIG8sPrws$9C3qVC=W1zw zBHh+o1)(y)>}`>P=ZN)$71(;IREw`iLCnCzYv>*Ws7b4|vxm4#pCy2|aMf)8^K}s5 z&F&sO2i&nd(YrT@Vt5E6`S&IJ{)nL!d3|`AF#KP=nhEf5pP1*F0M;42NcKc%7x3N# zQXY~a%&)IU-!|SVKuUq7LE4`^!bFsq7$BXOC{kqCqswYRpPsQ?+R*wQm!Lj$mBPp0vKG2z#D{Jj50y*r;J0f~L2k@^#|QDPM8`>0C( zt5-{n0*qN3FAgTjhb||GT%wN_*dU>NgFmCdrrmPC54bu;jD|;u@fHEF?~=H5rq`pX z`bdrzztP+O)vJ{P4{wmZuLMZ)F}*zWzjzM(7swTm(dX8v-0M+b(}v#4!yJ^sJ(61p zuo-$Ekj}$*ba$^u?OE!B?`q%sSFh%+0zBMV>fc!quxVt!0XBX&g$1PvF;IF*2S`jT z^z(JYk9RQYa8Uy@-M@OZ9>9EWu?PG+3&Qig+k?{<3F5_@+iH$${D&RaXWW3+SE8iz zU5kQ_F|;ihGXEIg_pK8kq{+MO2!8X9J)i}U{P0ZbD=ps91QaS6dc$4V1JE}e8b8FW zb1pzJePaH6YQ!EEm$1FbjGzN@LUd>nB#4`W1U!!vlqG#Vvm!9FaK7uo&$veMgIq$| zKdN>0zhRQS7N|EHZcn3lnIpk!c-Jxtk`pp>UaTl>SbWTcZ!cokGKdBrra5VHDc9H; z2C}uaEl-~C(a&w8=iktF;d01~w?uB49L?(PE8;X}Q;)I~HLgL_GhrBTW&JYBzZ$kr zt8WX#)2t{oFsYAqD;rCyDm1TpM&p7+OPx>=lo#BR{6ZKl3}K2J$SVMM4U^NdyJ97w zS;#)Ou_r5NbQxb4K~>&?k{>_Xuplb5^U{2$|EYIbbwu!P%b(iO_0m59veeX6Uc9>3 z1>}bUl)undSL^sdm+x$=vEJmM_!T{qIs0JaJV}jjB8`utiT3_kMpi)7lxa^(KJw6$ zi-O5o4wbD*8%N4*MAgLkhsx4)pvpWb?YI%vxV8_OPuKcs7^TL^Pmx#IFNP_LE2#$3 zi4o!Yru&iTL9jIM7iH0Nj9t#b@2zG?n@t8_97K(v3FQa2IlF`o|7!DH9^#<;qRZA? zn3x-UMYdSQdsC^+bm0{yxo#O_%Oz1C1rie*2@_u@xH~$kJYCgd{=F^MhSyO#eEU6O zH1H2>15u%q)Jp3o=sxnS-t6Oj6mZP*aTw}LTXxEbD}4t!AN7T_v>WlQeG?|yt_k*b zq1e&js(@p<`9xtC$Cob19Y5s3zLunKQmmFN+8dW<+F2AR1FZ98&$b zAK*9*(nd$|i;UXnBZ;iuQ%jkMAW+NmLOQN};v3`FG(#x0NP~&gjhv=1Ql_^dMuk_K zCy~9fFk9s1-1hVz-@$$>4b02dU~;83pgMF+YT=rtcx7g`0WC7(oTuG%6tiTzbtGVM zUd>%`yzTcip?2OMKlTajvw!cJAg`uR&}3&w!3!90ei%wO_QV!Je}QEJCeUGMeBJ0* zf%nMJ&`^Wm)&}@wW$%S**cw?uFOQe?>SXN@VTnXC41H0Iw>c!g~OaduHYmQuZ!Z(V4N$d{>KIOq`_Pm&GowgWqM_0<)>N` z<nEed_UGi7Puk*2D51F1J~EJOKY&1t zK3*6e7aH8oKyC2PH6uuf-I?SN-S6eNX;d@SCI6UmaV$&_@(eH2q{kEygcW z3SwlED@}U8qUf9Wy|qSVVtOIR?aEhyRp=G&bJq2dl00BQPX2N7qigc<2Rg5u*`H-s zBR4lUPq;c_2TM)AG@QtIV>b6~yVS&9`^o1!^Wh*Dm*Y$%{GnODoFr*hv>-uhi%0rX z+1bZ5F&42Hh**vWXkVN{mi*P@iY4lo7iJPx7iPMervyql*MFT5e^fIN5ctyzV4g!; z#9VBw9z=k2h#a+$;cp%$&rTe(F)ks1o2j_9NkSexI3B7gsEDA3H;`qaS`Gj4Pxkk5 zNYquh3pq@5dK?AvhPd;+!ajVb_cWt>%NhdE&+<@=-GTh0C*+d#0*pzEOIIUq%@^&Ye!hS)L5;Vi}aWg;xwqp3k&p3H(Qn$W{V~IR)RDOE-Cph zJz65Vp3)%h9*oED7^KB9z=lDd=s^^GkB@pKsL!5<{ESOO9xG2TeBorBs6h#tNJ@F} zlgxYI&ifx7EdfPC&TR*E7v;Pvmm2n)B{PWRlcpyaW`1N>dpMu@mXzOq$rA#ZVE7oN zrJJ0Ra%FA-|2E7gx%IMdoEFsSq*<}iaI)PKZH@y|U>{+lf z@y7%nzQ8jp`jtL+KWx-LB8U<3Yk6(20Y&DkE|q}~(_o{@yna1Gg!;5n@q4g6-=(1~ zImKt<0I%7{!HYoOPcY0xxRLr(ovdSN!^QfL7xaC79~&L44==SZ(qJJ(MQu-jnJd42 z`gt2ROv8@)EKMP;%slvsUZVVmL#KeAFB>{&5_%$FQVB2$jwC3xxMtniJQpZ&y+w&H z|78%T#>oJO7^MYI-s1&zHcsw!DcX-%ofO2aP=H$H2hq z{bd!Kd=j?|Jc~%WrWg7P?^jLMv+3s0fTK&qfMvAbt2%8QsVzzmEF_ZMcV?<}qg`C@ znnl!$c_2#wsnK*~fWUw{bO9OgLr;D7#xF=+_Xa}e7xl;>!%lmb$--HgMxJ(jAAmDK z27lO2(x=P2!Ey|f0lm=gP%B8#U4Q+Oh|Z^oS(4B^K%a{p7D#yD`mBwPNx@s_HYF^? zPN>h|d_yfG<)}_gWZNUcpW^-fw{Io9cXs+bki`=x$O)yg9vi*n)tp;6ecGpmkLXVR z5dy>@yFPVh4?7`s6~F9d6CL8V#wjY`Zt*ehN)m8V4ClK8bm0+Ty#FDcKcKf@NYy8P zb1*mwKhL9C6zdscOqmOdfuBe>UwyJ?=QSvh%$GsitCUIz?1hJ=5_nH%75lu%HKygJ z)OY-MH(-Xs!c0zvtuB=O;$WxeS7(k258MTkVe{QVq|NT^KumTh{r$$(6LB80vTkUp z>8A8X>>q+x6bnSwQ_%7QE{zUqTy!deGJvSSz6j<7(}?aT&1Hw5yPf!}{EU_Syg0%} z#Xo__z_b`b*V$#XxIz4XK0XnKOY68=VrF=VJ)j4AN979fbN^&*6Wqtcdl{;W3D{x% zZJ3gD>2+?|Ke$aVKrxZ&Api8~`LNTZ%huZec)}xPAhy?0^|QTtZecRO-nYets!*o} zyKRUWZzvU{93?CEh7)*=WvElPAua_-zO zX`amy8{;KK&%C}&l`1Mi12~PlG*N-?h0RC5rIL3DqLN=2uiZ|kGyc~1fl`AqyO#Bz z7LPOq%Qtkse1vo5#rTO$Mk{;E55@F0_(okh&-+uowEN`2I{B@g&-uGS7$`VxD&B9J zZV~+&I!x62p1AS`i#@PNzj0<%{eSf3F%uA_rk`Cmu7T{3X(fU&+0+YDKWiI=QL*o8 z*}aC@qXog2FAoGHopg9(0=E+Pjv$(!ntROuhwZkd0+x6I;q30!s0qg9g~=sm&>QCWw}j+YLvmD}P;q!&oIPJIB|Op-YdPIPk9Tr z7-;m}g4`hihje-RW1*;++Uh4#VS~XJ4>^FZbNs%KgC3=oDFDsi3r$xE%-5$48B=0Q87O3S>A$#k3{`9#|zTZZ0z)6&f~>#1sEv;_#|GzV>EaSN7(X%fK_3A zj>)FBMdhdEMD-z=fcao<)c?2`$#Ov4_81Y=*B%BIAx5(vFM>RLwjC#Yiwxi08Py~* ze?!}QfR>p-3aDHJ5N)j-pTxK?*=@h0TdI`|q9n%}5{@$vd~>zfKTJ^_ki_Sxn0ff9 z%LCnKX+1Z>PS*B+o~CPcL7y^{d-bL3VmZQn7bw-Ye!9WO3G-I2Hk%c;RD4U@&Heqy z3`Bt*arRiqh}g#k%ctFBdI%rgQ37F*x!!X==TPsl5q?-}iih6O9INvl#)V)}+#Q-i zZ;+wOO7rW%jgnU( zRp`8?%33pY$Tz(#=9<~}WY!nH@!>8gz&?|MicqGogl#goHLJV5=29169-;V0Au1c@ zaharc;KG^D0MY@pKGa?{x;*A{@@sOC&WNWyJeaEF`uROcWJ3)2@~~=2=m%I}iz}Wu zmu-;ne6;*m%f}>@VO@sK;AUZY?%Rm*)>~D;_5LX(wP|<*SHxKfRTC$sS?}?o224tU zxXgZPsLUFR-`|~-y`K!jf%>SoRB=Pn7PVlmUnBX*8r=Cq`nwFK9FF0he4F>M|3RQ$ z0>BrpM+(v85L!zh*RpNJ`MBmSE>d5h3O~aul3odwAINL(;2`FG>0qFw_;B>f4WuF~D~}zh zsi@jRCIfBjq;Z6bUerat)%=`dRX1hG(g|picPYT&4c$o0vz8CbX0-WxkFxUa$_0t1 zKlz`z?HNFC(mC%XUsdgNg}iYEHU^B9w>ICL_XV@*uI}I77DCL68eAZ_bRX#o>90+v#}7t-iLQRDz#-uVuGADg|8Z#| z*^Sb;ck|~?HX$cJUbYLj_W>6yEBKg6L6PGN7mc^nN#`0d)$L-18FFpEF@CbkhRf3N9mJC+Al0uyV_@8b~=g^NE8b(u<%jKSU9aexj^ri2q2pq-rT5Pzkb^&D$QSZ_1IbGCL37uAeDbl z`=qr2p5N=KtcRVyS;JU&X2nbyaarq9k3B_hIQq^9HWOLRrSC>qwI?iI>vk}PwOE6M zG2Fe@UujY)zW<0t6Wy98^oT6aLnx&v7S^mjEuLCjZ1LrL9{93_ef)dbFBPy18`IYW zF7VbUXxFVxk&c1A!`Telr zs8o1;sR9N#Sh(g4Ca)w==bwjPNU)O*&1LI3(e=f0|94&ht*K#~rk@lC`;KeqA#zu* zQpf6vT$x_C6plXRTP-tQHf5BqTRa?*O7VIyTDk}Iij}5Grg0frTIA6E%~N(`{cT{9 z{1a2P!P4D)g&$<#d9GAZ@2!yJ;+@#KO73CbU+B!+5wu}0@)aM_;C-neX74SG4l#Ut z;&FOy+r5|=VtQQ$W!0gYxhKTi2n($R7Fz7IK?2X`1J%AXg)cp^Cr$gp5Yy4p5R6AT z5-BXpz4{J74>t@9C}iP#K8j27__M*Ovp&eldN`uy{z`C_sqbB*zIC;Aa6#pVzX8E} z9j5*s<}DxKe~E|FbIRq)qIJ>y=KWIajDrf&*QZvu$->C<}K76wH=RJD9_0e`|U3pIEclX#+^;E%Xrf-hDB=phk1 zl_>muOdbOIL0@e2Sq&T`+&`AlZFZjKd@e3_&X&RlHuCwiaJq*IuN5DUl5uJuYVJut z7E_A##7@a*UJ3ZsJ1XMVF3R$k0^T{&fi(jSeZYmQ7ah$bz3*}!DtXJEK6NDy>d2i# z*0bYT+Zh345iXoRGbrG`i2%*yO;y3LtMOrrueQ=^+$(tv@NngIjJ2a$q%83F!J$}9#jOpG-&Y=Y{L4g&rx|Fc@^C%qoFmRl|6 z4aX$i*^qI(klTzahll^;pN@c{l3zizPXpX~DhM8l`Vm-DS!33HwXLoQ(xPpV!|*rn zzDh>`fWUN zK%rx2yZBEo;;L(wuQZ()<5hGFr8Oiebz*Zl!(1rY>?sI?;#Y6{ z?b`W!2>p;}_W*fNuhl<*TU9s?Py}KxGN62cbl|~}KNyXzTsJw2Syn};qMjaDTlV!;jQB|SVXSyff1 zN?w#M&|dj+>P|JNTMf#o>=AL58{$M3y@gFRPVymSNXGz6y5UYH5y3$suiL?T6~X*{ z)V~$b9#(5-dzT6Sez14x9TE>O^8{TQVT}^&L2+!`T6z66wD|O|Ip&{CNs*-B3wV6x zx_U8M9C#*e%as^!2Ny+rY2=N-YsXw;!(A zd*^h=FM{}jXrBrqe zOtp)HP-~6AdJIVCnx-W_UqmyXEcX zWFe!AVPA@DKN;E2&uT0Ol|!0Tb2kYIGvt@qo&3wX^qVON0|o>)IYj=Z&p+ryDDUp6OX=64>eM~wukiu# zt(D|oJE)@wGkDBem&%8Vgq=Wicy8Gpx5fSca&n)g07n$BD+Ld03SsqQAYk-7x~My8 zT6*g74T_QetExobj(2n~6BkB&0pInK0q~!W^M|Ndr1KmrjC$WIb>0111@jw4(-hc? z_B#a7)JgA*J_Rohc+NBNLH<(r-`TMK12)Vi*wXD}b*JmSCwSOa9bV%ZCkUi?p3_u*snl?aOpI30AiD|xVSi3Dtq(j@SewER7NQzd!%FgJM{^C;BhF`NNgYINOZ};0 zkR^0<*JOSGH~C|VxUNVIjVUbKTunkwQXt|VEXChG3Sut*PR}dlMCrM}rz(KI?r%0s63SrGMSh0)!2Ks#ZM?fCuTl*ok$l1Pdzjs=Fn%3R?R4|L9=&P^3zqIEI3C z*MCVk#>R~dPAA}UqM7D|y{HC`AFPLG{_We|bU{y=?Gw@ypp#9ji!pzL7-iNweeq|K zz|d9j3oJ`A5Xh2@Y!42j#k)($Q<5ClfA9RfYSQVGyi3!zB8b`r%A-TK@#}QTNCHe$>NV_;HQH>PD@j+jn8#eO2~DUB{h!9*MJYi?(Vxn|mNCv{X6B!+Sz{V0OAAOcIn5@_!y7OU zY8GTsn3dT*g`FbSUFq98ASS=`2|QlzRXPyDeXBHxl0h+O)) zk;O(?2NgxwAI?JB7twrQun(lLi>?VN(wD%)C8Uyzn-?tJYd&D#&4R5=NX?zi;9_K6qmEd?;jZa zarVxN*)c`P?M>2}+Ep?Mu9G;+dVnQpVahqdRD=zKw^ebUb@hqVlJgt#-P|D_S*mR7 zNU&bf@Q$XVt`&Td$E=TXOYJ*Okkb#XhdFCskZ>Hv>$>;B96x<{PO+U$6r@#0`tydL z<$B4C?BV<#N&7PIi%< ztwZE)_3o@#Jso`C<58HHJN!nS`!^vzHQ~$H{q1664iQFOnx$V$G}AuznOWkm=4vH$ zlY^5s@knD{u{`}FPT(PbvpJe66!BmRQUKIYt6z_)5n~MvE{>hWUAF?71Lea8{|^uW z)L?XLrp2jG#6kW|MFRXklwK>^F2k)6YTza>SMD?_BikR0d#hh9Gs^D__GN;=?zKUA^z}^ii(dTj9y#iN-zZ*~H z13?c6m`cCR@Cv zx`hvgsTK8;k>A8OH#55^<5mT-;Z`RdlPv6&PcAZms~>K#^Zk8@f`$^n{=T#qa)5f! zNTZ4eM@~2T(u?{a?Y=K7HWcXpG9>?Y5~$g1?>y{bA=Deb+S<=5APgM0)lErOo7i(f zqkLlhEAAk{^L}|_W+B7+Ll|!Ij(R0M1?0R%3G3Zo_#s&Y;0J+EIINW1rh+6CQmqkU z<=uOd*{00zZq%Pajl0Zk$BS*VL!bBb-9}Sv*W7#((&Bi#0GJC45+I^Zc zBnYR=*NPsB4(wRA0v+rNd7&Aw0@FZx)+9MD&Tb)^PoUA51UK_4Y5furBbM|?f5OHA?zpa|47@_M*uJ{?~VeK%LsFi z{obpPcNpK*mzJ}i5p$aMbXy8j1rJax-S^A9Ue@%>>%f^|*&jRDku*Mf(bcwfiZ)D5 zSv@@B@4Nyrpahz_y|AG+TqI85nwG`wmT3?Elyj{vDf!k=F$l!F7Wf={b=!X&GKdBZ zUStjmLp$jh)0TRl#cxnGS>ho6H3H%01|DGQ>tldzc1XZtLqxO-vxbj+2CMj7znae4 zvYLH=cXzSP$;?c+%?{n~%7{UOXg~~|tPA0lc$G10l0Cm)%26AS&S z-9yeh-6=EEIF~|`5>gwQeeqX6ISuUG@BHBjryC#@Y$PRZ?Te6DqR;h{~%L2Vb=&UN=4e0#EqfcV@@ zaR){Kh4E~HlhrGJ*Wxz3b>YoU&w9Sd-Evc6#e)pPor~4)kAu3z|F6&1b5gsdV6^5z zUTqHD#@v&Qx!!YNHWwBkhZsVfl1=*-WQD;i2Ei6__i{QHzcfzD9!qCROwTd`I03QE z-YYApTr8ZifUNGk!eZl7KsKr&B%O@ne5^+eBz~!;qCEPDuQU}tJ&^3a3!`v+OhBZ( z2ap-B<-H$TGKy2!Vb-~^{XoO2vDSCE7QvWEl>(fopB`)|TjY)WQmf8EF;Fe~ruH3k zz449vRMe9g-}EQ=)ipYBZ+qns+cW@6a;e^v0d9!1(}eloGqoub=b>i7xf9WQeK^<@ zO}$EN118tINCqIE!W+RlvmxC_73P9$%~hg$s;t_})FTfe6IF6~)E{|Yh!AX7tbzXa zx{|OOE1n6wVB<+_6P$M9+)(W{2AXC^3wD4|2{~i|Ke!U|^bf>2VO|pmU6`lcA3Sx^ zMX|pvuIZ#}vfcP`vp!Vo<(TYfao%I35;q42S>RAl=wIjZy)S{VeL4e>)*V=%kh;n@ zef^%gsrEfyS0+*N{ zj2$qg>%)6TYM_w(WqQX>d{@op?lDrM@sD?jxngOj0-A*nwqKEuUF{klBM@@gRpEkF zyJUa1Db3he7<6?8qWw4MK!_S25k6cDZOT72EBS}Ocsc@hKU_mEJ}9r*1n4^p}S&&S+6 zkr5Jb>hRH{BJU9fll=VrWPyGSvp*?&8d9Lmq3@w9(R{3dUJ1RplW#Ibz`$e->zrZY z^@9Onj=&P+)q{b(f5j7TLD3lRnO7Or+^!u~!-3xp4cDqS)k0vz);7dy+D`ZK2^C#Ld8Qx+WGVP+b@VIkQ z;&K^{Xh(;`E+`+@heBJvUmvf7{gYxX zKw-ZX(9B7|>VN<+Ch0*O*y_e-ypnQp%^88JFMj{vieEry=sllrr4aAiW#L6be)40= zdOu&Qk5@o3TA!<4i}1GyQZ4)3%kv@8y(N442f!$Z7$di53Uw0G-~3>0)^p{m$ICki zV8U%jc#m!XO#tav6>3R0fqR>GB=nX(yNv@W6x5DrkJ=PSf?HWZ=jclJNM(`puho{M zrS23c%f$cT>Mf(H>b|#OMHD2YyGua2yQI5Ax~03jK~lQA8>G8Sx;v!1JKufK`}cpw zJH|o3?6c2`8P}ZinrrD1^87O#B}ijgy{lIcXVSEqOrqZ!U1j?sfG0W>gxcHb<5j_W#l;2dsvtr>O!Ppi^=WgG|FTer$Idvx@U#G z3a2gDzVL2G!1N`p?Cj@%jX3QC zXAj^{$uj)I*syuF5F&w+h)AK=bNIQ-%~mm7R(+(LQq-%0-6{a$CXE)L15C*f{E~i@ z|B8O}JL0Z;5w7soVV=mmUQ2d9?pO|w2xnzsv1J8EuWls`QbZ=GKm!t2Cj>~v81_EC zbC3uCP3hME*OWd%2FxL>K1b*cP|E6xIWl*Y{jbxS93JpMU;=W02&jUSS>*V~=DhweHxMKIsd}%&3V<0l z5TSbTDtR5{M<~9<27lJL^YoAEqnxmD4zAid=3B30lh%e;DMo__&U%b-hTJV{+8J%b0t+_ z-ZUJ=<5EPvg-Lf^t602_Hk!`k88%x9{~x|T21KR)A`774*tNXr2`gjC7Y3=){~O$J zqmC_ON*}OvYmqPuJeaY{C2KF%G6a0h)FgyO>RA|H=p4S$-Qhebmuyc{($IKt)7{8L z`M2&lK+#{QNN@nC3hu#Y)JJ|&w0Si)w|wox$;KY&G%057wTmn+RmmuLqF zRg#e`R)1w;09B}_ULoh9AdGc-Vf97fp6&>kz#aG9|K*ABe}45AfWq>8n#?9Yj09SL ze~yAZ;5yk&Oy<`|GU9mu-2?z0{MqQyF#9PL@EQqR57iwRIM5q5q~Ui*5dtd+_S*J)UCgVR7-ogxbXN;B^0jGv15?kdaPh;sPw1u74O>TB|a3iyKrAtS0TN z&^iOUnv!Oyg&v7)BVih?W$BW5}$-k zKYvb6X8mt2s-U?XNLoT}Ht`a2FhAet3ma_xRzzkwf9mOc1c1LcCx}=|3O&q-z`N%9 z)*We`{)bk0uR$GJtxS5|kor|#i=6=s z%E4Ik&Fi5!Af?LyB~Vj8o&oX1rk|H4x<@uD>4>xgy^GnD@$`5?)glpXb%~iar%}FX zYkEmMjYW@NDeNOqNr_hc{Lj4~g4U7Cv_}M?|Gl?9NTqCawh~|4+<093Ov0nU&r8NFOIVbJb@g65$o>j4kPm>u`qpR#gXK+$B9c=PnO8`)U+HGQ zmweLJ#wdCBx2oaA`+uCWUwj!kIr`BS{z5b`@z1z@O+p(@Bnf(9=nN#-Wr;uk<4pj= zKm`#)ItBImA@wVHKR{!JFCcPRIBrmG>+Qadmks2)A<$yU3B1~G!0rROj_xC>n&$NU zQJJrS14FPhmT3MXCG(;I@7n!p)(BYB0V^GTmWt%I{S(%QO61o!LEZ`i0ON1JG_TnE zfSCA06c$56v1o_1629(MY#@M}a+X*9PokJXfNpzQ?+{WyowpYni;%)@R_Np~8W1ti zBMl%%nzC}7Gr`XtuzSNUo*3;2YW=aSfaa-E*ApVc;iQ^h&=0wQ)_}Ype7_fi=Gz%yq~m+@^Zb^ne+m?yw|zY2AF!n8bOI1q6>mYaSq!>s$d14dQk6ors`81_ zd3i?SG$(Ybf1y0S8Xz?K2fyhozyZcd%BuPo;Mg{@Y~TF;qY~=f2i-(K0h8ghS-G>h0)acaYexQhIO^-~ z{_Vf?R!4=5jh8|r%C{fKRyN{E-%H<8CDANZ3|CxzncU?$GBLe+VKJ;>a)_+QZ4=)f-hhq;G6(HJ|IYFp)F#- zd0xp1W?y{%pZaDYqIRE95%B=vbuiEhusMyiupl2vHr}1lzaesTRGVgXn0dTgbrSs_ zMru{A1p@THK&`LLWte&Z zLPZ7Z3W&9sm$3xBhRY_fmlFfXQ$=!I==`gFZUO@dTT+!a^yO^@3F(dUn~T?%0O!&O zU6*1I0WVPka{-@r2mXFEyyyRaC{mkApo3~rUml>@&ZaJ+RegY?*4*zelK~ter;6)zTewYtYv0{rvo9)aPP=K@rbZ}?ZL4%K%d)?$ zmga5~ke)wtJZIR-E&f@{Rs7|n{faLu3ZZo7qG`r z@4rxpf2y{==tIuC6#k<3*}sbk>5&dy=)YEx()Z`N72`9%9S@Yq9-dY;Z59TE#ZOjR zY_@y&bol)`g+`iFG^G9hk8ny40&QK;yf*;skmOxe2r>$=vHa$SX1>8(Z@`GDao7|| zhyPC>jS%~HI(rx5+r8c<55(T@Js;IAvXg3}ATtB|(+$lwAPSHO5W`>Hmv<=0xuA35 z5P5ki16@RBDJrgEvz*)^T6*i(WBUy?p6B!R=%4T><3j;k5cXVd-KH+S4*->7%==dub(wzFcQJJitV`Q zXmJL^k=$=Q!!$nfSR6M)Hp3oe_UDzk5xRzw|;m! zB04&A<)6cNlkeXGm!yC`6@)TCNBzaQmh%;kY8}D&HYZGzIsDVXpGZD;p=u~Bz7`P) zTySi7uL|$%x3A*{uAsv=178f+X$20(SywQ z2Aucx!-z;W&?zKjhzg5$hrYG7rDi1h_H2|VEh|z}yOD1Wa>%`-#Et(Akd9&1L;gFg zQ3S7wKWuTkAHjj18t{7U+d*|&w=B2-8-t+KrCrOi_zqnm^bm}K*gsGL)o=gK#akO+ zCdwanK3y0WPaNVCZl#%Gpe{%+prM_}{V z&fC#{UUXu9mP%3Krlc(4+>xakm5zzuNsPT3IP7$a>0~V9#z6E%h6C%1z%#D+esg^C z&VcCyzlf5PfRo%jy+L%bQgNhuzErB-7u%+xla>-6AD@!u=H?P*O=psjRafk(x9|R2 zaY$w`5{e#$AIg8W|yHipgx5sQtlI)=X*AxR*zZ-EbdXXK#(^{N?O9Q%pjA z4>58omt$IyLYY8~$#lknt7En%7l(Y}L~h6_tL--SQ;Q8w>FQ5?)t8=-M1?|K=OVQ_ z=IM=cK9;LoLrJVco68*EDct#bHh-n^c_Y=q$m~8~IfL`=`qN-`XD7GVDV57Kb78Tf z$*J5Sjy9`+D|Q7FzkSQwi#Oy}ELO@$TIGuZsi?JG? z3M@K_dFcDUdhihpo|%)6&g&t8-QI+%RUqt7c^sv7^%`6<)g58Yd+7$gH_}-0@4TY~ z)@a*k94{Vh(AuPd|Lo8_bHi~suJuKIylQ*^RRli39ZOynvI=vz&ev!Pl|Gy_ibk&2 zxEXyf3?1iTvP1#nEkqV9PcO~y+a`CkM)1kC&6yjfUd{rgad06-eXp+Ss`hSp;%(u} zFLwBU$5V*=LR{r@SmH@+-L9JCDbB&ut#4;$Q!U3*sKsp$--%T|Y>-NgyTfrCI3ImV z8zh1Yr+s?KA{pE*wltgoPU^*$k^~R`L3t@sL__!OqI^gaU4Lf|mA3Afn7F%rU5LkJ z_qnN1A~CBoXkOVb2u&-|#CV}p93rrDB8n$&vI);k=gi%GU1fiYZszhubinv>JbyJ3 z@@;r1&xzcLriO%Vk!(xSfwEd>t-FD2+9LmK%$v6m;9`vxI_be;)OMa)tiHEzVX<_>sl#`MwZ5jiX)@Z!GU({d z9=kLC*%}~5>vSpMdun97yV@yqxhj%Mz7w1K8S+%O`j8Swt(I$yfmnIACmdbC9D*&s z^6VF9?H8!jl<7(1a=j;v)9Ctj4&HmeiY5<!? z00rt|D^5!qZJfZam3~>8G(z@q{f_MK;o%y)r$4Ucvc+-3jMDZUSv-4P(ycYOAwf(> z2RHUVh>{>C*C2KH-x1e?Bn>dP$bh+hTZ2<3`I&$qQ(Zuy+v-_wo%%R4-LxeG1&~EA zq}!19gLqX{Ro^dMHCMGR-nP<8!2Pp|K9RhlsLU~GjO9u-P{T>j){&(OjjZ7&v%$Sm zPW*K1oskuldONt7FYCmOHd`iSx?K_yiv&%c+4q9M`QI_3x*dzT%^ zf!&vSL7p|(2>Tr_e89-gZ@?= zm%0gG%gxzg+-S`c4gFdUk_5@0#8$E=E0AMMIp7W?oxF5}Z*+))SfVE-V7DvGt1<{; zDYOBf)RPYM5nu!7nN_iAOlPgPsh7b2TXV2z(3*d4J;N>i)-+(Khb{PFP78aLdGoVH zQ{+erm!&Zc+LR53W|a_A(GU|xz=c6|&5wk$F}=~qsaV=%fuPH#R)}TyS@>u&ZD!Hw zm{xmI_p2jHM7r*UBxYlgbPv{nKS*b-@XVWqkI|&k$$8Ux_Isy#E&rVhVC!;rmwy}8 z8a&LYT%szC=XT4a(O8n=BATTu6ww$RuxcGLtV(TNl=tHC2uroIfHgByO8zuDCqXUS`4@cj7wfn|)apYSByBH}44x^{k3feqQ{mnDMF|bIka@i= zxBo@5Ja=^{$=6A^Rrdn&_4T>4XvX`@eDjei0n`4w(|Eo)s~?Zt^m4(FI0Wx|?UUsv zlpCj@G5^|&dI7+Xi_bkS8cpPg!kxmTZNgoQKc{{af_MvmO8WMhpDwKLW$kV!{iQek zqJ8ck6p}&w7$cy=PYAn7=-OMN6>N5wGn-cro-Pe zd=xo5gX;~$y7~C?uSo*_y$#?MMPM$|Y!Q-sqekuZeI%`K&;R)ca|LsQe)|13bnw~{ zP57{s%^k;H&6z^28Ad*q!|~F4OuGAz$zU6fuuX}$E^D~cVM>jg@gZj?cLPqM-}Nn9 z5t)f4C+oCYlyk-!uiW&HZ&qH?35`=MTDCsi-(+W}mMwEH5KvNvdOTb`5MD{=AUXQM z8q@g12y}=rh9-q!aEv2M>eZ@!xXCBQjsJdaCON~sJM&<+uPlLn1AetPt!NH8c_3G! zIg&cx%k@xC-Y7h<#Fb7s6J(@UyJ(3e62a|OzRxMlb(%Bmx(94I0C~6+7o8{Hb_V3{ zVcuYpZ=%f*ekc8$m*>>zcnR@}EZWog-w>RBwDRj+e)K-GPcx2gPp2}31aP`A*ux!M z2O67?UL4+zSLQ#cnjruW>7c_8#S;Hzi!-@&in4$GQfNfN#MJHdSODZ{w?p*G;6$`M zpKHmlVv^=VVCh#_w3_*&bVWi)@^dEZ(N?Oh-M4!33teXqf*EgOE6&OTg(fO8eHHRw zbUPIm>I+Y~6}l7VCwXL1e5F#^`H8+ESJpOEwdFve{6@i;)X>RRn+=aST}Pj;3F=Z_ z9m>J;)HFJ?k7=bOBAP`0sKbmPy*+flR0yxn<$d$~Kti=$tzhUHC9e%+hC#wVtYpdr*uq1EZU#!unM z`!AH?}esYv$k`o6G&(8ESuBPo=3Zq@=n`{M#lgIN!2<+U5I0U zdw4rb##DN$H@@cmv^((PS`pM#?g#t5hNOh_>g@aKcscZQgJx9c4h$G$xzS4>*}6m_F{PwWM3L5PQZO7qDVEB0B=cuk!pi{3dQY;m)%ch} z=R#ZCm%HD8XzsFylY6D>NUU7GT(x<$uzkFQeHBH(E5(3(&)2UoQ^mq)Qbcw<04ipL zYIhlo^$Q!Yl*qW9Bb$znOmzNXfoDPC<#ut$(Ma83@Dp!`k`@JtMQxFpYVWBoUN7G7!pod;{{FYh1YhQ`qwQRqJ9iJrriPA?}34u=1o`~{(X1KG@eos0!v|N zwOTh=Nsj})!NHaKF=a8HJQiL4gF8kV{e6z~i3x*Z$^%T71If!dqHJV3k<=uP6X&VV zi2JGJH1c)|rqdT|<`9rrE1%7l+jPPsq4J1H^GWY)6#nA(o-khP7Jirocb6OBkW&5c z-=%k;2fWi%0XQ3_Tw`!?kKL*k_eGJi?}bVj0U?)@3H%-i*sQ#H9UQ0)PVo-W7^u%Y zX(r2Bgvm}kvjU-)$(jG~9HZJc2D7qBjv1cVM4Ne5gIF7cv+Mvz!ZA>#=nAKN9Ude&qy_d)md$B z&T|d^iS|KRwPxX3$El?=VCKSD^LD$N3V^JgwqN!p45j3ygli0!KPTPZyP_I)T4Bz* zMcS!7Gecr|%zML~Lw`lAHJi5?r^(in0Zj+e2JHFe2xIdN7n^%o?sz26n8XIRTEn8H zzCNp9ow-I@{vV~x>U4@s*P%@RD@Xef1$~Q*By5TY~5ToSecrGVlus0&%87#nuE9KX~(i>-L*o!WxnJ{(4VpBmJSy z@Ujdz?o9oS$5s(6fCeFOI6R_=mt$}ziOhD{(r0X)Ub@P6>qrJER~yay!!B>zj;j(4 zm1am9ZM*eS!kI@e-G5B{G=lxH00}-xXhuwu9~;Dx1Kghz2%JBr_yC_PX}}tcq!z zzh5uv-mK<+RP}}k6i^1C&NX@fG_9_$nlNZ{b=f2!8Zkj?_y4S z7(GWC=Y2LVH@-BKy;lu+`tn7Z zEk)!DoM9r=YEn!{UO53zd(Z$CuzP>0;@4qO92>=J0GQJZ zqf+?b=jUgFfPi3AX!NB!XF3Ppsc%k6ge?~Z{gF4r5B?{zVzRu$J~iXW`o7Y$ZzbG| zgpDW$Ie}B9#J>s45QEgA!%BEgrD9k5{xrJtf%E$~_=4fa5_G4KHYC>d)fa(wr|m*d z*_T$XU}QJt1zFFJScqW+vKWTNa=D1ZY0p25N3Opg1U$E>-aCNBH} ziQSvukR^u2;;N;o&G&tVm7q5DVs8&iTIk;mSm&PU@(@&3O^b(dFKY28f-{NPZ^T`_Gt5%TEqm zu|z68Yv282cazG`c(N-@88G}^cF3$%M36*pU`aUq87`Gu{&r}rNnR_nz@c=vH83r2 zL;ZHi>~GF#$vr`f0Z}p>o|#d{W}uMY?9#Uv-o-nc6|-r|yCE{N^*04AaZX+yu5B?M zY1o~k8fu%mREuZVNBT{BDX|3ym1Q*C*B!+H?P%AuPI-#YKL2z3g{Mn^`Jg?cz?2s# zH1)#tuEDCaIbL~ZV!>Q~A+L{TEmlNo$K=ECI^Q>tF;>9$t8v}{af_&+-2o1qO{%}! zr1tsdLwvdv2?FcoTtL_Wa}Df*?YQAe8=(fULv0n-pvcMNWP{n2VWSDI&=B^B1R7D( zGk&IQ(QL0vxibLfc8i4p$cLe+_Tt)Hz)sakv)qp+#8a&nD^{^fK5V~}94B=dX=nm+ z21_Ib3*5xq%=;)Sx1C)X3j!S-yt4)Ev~=Vo_P;2Grx&bZ25uLOPWWTuX3l6UM`TI|--%T=wyg_8L9xZsuuG$$z1S4F1z&N2$K z5|ECulz1*Tpl#Sq1ES=V6=5~ZbPR@uH+P|(u5I)NV#)isWGLnV6@NT+Hu}dmE`f+< z4x9RiMS(_fK;FBXu0!X`$ySea6Jzy= zJVDp~kDUR5ye5aAsj2UUT7O1oQKm96%i3)e{P4#fifiv_j$YpDYczLLpVADEG%c#( zp|*O4L}PuCE9Ut-D|yh=gL9%iR$LBB9h{w=O@R`OPu!m(#nS#PAxgzE1o12>xV;p!{ zhbh>DxT5Z`g;jrs^ds^|Q%t{1m|IG7KEGL}S7B2NZ`zSJmRglg=Vvf{%3@tcm-4;7 z-i)tqadta=uhZ4n{=%ZJu0GWUs}Jv;-N?bPHrR3#79dAyMQr@AF*=}qc1E{x2eCuU zb@7p$Y`4~VaK_$cp&bo0hb59XI$at*UyhIv5q}E^36<&8sZjC9lH-VW1!_p^JSsrI z{C(_aU;NuDPfa1^GDFj&FIx+M!@v7Ji&6@^_BUk!q+23EiqLfYBV>chc+u$a!g3B0 z`5gK2s17!#>0f;(U1%%%mVALuSHgq7t#<=}H(&r6%-mN&0)6ANLol zJ@}&xB64bf6TyXL5copKfGQ}58YT-4_i@>bz_s?d_2n$fR$O7u=Q=&JoYve&9NbR3 zWL%GPw!s@*EZcOLW99j^ED;ec_-420_0v|V>`cW!>|P&yp@L^EAY7B$n~5P?rspzJfzg z0Qsq6d&@Y>6?jNj0-u8;ew#*<9|*{dHMZ2HM42Rt8D0erkdX}HS5=wivbW|u3QR{y z?~NBf0m?OUS0;*V%hGRgc&wvF(%X!PeEKCQl#4|0T5m9?H#>*JVP1Wp-1m(i`C4Co z1u7ORBg-9g8swNB=x2{}2D@1x`Ko6eG|*0K?I^S-k@6sJmJ$pnIYx#(V4 z%5vv@w}te=Ks+pQ2)OwbXkj6tF=-yRyo3*ui%kPffGcVqR2DzMVejs?xkP}*CN3OW zt_=G?1dUC;C$4^!!>@j+9_JspZ#?>J+mOKe96t397F4^m02LWgxp%@ERBksO`5yGB z`27O>#;D#kok5(7sV@Biu+bZ^M#vO4*GN=KP4T<;?~@kJAoe|N>CU7X*}DFxJ@~KM zvmA}q$1|)UqUFIQzu2y%x%E3PSG1g`JgE`tbq#*mmmS)N?N5{a$)!WaK;VOW9ITZJ zykq4&yM0QDGx6H8b2@iZ#T!agKj6<2DUr1N(}ff%rP_gF_u z`!ga8{LnB+EV+5dGmFx0Zd0ZDj6;));V1*j(Q*?8$Fv}9a>@=2OY`gF^`fQnMkD6= zVD_&#g8S?6{JgMzBWr&+kl(8p&|dA>s5TSSQE3w+MXO&C3i+PyeqAE&n~CtxFCyE5 z{Gxe9K212u^4NDRsr=NY>q05sw5gMoQY5bDezK_ir)glD*C4TeDJL^q(jCkT>V+35Iq>9&`K6lOEAyr%~^S;K7-`U-8uTpN-iwR}|jW8~3wMd8U8wZ+(C zWn+L8Q?)sPuyxjld_cYe-l_;Kyx~Vl(wehN3yW^C% z>-%>){DUL+E2PZKwNgO@Jl?`e)X3THVh~~Ko+4xsJ4g>cN}d#L;_rLM zq{zw17d4DRK7&wEMk4Rpv(j|4U%PDz;Ka0^E1u%x5^GGxy<8l^#@C@3i{h1R}m{aC7E3C@}Vqp{b`Ia?R#VjG10txnJHy zGQ0433Wp!;Xyv7lG$sAz8gw)G@q>%w{SJ4WwT&(+>x5GARo7mDsx^BNj)})7&DDgM zl$rUSTB8pj1xo^=k1;>dbR;yGcrEzlY1QdMjj#`^V}ir5j1+sv+lf`Z?F{t%e|=ydo@LSn4ijF9`152ENZ@V~Yuy8r zcB{V9--6S{V|uI0SMybCOm3Y%-v{_sWJbidHE*nE31Rieq!mSS*sgK6_Ok>?Y!*P} zH>|90WIf~4BctYx(~$`Wxpg5B!tEP@DT8!tOc0PaYW4jQN|U7_P3S4E9~KRj6rS~k zMLj6opmkr91tXP8&G#3dF*&+GMP)%XvHwKe21NG4n!h<;5Jw9mBKyTenMWA>{F>tu z5|R)_E_&4e3ZqXTF#5H5iXmihH_^3X%kSe6wov8Zx><{3i_u#fM%q|F2(^NDFu!cw zhm-kmb0VdEbtuU4-F=$3*AH+8h2i%!IJY zmF5w9cYkv}jjWCf(HStf`#5vjn2>;aN6-uYoV;VfLRuO7;vgm>A(~t~CGBQ*$%dO9 zJgA2b!$M4w`@Co4$_NgkO+bJE^B$EgRl;g`+;`C_>SFjy?aTRgL=8ShzO*L~94 zM=z8o?w}Kkp#L=TJvIES&s*RtN_8IilfD}YeS?5;QWZ90MW4}et0O0O@7c^qVh8=2 znUx6zC?I6L$sxJkUP54`Y)1+;CW>T0B_kZ0P3olih0T1U^V*O?s}&n4($Wd~akz{K zZSZni0YUe>eof3QezPe_A^M

r^#(I!I(xsOGJhzx$3UC(VehV0uroxOyp%*4~0?TLzZA3`t{gm%D3tz?_prJPD^`K*A_8pzzk0_MK;PpB*}{?Csv zSkI6K8jS+EV*c_D4i1rpD?IyBjo)w0y_>-YmjL=s4>Mb;eqepU%LYU+-#i^>cF$IA381l9!1uAzqg4vybe0PHuEDQm}h!h4$V2l;qT*7 zNG?#E3B+BDfKZApgzL57%fxs=VqqkH3pUDHsL2{Am(DmnmE-gN)F~um7QIirv9Upc z8QSoX(uy;8|8VIKjIb9mASUjF7V6b*RA|_aC-fojk;3CVdxxDfUk9rKN^FejtSw;D z*eWAUHy*6!zhkmcQTxxbj6!0w+WEv$OHa|SP^g=3C{l&5oLe)nXYW?S1fZmx)I`*6 zhj{!oD#0|s`t~?lR?@?diM2;oAWWAr0qB@AmKvw9hNA6(Z|?K~)yWP-0JD~3@qPcv zG5eTBB#GjyVzlvst5PrSKWKn6a zba_?5cyypeud#oD8&c;T-%z_0bB0Dv9Nj1~>{B_X}nY3ZA?j!q`yeHzw} z11l$Ofl)_*%nfxk?^rF;H``N}cP%@tj(OVILz#4O042Uyr1)jxs4nOO_yvh~c^*}k z57;N(r*tm*g=G;1t&!HvQ2X;sXVnU)QiBeA6UE#Pmd5x_1vsv*-bqXPyUpY7yni*$gG5x*4Q*RQC>m-P@YTfM-_k+&&WmOn>+k z12R-$(D5d@Cl1Cz%>$MDm?n*`|r zR#|DT2NO_1=G&o?-g947B26hRCACs)Z=kNMNAU1zW*<(6pMv}r@G`f_z;<|^c%Ae{ zgoW*6=+Y9O20fQD8PPU(ddA>MLO#(2RMXI+FWANi!i?4v zd5YfJk$DcR@*z$njlLue%DP3VicPD`&2>nXD&V~A04cEl-=z9>rh;#5O?tp_8@x}1 zU%m@SQPWY9keHXX_4d^R!q_1R0E6TQ;M%}%oq#VHcNs@=BG~)z}KTFxf zxuRXb@MGwuv7A`aWQ=!N8N|_F&3}~6&;z=vFZj<)2XT$8oK!C z#&+xDX~>Ha0KXrTknlNC21KgC&j; zKUI!*g?>oNuF-?UQWfn02vzN?fcD(FLOgN+$5xM1H5_I^Vt2W7ArWEBl91**UR>3q z15e@K0=i>m3-@h~wOfM~cJW}GBuTZ-YW?n{hOyJObE$Y^ zlnDqqG|4S!4Zwh<^R9q?PUjE&B>V0KffXjIbv*vsK+a}?s1+Mt4^T949^e^^L!GZ* zzsC0W_uHCiEIF&;6)9AvBqeKUrnfo40(7kodWSHR*xi8E*~E!)t455$o5flSiDmYh zNhV=nbF7?)F**Zg$6Ts6coCSX4b`*Kx2cph7Hdpri_S;eFT}z$|om_Ds^Q;4cZYvm5B*T^Z|D<9E-+Nz>WhyE4?Odf(Yig5 zT;L@Dh*~lZooyHO)SvSNHOXq$w5s9GQ^zDfyc4`N6AG%n!7zaV2kQZD>3Sw3qqb9+ zp)>d$GxF%`(ZWy%|4el{=I;A0N@OONg7M({9aiO7<1eT2aKTW)w({%^QfQ{+{(h@6 zBziA>E>+mh042GVD*&Epw5IKI$@sy38;xJ3`Gvq7JJVm|-x!L;GLkn@pPtPCmH)#9 zGmSlN_cetI=JO^$?LK(WP5cS^$HZw83OfH{UQUkLEd84hs$3Pb0oe=xicBF$P)q_2 z1=^lpNGs{Wc6N4Qa=9>6Fz``MVx5gT9+t7njqfRCr5PF8mwq3S zTH$`~hITfrljB9CirRsLd~zBgekY4oTsKxI!BzuzkA*LR**7^kxq!H5R~8fGM8({% zpC80>0?>wO149DEHP66GeY^Vv(E?aFjKBdaDEa@I_V0aw|222oo5-XhOIO9@SE;6b zCepUzf<~Yza&cgcxON~TW^B9I9$u7ksaCcFqC6Q&km~8FHMI6(ExGwrQ7_b*2rRP; zH_!#&B#AX*h;r!F-d~xFNj|YBKHuz59})uLB4ep=i)*(@+Rvnl$VB_Z>q8D9;fU0{ zLFKY>6kGc%M{CZgl?Wcr3-d9Ti95 z`Nc({LLqH%C}jTc*x&N7WjGT#vgSoHttHzvg=}dY>3mJs*qOFy^n0A1m2ZSlC}IGT z!0*KF%+F!_1@@V@jU}Rl#@9HkQb0XW-$I$3g=Mt6M7?2RszOsTO83fOP)K#5iO5Xf zP&3b0SZX3NJAZFtt2mD$iTb+Vy^!L-J@(}TO5V{f_{A3s_(4iUxE*UT@*=poitbYz?80_!AeI8x) zZ0a1~%?WbCi05-IBiJ`~3MX*^14Rz;AFa;D9Uf%~(zd)=pK%EAu!sFyhTG}|S?h<& zxzb}|u45N?|7PjsD%6HYTV`Q-V#{UjT2UyJ)F&t5{9w7N*ML|GeisB`?mw}m;|a4k ztnc>fl+@QTp%)^(q?IC8Q_zp;K8Mnh8SO;;05s?})XS8mmpfTg8?L*vca*bhF?Dz% zWr2K5$>v)9!_zOT*x~B36Aa z1Mr)SBWi%j%-9Ww^Jr^!OiE)i{jIKMF_XD^AiJZPxWQfLO5zWE2G`?N)c9Qo$wJ#e z=De49=nF+tc}d-11|+&%+dgIm@xDf>Gm@8md*jcU-HAWok+GIj)^(GT!BLd`U=dK6 zFK~|*Tm_K05i%NSIp%4ouDeol?e5Nb93co5mYC}U_f~;J=Bq6xl@^9KP%9wU`US9e z(HDbN8H>veSVKl@Oxdc*odZP~WvhZt<)#AsMd!8d>Tshk>O3x(qs~$iA)S{wgsadM z1AFQ&s7$q}Ln? z1-Ocx5wam!5Y1Wy?gx5@%~5G+7`CnBa;kAYWU7fmd`6oxT9;>H5JXO5BBOCR@CEkKCOJX#z6eSzy>XU94p)}3@LwPd}8ZIQT+V2H9tSUQGdpebC!NYLk<8xaI33mjp}snu0!V!RV&k= zU{%fh>i-DbqJlhCtW1;sKFrM`KS@r^*bJaA96~06zyc-UjovmfNs*%B;a$+@D<+_) zR4FIccnjHX_TKc^n5!TIxgTN3-Mg+XqIanIQUJj1JosT49Zhr2sx+JDAlRv$~ufC7~ zHKq$sjq2VBEn}%^V&f!Y!5Ax4)SVHuuLrXx7ou=zL`^fWzDOwy-P0}jc~Z`ZD{d#cA;VWedFj6RZ8O#EFuEX zRY5w>zu=k z*|S&B$&|BQiN-7-125ZSW@C+mw>a?`CtCd)ce@cHIm!W9l!zpL*>P!M(Jr!FpHShE z^~4fOM__xNy9k44dbOfIMR00vlrSWxEo@qP9sy#&0?;2wbL0`+mq2oI?4NHw2`!m*ja&(9GFp-^#-;k`^;3)v7}KA6)WY3 z6q&*<>6{MC;M*H+@7f{Us+$FI?&@tlwypD{X2-BjZipT)z6Xt@^SouilLD@APnpsE zQWfbIT85S?H$M-iXS5s>gS?op8C*-(-B(vC{XTQ_RBE{&48qfhsf_8T4)lv_2*FT- z+m={|F#;Vu1H(nJa=GT36mh^zSHTwj$DXd52|u9j;?)L9M%;Yb#p9v=|Jb?;s4Baq z{i&cRqNKzDK^i2a4$>&y4bsvLQqmyOAl)t9-Hmj2r*wD20sf8O=e_^+-nEWr9bK+> zzkBw~?5SraU$xZrz4S@N)9e=p3n)5l1?mlRr_V3HE8Qmrw!u$o5agR7=x%!GRUu=o zr~0kd=u6gs1;L~*ld>q&(;j(N`mg*mqlxd)eXU-nrEGQvqvgpGlBJqCXf(&Xvr^6% z`EmaX5!&FwUU;X~{=N_-5}d>VNx4Ofpk|l&3yRYZFp}br1R0tkh?;tzeNvt~Uz?O= zy(ynu)Krpu^x|1qkJ?0#dFo4dZyaf~AByphQ6!xc8k+bWgEbdJHU&FhP$`O#NyJy! zQTWo{q@{bMAbv*iipUpCZC0sN>co8vREm$JhKWg48!vOd`C`xKT~6Md%2Thh(VS+Z zMTAEJy41!|7d{2(88#7J!qWcNO~H6$*8IeVOFta&#xX+mF@5amV!w^oIOK|PU|-q! z{#5}YWII306k}6LXgBgwcYVtQUo8ouhn2iPAS|a+DHf-@Y)x$Pti{xYoo5U?_4oCq z!ym<`^Vv+zdC_)x=viDmkz+j~Q5cjY&hY_`7aP^`Of%j zeiOkbBtE`xl($|WWeF&ZmiCgKA;nfqqccQ?DTG`KcW!$il?0BxKk%Wb5tSm;4JErE zL2aE&C2gtYD{qZn2~pXM%Z%n#7gU~n;2?tvT~_HiH_z&At&IW8?X|V+gjJ80W5MDp zPRygKJC!EhoDFBb%3#?_Nm$)}i>a%A+-@JMBjki7WT0ynVqv`6?=m@p^|-r94ocC&n~Lk~pdPElI24?#iuEBDy)JTb$#9jNvK^djT%wsS)n``gdf8<4 z)tk)nT5h}eG65}MZ6C|^kseEQVKn1!6G@ml3_p4Qt!;}rBekH#5&iL(z@yRzwf!Vv{%9W$?(;PrAZQp6sf$m~#O`LX&41R#kiCF`CaZAjS0^kxB&8 zXuN(xIK)|jAIsDIx1{IQ%9#Xu3Md{!q(zo?HJpUTGIRw3;-MHt(AdJD^3!q)6Uv<_ zqC}~iqJ3!%;;i0OXRj9}`0X?NLK8shf%Z+aEGkevtt1OjU1`{Wrs_PQ8{`sZT}2l67Dd#)5D|3d1j0ICKeNFm}C&h!iYj z&NzfUpSwbfI5AJZVb0bD^!cM!cRKvFupf^cXYBA7VU;eITj8GRngvss^Dve-(6_9JAgk1uFMRyJslrwsVOK_haNWH z1z8&JP*jjdt{(n=GcyJnlUKX-!GwgwOy(aa@VlXduX51&Fe-1_Kh;y&=-ydrO-eNR z@zEiLNlc54)#_KQ_|oc&5w5eoPpPf%5z7TnrVf<7NP1VA1@4|o5@V~y5lK2+`0Uoy zPsh25k%}sKpd9g?hU(8cYJo8;OJv0*eU+?G0+n1bp$X)o?&?g3YkQ{kbm#a|s`kYa zI`c;YH0b<4SbceeAD%YxKX|#vkGIqtcN8hs`&6K*P2wm*`AJB3B}X-H=m_ti*6EtW zW*Hca+LJCD_+AM137S6Q72JWkg~NCQM!S?)Zd@rgu(gK8#)>rb#il$;b8$jyLxH`r zO)n8TKMcIzr_4nU^4yPl1fu^sf9p~MOsC4D2XfsPcR9|k`@tDUNH5p8*oP_$Z8Y`s z4`N}`X#o~RXDT*hi+kmuI;rjf7Cs>8_#M?_D$5Vf&rYvl4$3bFEbO_`@<87!ZXdEw z9{Br;v0-7X-&;Zv?*9dDstMv3&{Rne^eAinvrpPQRmFUX#5P(VB4dT|{_2dSmC%Z% zu6GjgU3=f#CrW`QXC1I#=}*KF2ae#CL0H@c}$fm0_Cl$Vw|DaFq|I#j0Qw&*Q zA$PhmynOfVM}vF-z%Vq*96fwv;~YIqbiF?;-TeW`)W~&^pQ%wO!e2gc16r}6HqydM z8nY+{Id}dF;a9&&`_C(^l+-xu*uL8-M#RN>#~jSk6akDy%nlknec$8w@}RNskS)SB z@Tj;mgA(E#$s`t$z!iPtEH*+E4BZmUvF#L9;$q#AS?2YCk&sfO3~|gCRA(85ugbW1 z*)47?7oJcnVX;5&UdD81oGaGpey3-2s1u+BE|eNP$3}szy$2**arkHb5*4P@-RdMqFU&(3-F`&j#25+I#U;A5sbFe>I1!;fx-)^bIkF2gh{^5YHJ*cL zRQ+AhdA#Msza3?r+0suwP9XWwqX~rty|<7d8uOzCo{kVz`ZY>*Qxbk$cHTxmD%gxU(I0!?Q4!*HCZO?))Bd5IC@uZ`DH3QG|n(u~*r4a~~vRKa9t zfgkAv^pr|Ct^$UD-vCBi7jr%j$pgP*RR zfoFIHCZx~bQi@)Xd~Md(%^W9g5+aQMW!dcFsgchVOqcqXo6eirsTv{ST-i-zygUN! zrZPDLPU09C7&Zdu<1=!Gx~G(HV1Bz|eeIWoX9b^qbk~tFIXvPMj>c3{)qC1mRQK=U z+swJV<$B4+)e=d>OyBP@qcuo|{=^H#Rg;X1q>Iq=6*Y0{M?@}{kcddkV7Yo&)mH|+ zt{0^S!=x^KaV)6PIj0O0@p)$=$~W;v(U_w@Xx;t>r0mn(yNM6#NX#1bBfPX#!|G#k zEjO8tcrBAHTk>@PwhD_BWN;fCh)ZF>DpP`a}FP#c-N3hr5PB?^)`(WmEk{{N|` z2U69J)umq@aI{B?6+e!cgWMT)JiF6ev1V4zs}rWuC~4O0XGPRPo2qZ=)4HYXzH+gv zs2kFt;4U|*`1-_}AY>$GcT!}PMyXWl>8dV-iAJ7N+`dllaDSTb_37q4sn8Pw5&*C8 zp4k6c_kcxOY{Wm?1$t8Isr$(H0V7a*kpgNjCK*e>;kgrKT_lw~^R-^% zy6(zKq){t&?3NNH1rj6eCq(Qn50DpvZ~?rFQDSgRby>Bkd2yj-^4A@lT#oY}MH-}I z`3y^=sI!sAUsQ=#m3x<*2)(nTpfZC3>-|)UT=kw*ynJg>u2p>_Ek>T;-rO>{IbgtWpRw~=fZ3kIX6`CE9zEL* zV19vK+k^Q^`mG_Y`l8ty!Z$b1uR(6`50?_Qw_#x*%K!D-w{I{|(f@+cU?}x_r7xDS zt>T2OYjo{y-w!_JyE*`b7x&5MaH-hRoDx9Lu0Yn;A{K&_)cfrfl`WQkuWcgVaZo|_ zl*3mt1a$TLu!Ij7<}40xTKpSlv`m|=*Cwcz~z@1#F>};{xYQ9I^ zcqIi10H!qZJ05o=g`WDk7XRz~6i{Byil>~65fJ}YWUWtcf)_;}TRpJw6?~S!%%r+V z1t~r?P;A*jF&Mfz${DOkI0K4DSh@mfPC&9i43xX!ro3&aLS@EJGKHCym$eYH-~RJb zn0&8adTB8xG_}uf#9`1-$sNfdiQ8yi36=|AO@fPI;hw_NGe(z>(aPVw#_gm_OL{Id zftYrm#n-a@3ae1i-esz=~lj%x*WoXnkTZJaCDkY6}9_a_!0E0r571~k5vK}JE* z$W^PezlV7pK_>nrk=0xe&8?E!5As@ZX5jW%2)O`T2KdnAc5us@fhkP(;kDtBGZ^jd z?Fz5SI}Bb5Q`x#>#T2a%!T{Kf*ZzBiKqm(diNy*s^L?A?SH_h^%ph;r)_c2>i&$6o zU?wVHI6cHrXp`D@%5!ceG+R#YCLTD%ve_R3h&{qy>#D;|Nf9@O=SIe%&4SDz=XhKz+_!R+qYd^Oz_?JCI;b`9=<)*~=)Bakj0UmefaP+KvAr&&5Fz!7eu2#RBa6W%#;hDvvk6s|rraTVC5n)24ODm()?}L|&MY)YF z5${5C*7@=b&X?$(H^j9n=VevlbNdChnJ6H@c3Xx9+BB>Y3m2P^27Qc=*`l~*Mg@z@um%RDde zP_|4MUZywjftUEe(8^)-4*pR^;VaBT3p%rMd)y+r0S|BgTA1Ud?xiLKH--?(k7SYc zw#IjZj_P+UKx$pcv4ZZ_9EtB#sj;j!+gH^I5&0`hrkqWPW(Mc*GPPrz-sA@m+ueP zf9PYlpAo+zE80NyL5BgpYKHc#!B3IHlFfXxRxH>AAPYT8!Z$_8$0mL*_DZ)X76|$K z*Va0UFk~^mvL@>x4SvjZTm3av&AqHs=EOvq85H!dbMr>WP9waiAwFm{);EK-lj%Tr$lAKuedaP@Oy$aSxtWGPgf+6N|N--76Y;Ayw9 z6mHUx2a()yjMF6<(8>)|DtvnVI+@fO`{xHsE(~ne>&Q$kAGpuVU!G2n;MiZBSmpQi zF7n45sVJ!>z*YZUnCBh920!d>8?iqyKJomzdHfPaz)-o2%^v?+e z9#<~=bMMe`a2DGHcbR4j?by;xruBw9gWk<%>7H~|vqi|Vj8Vj~G|9qf5@CX}9&0DT_jE{0dii=9TSPFK zw}(`U6xBr23_wcCci07um{XNKKQqNg;<$+kvFVFks`z=o_0y*hjP+hxhfho>|{P1+Gd$yX7)@Bx0Nyf6u_(r2o-D;(a$XF=_Su$5}N{4e6w1v3^dHJ~1W_f{`s|q=_h7 z=xPDJ&TJ4BLMCF(=BaIX@*^Wa9`QJK0Yn#dz36}usj8*1x$1KR^Kve>g*Xcn^zokq z%8s*YjK`6M8noFgAA{NlaneT4&pCXX^&P1xNUn9t?Cx^g|Kgf|e)OXa5E@gdvUeXn zND)9D;QoHwSi@vXQNum+2|Hc@0>lc93=v`xy2UsydzGo1-f_<*%ITeEG>?iX;wJL+ zP}&ASQyh9+CAI`pMx08s@%U0qt1nYNhJZ|1+LlAx297e}GvdQWV__%QdG~x+u-)Y1 zaE*h5;b3n4syXm2xVNCDW#?BlZJwgqWBuLaThba?fBA54Ol8HdGWn!98IoTlgcKf( z`w~yN>{q7kJp>_5f2V?BrU(Rb!qlj|_a4QJj_W7BPIn;05uN#7l_tHiH-~Z{bP6y~ zNkkdzBO6B%q}GNCB|h(~tTrfnVHdQqG-(4hyx#g{Ipf6}UWpM?J)`PPo=$MSZcMqF z8Yz)uCl}1V53HF>chO*f*RA~fyD=2_X0{=umxqk^0Qf2zu?0zD&->;E1Ss@$hrfFG z`@oPgB;Z84$b_z!pDR~=M%cDym}N4{s`@P@&sI=BWdhAS6VGp){^ZNa$Tj%*4?%mM%xM zImaSgR7LBKggsFoWhe5Y#=dAhZB$#8@Qu&@M`&8f%@GVkMVYvJQKsZ!!`dT5mwqyn zNj@QElNCt=HfH|zU%oq)&u&7!Y26n@UGyakw>Ng z?UTYp(Btc&Ai&@ont?CRijV8%0@5RcXM$7}{1JHVH^zcM|ynl^q2TvF0I z2xt(nt#f9?G)Rm*IN3nfc+e!ak|m~oRrtR9Ka@lFO6c3jw8(=CEgX=nKHI$q#jFSU z1Z-t$j>vDXS{t9g6#NkAvn1y_ z6Av6q0Sgok2h)Xk)5+pss`BIUZ?efa#5+NgpywEm&2yQ2yJBzn$R)DAsbjp^d7fXNFeFrot&8Kyn@^BH8aYm();rxlv`@A=7b9jYm29N!f? zK(1`0^Are!#ZeEmP3U%Fq%xlI4R`5S`a-bRJsn{EJ^{=l{40pm#VC^RJOE z2)3YM*Cfx(e*eq&6Z?PJhzp#M*(@FF*02f)&#daEy3b`zWqb?qllQ?LjOpr_v?Y8f zC}n1}HB1x{!0(v7@Hy>cproc1S<$ZwepNQk4TZi( zZ}GLN4^lO=c{TlYZ753%(t0Ay5fC;qTRLruv}y;8O=d zVua69#f5j2Jc1vgniDd~@qQ0_Kc^dtLvC?k3KeMb*h zv1xfjMHNP@)U1f}8n7?@?GjnPg>e1}6t+yoUuMvRg5htQpku5SYAux7Hh0}_oNSv4 zZ4Yvt6_ox;F}YhOpx=t4{E8Q*RHomUtSb}3paa#YJ8Pty3ae};^z2Z4-MZZ)#c+cR zCGKixec$z?|4Uk&r{Nb+UZezb!fHKW#ulE93k#F|(8Avh_ctu*Ka|7wXyAPJX8v4% zbUy(ds(p#f?AYJ~>OC9dhNU?AB17yuH z^ZRFcjF6fyPZ%f_Tc!BNI&BgH-2Lz2&bobZ4G9= zmuKa{rj6^t3-;`Q0=k$J17BrSY;181TW8H^MFnHRhszGA)C8Dkhs5=hAm?&ejox|V z?^o8{T2m*aioPK-^hF5H-MZ*=Nr6hA$iinMR}q87yT>`E;k;P26RN{jjP*9fcDy0> zZJHy7pUP7q6X^TOaOEIp5p1b_N~@6182(x&W;yo>n?svwzLAlk(Tf+3)W&ffk?(-b zxMJmWNQkI^yUHk=n8{kb@zag`*~siC%fJELUnQi!kdl9ElQ@7Jb3H=ofCFJ4sU0Pm z%Q3u|$b05I43vRy?^wRgX5OhnSRAy`eM$VtN%#r55c~?_^pD7eoE@6xf;|j@UYzlh zj{T5D0YiEft)xa{fG_M|dlaNn?g!G>suzpp;yas;=Jg5rN~6t^u|XgsZMH5tn*A2j zLp&iwb~aH*3)N8>QB2y>lV5<`K_FPYH=9!Sv=lngTzB-nWlkMY%zw=HqU~anoy=SEg|5{D4*iZJ$QkBw(eNc!skV z+1{1tvk`vIB|=3@4qngS@V&9^8Z#BlFkyQ>Wi?)BiC$(f+HuT5qLG4^aa(0iJsnoO zhL8~_%}_;*`HnXsYFv|k)t+Y2@%S8D&L%766%$)emN%}?BUb|B4oz_j#@3jV4PW>l zJD9Jn--7(Fj&J@%W8{UsJJN>8<`=X(77N$bUh*Gj&bFb zf_wV)s7{0)yDKmu+2EIi)R*7z({977xc29$@20b zbE-pa)p+9^6&7}bFVTnQ1j;u5Z9M<_%{|eGjbMCV$=yHAPw$|4avXSH>+-({BN|Pw zL#}?=E4M}CNgKz;LIKMitAATZLt&HJ=8?)3;wLARC|7OuHhjg3!$OK?BPn+abzQM$ zWMiV{mOP%*a*#MxFeZndDnKx4@6y^RiY7OlX2E8c(-_r=n35- zxYVfg8y+%Iqnaiz6|tGO!s%4%_2WxrW%}|Bg0lz;Ycv$0&&*w|g*YNwDO%jqf@PpS z1H?lGMBj}aF+B2!F*LQl+^NuR-%BbVa40n18Duz=zV zu~>VzzwL0aPJpj?t+0%{8e1vU;Ln08=+2hqx@b1tQN}4$ViQtNH(rkEApLfo4kTw$-P6nH*3)?N*5r?r|}Y_L*Oo8Qc=k)dkW@NG!>qhG+b z8&ZO->7feD7m+sfiIE>BY-i_>tQqSeQn=lU6P28j;~sW@@&k7vfZ3wtvMJE7<|#~k zsYJ0|1J%cm&fJHk!fDCL-}Y@Nb!AzzX@6wS?%Xi_RhRvf_I}7i)0@Sz>}Ja+r6MW? zY0ol}x}>e2{q=|g5RU%lHAtWM{S^gG|ATA*IpGVCW}0R3t)_JO2oMl~+QI_f+`cma zGmHas^j+RGYgzUn2!CW&E&OtI_HkT6#qAm^k)GU@p2iXq4Gs;8!8;ufDcm+XUe70d zq-JkKg@lFi@MZm)wEu?9{F{ITf_IfCA^wy}!&Y*4dwcunAppXkErLd4xqT8){58|& zk!sVa%x5P%cm=DTcL)~l#wEBLrD)!(=N*BRa@|XUrK|u>^fqM^yYbmAuQ}G`K5gA+ zchf(eN^JPn?o-@jMh1|qm4(Qe-xpR#qU ziT|Fq1-Y_L24T$KuvlC7#syHqdDZ|m+}RS#&r8DbNH1f!D}nt(dc&UHftT7iA8k>V z0kEyo^pB42$w4EVohQCl^JQod`;4{V<49z`%L3RIFISTM$qauR#eP?ti zoCv?Pg;E;#D%w*^V9=(iE@t|(Rc+yyS*h14k%VY2#x)85(-5GMmXVNcb zszi`2&d5mrk|jNh=k5R49oF6MdgLFiyuYS0{zM_!ES-PFLO{L%-;oOTWlr>A<~+Kl zLA4uM3}RX5ua;Sn zf}pxd3ZnBMR{CTAvnEf>GcQD+ibe8oj4zYJA~ZBpVr4)#8YPwAploCDIUx!Ihtl%S zmGuC98mxL5qX+-vfWCZTy1RRxyNVJ36G>C!fz6RAE^4FYgM^556(cRU49n=GRs~0U zYrmw3UdV4aaVF|S8Hh=!#Aa{mef}APLsV7X_B;mC2`yE!$RSQ@fx_vj{_3^9o#mV5|Y_EQ;P;~;TE9#dJo3Bct z-iFie)mFwi|EwVC-gwzNP3{zXn(_R@m+J&SkHCk*{~fVF{uBvFWAiwdylccgLtqRr(j(=sA#@o8F5p@`KXx6GpeYhB%LjK7rc8(9Gb-$O5Ak zD#K$PsU@@j*C6HpUpeA;XMRB5c^9~FIRm1QXdaA0Dv-^%-JXh??-uVg z$VxZI!J54q$Q4rcH5f-PV`kh=Y-BRrcSA&gL%Wxi7F=zOzccG1dRBU|_Uv|oE?TZj41vnjY6U}LsUST+x7J{(dL&;=D_gM+^uxKMAVCL09IGYhz&bAhLJBt4t5=mt z-Z)z-JAeIyj`|OA<@V=(g8*T(*-0Zya27J5u-fyUHW=~N$aZ%9S!meH4|?3BbjZHv z;V~ExbBY%Sy~fr)BZIFGtec=?%Nce~z}o#^nW-)kVzN4 z2peu@&#rR)ss%b}ykOo88d=mIuP$O!O`--hdWnyXXU!XB*?5u}EG#T$V~{cuFO7k1 z6<9U;80W5b{ErU+LA%lzqobn_s1o5Xt$T`!y}mqd78=PlAQG#;x$B!Lap|E2nDd4c z92lpTDv@Xm;|5Fpm$>Yl;0J4kg_7AaIXI*Fa^bhi;h_6GcT&=;gmoMzu#RmMx3lxT z_=X^%c8P=(G?+DPS+T3T`>cbUDk{L~=3;IBP*86j?te%IBQk=OhL)u?rI@XdgVcVF z=d9>+j!%J};aB7EO`a|nu>xL&3)fDd%Eqa!THt4gf08501q*X-dQFkA+mn@U$<`+; znbNHmvgxA4;glHs3u*7gZhL#GziKWgJPf$uZWL|Q2e3(Y&;&dsZpLxgr9h>MA2dRd z;$I~hzUoK(9N{tKVxHPYtF{hN{ioIZ|EJp*o;#w6I$voiou1+JvVBOgXNozPb@93F z8=Gmv57;6`5*it+;@Nd6v|D22ytBFx0yL2SFN)b8>gIi z(IYG~nSHMSQD+0Nlym$1Ry%gk!E;^}eCchEA>h^xdeM@ruZdSzkD}ahK^Xe|tq;gf z!6}Rpkzw#!@&8}j{r%fjfS}%~G+6fKp?bA##57uDx7Z5SgLYL~^{RlmxWlAmo)piM zjh{(Gz6D5C7Y{*)N&XrRy^WusSx%|J(F@__un(Xk&=O88CQC`P9Hn|bu3YX1SEX`& z;X$dqEP;wG!6z<8Wg#H(;U9Ja3DsXp*Jk|;LszZ*6ilOD^?s!*JZ*C{TRK+0H_N6V zeaqWJPmu@U?z3nvwYq0Hq9jPWC#FVUu3wLDfQB`xU%w_>2(1WX7@U5S=!h>B z1^v=93hLwewxGm@Qw@iX?_9QmAR7rarfG$Rg@h)>mKOR8$!QUL{js-fh$MP`=R(tu z1fEwoHi*XqAdBTANW*WX`?i3V%gGOiDObTExy>6!(|oR zRJBQD^4=C&yL3iCk#B(y0;AKa%BA&>y%@tV{xTyz8;0h91G<>im3*|j`#ZbBt1zjL z{5w17l6fik?%j`2_AKZzz`%8wppKW_`byYgrt{bK&VF6RX9?@#XF_l%Cq zTE3ABCQ8g1&*$vI6Yy?v($Y;7W=1GLo7&0=@<^y-Cw}*aTVQ=U4CXky6U%HQ`k2=L zRo01yNwiAE(dokTt=$6U$Y(S24A7lp1PJ{uP$hE9A3(F|7`7|KCrC)vth6X(o^vOK zgwIi|oMSFn{8;#|-hSFg;J6(kX0_Sc@(9*7#49?zMiz40H8)^=NEZQ z0-wGuqRRyqhRpPug*G+<{&Xg4+`BD<-Q0d9Vobjz)9!<9R2u zZ;A8qg2Tq?^urK_#8}gH9<2n&<=g2Rv~zO5tAizm{?)}N_gklZeUl$Hp#&XPjLL4w z<>ZZhIB21qtN1C!zF)sDk1mV8btGa$o`a1Ldrp zaqVWdcy2VN=9n2Mig)itSsaBM>T7IY70<^jr<1DN)RPH zQ>Y--=yq~uRZ?~Ctg06Zb$2tB4{ibTq*B^n6=}>*7$P#yd}{t!rF?~T@%6}NXn;G% z9|eqrWL5eukBU>GJvPP=N-Cx_Fc_cY^v@ijzsEX(2~Nq6Q;js2zWNo&GvPbWWKZj2 zXOrRAD4gugOPtnx7^Tl?He<<7;IPk}l;B#gp^{}pEEySUjZ|BL(5_=J>K-Fl?~I}~ z6pRJ?_%q+$NLU|*T{(G49!{%g4U4nTtnTktxp>-NjN(TOPF3#bF^fw#dm+uG)=zF< zmzK~-so$6>N|wv7xX@gg!WN`U4jba#T0HT_{Zm3F3e9Frsb{Q)#TtT$+kYIkuGJ5% zr~56JDbwnMN$%2AlB8z&a}nBYTaoI{7Z8d7vESnb|FySVgj6lfrEb~=X)@Sc?*826 z1P?U2el5VL!DVq#q(Dw?6#p`!P8=1HD;SQ4-D~oJ77QD06mzJ2UIUfV4e_&r+u2N> zPU!xv^8pu=1Qb26tY@gLTfS2aB2O^Mr;nlUB^F@i!zL3D%Xb5eKHu zywlw+J*9Ld2Cx80o=wHywE$qaQdS6&OWH%EDZZ8NZxIqNsHM`1g&a#sT1CIHnbrv- zVb=<Gb4@HLTK7XUuOpy9=spmStLbDy#WgepbDv!Shck8;$~Zus^%}>hiL4Xn1%TXCLRNNL4k` z^9y)ovd7>0SNc6dTFz}3TYPRR%v!MHH2}Y__TG! z*bgQ+VvT$17GuK=w;$_W(BOwhM&=|q*v9~4!zA=-`-m(nkV|n}nP#l#IRj)-HhSY= zw0P`{t?LY#dM8$_nwe{gtq8>^@mopXTOmC2^B6z#EAIUK~ z3g)bV4GoTrqzVUc@QjXE+)%b0_a6`MRbEa_kH(#KDRGS63OJ31GVIBaPL>{M=o-QH za>j%bR3Gi8rq5YwiMC(JF&QrEj9*2t90y&G!mlO79J)Y=q0-`0lmtFVS8b($n<>z- zm>fH3Rr0PeWkogEggh^6h*@rE=;o+s3l0;RW3(U0-p!T!XU^EKUj*^+L)1ldI}2nZ zmM+etk=w@y?Kvp{Z%aolY3mLZtoLMZS7J|JGDwTnA1+2^{M<|1%Z@dz>#q=Hk2Q*= zJ?zE2boNrr?xdP5y%?PHK^nfFM}vlOmq zVRW>VN%UMUBhem4%5`IZ@g$nVvb><#Tq{s=N&GGAs@)qA>FdkP`PU4Hx<^_W_t-Kw zWX!}axJXbT6l5kCK`ow6T1sFPDmr3EY{~|zg`;ot)RVKa+JX8F%DrAm!8#T*wX$27 zjB*~@@0r-YckKEMSumr;^Fs4#0$jLPx*G zc;xxA1jzSuU3t^T24)-*6a@>5-F_g3ZbOFe1KIlUy|D08_cql@k^4^k;=m5dE{{YA zE`7>jZ*6TG^SqNy(xj!^ga15IFw2)DNZbc06gSGY>QB*uq1x>sla1k2S>W?jlgRTfto%3siTtbgY2{Y%3{zztCpp_pV5Ggy^u2P@u?PaQ0FyGWgJ>__bl6Zv^&$L7~i8O|b- zipn$H9ww6PPl-s7x0_4n&!hMtF?e6$JBrrr52-8pw-e)uqUtSiF!a^!KRFp}8WZx= z3S@a7@2I(@la|~njxk4F{JaAp@me^<2Ph2ey7SGD3GaR%5Ni+eynjf#fj^X&n5Hp~ zx-;aWV-`@OtsXFqip0(F9|8rWYUmw-Dk`K1S^*W8VET4Pghc732HE-S*RJhjPkq;p$R{4Lx+B?T37d%2HhebcIN@yuXp zC2ezaEHkAoVRh?b;6X+9J+|Ee$~J15^lavvn*gNzh^PZ&IQ&v`RLHy5uaRU$C^O%1 zz+02vZ}xgV**dRsD+LZF*$5f+?#6gU;Y%_g~lFzrVgXxmpPs*BXk*^KX#6UgJ_Px9=mC7Jc8^HYf#%8-eERQh#~aU7&=t<-X*c zBhJ2?8Ijm<-RH0g?m1Jr)pj=HjF-{S)=2F`>xvwkwTQ`|hCbL^xTI6$KK{Hbiv^BPoH9kTp?D6PhN?rLHvsk)1oy-gpx z(Sw)tw$H8G^KKY0`l^0DnRmh~E-oIqtvf#_?Pf^JcEgLFh&q^H*xb-lH)cXFaq*aJ zZ^9jnfM?rqN417c5IJF+CRjAsAMM?WVo2q@T}wD|us$zOVkLS~k(9pbI{>8yH|8$Lp>Fp5tK(A&wvNFYhKRFj6HHn**7&7XE4eFrX(HF@yYDBqGHscc{cC-)Ti+Luk9d`8Ts=+QsnwL0AF`S1Uo|+SAC2 z5j-0S2}9fiSx%=~V{T{OEu;>!nx%Uux7en@u!qYzYcolKy1KaFM%jFDmauw=~Sz@M6eWirQwadO@m&Z&KSWe3; zKn6`nIQbewXDOd!zQduLN{L&XVgK=RDK7!y(p9v%KL7H?D4~j48coe2>HL~m!wRJj z=<#ETTYB#gIrF?<9DI&7Dd;GU^O?Gc#^9Pk$aq4To4!a*3h__nTnWd@TBH%d#_Bx7 z(q*ko2ET{{nl>}w*UOmH?2N^ZD3zWwShumT!5Z1D3J^DTd==}JNFM8L=4`bUk@0Y++Al_3uB1~&H#!>_BZ2ggYyq~h zeASGAx0mSimIk_AQP>P7c)-HXCP{SKRo?#jz$M?pqImiV%DNq}t}9U~MKy_DK`FtA zbJi!{aHVWBYC$J!ysH&`I)sGl6X)48BG5#-4VopA1{8w_Eds4$LpnCmxA`E z9|YEGCZP|E_@2G*UGyƒ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 RN;u$;s^T35gq(Ts{{c2((g^?n From 2f1cd93c67e21d4f578c374538f579a0617e8488 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 18 Sep 2024 16:25:03 -0400 Subject: [PATCH 102/153] =?UTF-8?q?Address=20Larry=E2=80=99s=20feedback=20?= =?UTF-8?q?in=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.mediawiki | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index bcc08126be..41fb09afa6 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -1,6 +1,18 @@ -People wishing to submit BIPs, should first describe their idea to the [https://groups.google.com/g/bitcoindev bitcoindev@googlegroups.com] mailing list. Please open a pull request to this repository only when substantial progress on the draft has been made, preferably when the draft is nearing completion. After meeting the editorial criteria, a BIP Editor will assign a number, and it will be published here. Authors do not assign a number to their own proposal. Please see BIP Update Process for the full process. +People wishing to submit BIPs should first describe their idea to the [https://groups.google.com/g/bitcoindev +bitcoindev@googlegroups.com] mailing list. Please open a pull request to this repository only when substantial progress +on the draft has been made, preferably when the draft is nearing completion. After a proposal meets the editorial +criteria, a BIP Editor will assign a number to it, and publish the proposal by merging the pull request to the +repository. Authors do not assign a number to their own proposal. Please see tk: BIP Update Process for the full process. -The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal is in scope of and has met other formal criteria for this repository, but does not indicate that it is a good idea, has community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. Beyond the formal criteria, evaluation of the proposals is left to the audience of the repository. The exception are rare cases when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will be preferred. Authors proposing changes should consider that ultimately consent rests with the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority economic majority]). +The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal +is in scope and has met other formal criteria for this repository, but does not indicate that it is a good idea, has +community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with approving BIPs +and try not to be too involved in decision-making on behalf of the community. Beyond the formal criteria, evaluation of +the proposals is left to the audience of the repository. The exceptions are rare cases when a decision is contentious +and cannot be agreed upon. In those cases, the conservative option will be preferred. Authors proposing changes should +consider that ultimately, consent rests with the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority +economic majority]). {| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" !Number From e2378f3a67c75b90ef721f16604812215729686b Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 18 Sep 2024 17:48:19 -0400 Subject: [PATCH 103/153] Adopt small improvements from Review --- bip-update-process.md | 95 ++++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 46 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f725ccc46d..86b31144d5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -14,7 +14,7 @@ Replaces: 2 ## Abstract This _Bitcoin Improvement Proposal (BIP)_ provides information about the preparation of BIPs and policies relating to -the publication of BIPs. It replaces BIP 2 with a streamlined process, and may be amended in the future to address the +the publication of BIPs. It replaces BIP 2 with a streamlined process, and may be amended to address the evolving needs of the BIP process. The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility @@ -28,11 +28,11 @@ provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to vi ## Motivation BIP 2 is over eight years old and was written when different concerns were pressing to the Bitcoin community. The BIP 2 -process seems to have been fashioned to facilitate design and activation of protocol changes. In the past years, BIPs +process seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned -the BIP Editor role, and delineates the BIP Types more expediently. +to the BIP Editor role, and delineates the BIP Types more expediently. ## What is a BIP? @@ -43,17 +43,17 @@ Some BIPs describe processes, implementation guidelines, best practices, inciden the Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and -documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors, and +documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors and represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback and -dissenting opinions, and, if applicable, advance adoption of their proposal within the Bitcoin community. BIPs may be +dissenting opinions, and, if applicable, advance the adoption of their proposal within the Bitcoin community. BIPs may be submitted by anyone. ### What is the significance of BIPs? BIPs do not define what Bitcoin is: individual BIPs do not represent Bitcoin community consensus or a general recommendation for implementation. A BIP represents a personal recommendation by the BIP author to the Bitcoin -community. Some BIPs may never be adopted. Some BIPs may be adopted by several implementations. Some may even be -incorporated into the Bitcoin protocol. +community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more Bitcoin clients or other related +software. Some may even end up changing the consensus rules that the Bitcoin ecosystem jointly enforces. ### What is the scope of the BIPs repository? @@ -68,7 +68,7 @@ storage, or hobbling mining decentralization, may be considered out-of-scope. BIPs should be written in mediawiki or markdown[^markdown] format. -Each BIP must have a Preamble, an Abstract, a Copyright section, and a Backwards Compatibility section. Authors should +Each BIP must have a _Preamble_, an _Abstract_, a _Copyright_, and a _Backward Compatibility_ section. Authors should consider all issues in the following list and address each as appropriate. For some BIPs, some concerns may not warrant a dedicated section. @@ -81,19 +81,19 @@ a dedicated section. specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale - should address important objections or concerns raised during discussion. -* Backwards compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. + should address important objections or concerns raised. +* Backward compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementers/users should deal with these incompatibilities. -* Reference implementation -- Where applicable, a reference implementation, test vectors and documentation must be - completed before the BIP can be given status "Ready". Any or all of these can be provided either in the BIP or as - auxiliary files. It is recommended to focus on specification and rationale before writing code. -* Change Log -- A section to track modifications to a BIP after reaching Ready status. +* Reference implementation -- Where applicable, a reference implementation, test vectors, and documentation must be + completed before the BIP can be given the status "Ready". Any or all of these can be provided either in the BIP or as + auxiliary files. +* Changelog -- A section to track modifications to a BIP after reaching Ready status. * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). #### BIP header preamble -Each BIP must begin with an RFC 822 style header preamble. The headers must appear in the following order. Headers -marked with "\*" are optional. All other headers are required. The overview is followed by explanations for each header. +Each BIP must begin with an RFC 822-style header preamble. The headers must appear in the following order. Headers +marked with "\*" are optional. All other headers are required. The overview is followed by an explanation for each header. ``` BIP: @@ -106,7 +106,7 @@ marked with "\*" are optional. All other headers are required. The overview is f License: * License-Code: * Discussion: -* Revision: Version number of this document after a Change Log has been introduced +* Revision: Version number of this document after a Changelog has been introduced * Requires: * Replaces: * Superseded-By: @@ -121,7 +121,7 @@ definitions of the various BIP layers. __Title__: A short descriptive title. Strongly preferred to be less than 50 characters long. __Author__: The author header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. -This may or may not be the original authors of the BIP. The format of each authors header value must be +This may or may not be the original authors of the BIP. The format of each author header value must be Random J. User @@ -143,7 +143,7 @@ list thread in which the idea for the BIP was discussed, a thread where a new ve relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. `2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. -__Revision__: The Revision header indicates the version of this BIP after a Change Log section has been added. +__Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. __Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. @@ -162,7 +162,7 @@ convention. * A **Specification BIP** defines a set of technical rules affecting the interoperability of implementations. The distinguishing feature of a Specification BIP is that it can be implemented, and implementations can be compliant with it. Specification BIPs should come with or refer to a reference implementation. -* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines, or other information to the +* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines or other information to the Bitcoin community. * A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process BIPs are like Specification BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an @@ -180,7 +180,7 @@ finally recommends a mature proposal to the community. ### Ideation -After having an idea, the author should evaluate whether it is meets the criteria to become a BIP, as described in +After having an idea, the author should evaluate whether it meets the criteria to become a BIP, as described in this BIP. The idea must be of interest to the broader community or relevant to multiple software projects. Small improvements and matters concerning only a single project usually do not require standardization and should instead be brought up to the relevant project directly. @@ -193,7 +193,7 @@ list](https://groups.google.com/g/bitcoindev). Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the author and the broader community time. Not only may someone point out relevant discussion topics that were missed in the author’s research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also -tests whether it is of interest to more people beside the author. After establishing that the idea may be of interest +tests whether it is of interest to more people besides the author. After establishing that the idea may be of interest to the Bitcoin community, the author should work on drafting a BIP. It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the @@ -204,7 +204,7 @@ overall proposal. As the first draft is taking shape, the author should present it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address fundamental concerns. If the author wishes to work in public on the draft at this stage, it is recommended that they -open a pull request against their personal fork of the BIPs repository instead of the main BIPs repository. +open a pull request against their fork of the BIPs repository instead of the main BIPs repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble specification above. @@ -213,24 +213,24 @@ specification above. After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the author should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the -formatting requirements specified below and named with a working title of the form "bip-title". The author must not +formatting requirements specified below and be named with a working title of the form "bip-title". The author must not self-assign a number to the BIP draft. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin projects working on adopting the proposal, or by the author working for an extended period of time -towards improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors -should delay number assignment when they perceive a BIP draft being met with comprehensive lack of interest: number -assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest of the Bitcoin +toward improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors +should delay number assignment when they perceive a BIP draft being met with lack of interest: number +assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest in the Bitcoin community, there is no need to refer to it by a number. BIP drafts are also not eligible for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the draft may -be improved to progress towards readiness. Pull requests that are proposing off-topic or unserious ideas, or have +be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have stopped to make progress may be closed. -When the BIP draft is complete, a BIP editor will assign a BIP type, and merge it to the BIPs repository. +When the BIP draft has been assigned a number and is complete, a BIP editor will merge it to the BIPs repository. After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author may continue to update the draft as necessary in the git repository. Updates to drafts by the author should also be submitted as pull requests. @@ -245,8 +245,8 @@ BIP’s content should only be adjusted in minor details, e.g. to improve langua omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is adopted. -A Ready BIP can only move to Active or to Abandoned. Any necessary changes to the specification should be -minimal and interfere as little as possible with on going adoption. If a Ready BIP is found to need +A Ready BIP can only move to Active or Abandoned. Any necessary changes to the specification should be +minimal and interfere as little as possible with ongoing adoption. If a Ready BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to draft a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. @@ -272,21 +272,21 @@ has rough consensus per the same criteria.[^living-documents] ##### Revisions To help implementers understand updates to a BIP, any changes after it has reached Ready or Active are -tracked with version, date, and description in a Change Log section. The version number is inspired by semantic +tracked with version, date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced that are incompatible with prior versions (which should be an exception after a BIP is Ready, and not happen to a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Ready. An example for a Change Log section can be seen in -[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Change Log, the -Preamble must indcate the latest version in the Revision header. +date the BIP was promoted to Ready. An example for a Changelog section can be seen in +[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the +Preamble must indicate the latest version in the Revision header. #### Abandoned[^abandoned] A BIP that is _not in active use_, may be labeled Abandoned when its author has stopped working on it, no longer recommends the proposed approach, or no longer pursues adoption of their completed proposal. The reason for moving the -proposal to Abandoned should be recorded in the Change Log section in the same commit that updates the status. +proposal to Abandoned should be recorded in the Changelog section in the same commit that updates the status. ##### Preliminary ↦ Abandoned @@ -340,7 +340,7 @@ BIP. If someone is interested in assuming ownership of a BIP, they should send an email asking to take over, addressed to the original author and the BIP editors. If the author does not respond to email in a timely manner, the BIP editors will -make a unilateral decision (it's not like such decisions can't be reversed :)). +make a unilateral decision (which may be amended should the original author make a delayed reappearance). ## BIP Licensing @@ -437,12 +437,12 @@ repository](https://github.com/bitcoin/bips) where it may get further feedback. For each new BIP draft pull request that comes in, an editor checks the following: -* Draft has been previously discussed on the Bitcoin development mailing +* Draft has been previously discussed on the Bitcoin development mailing list * Title accurately describes the content * Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation * Document is properly formatted * Licensing terms are acceptable -* Motivation, Rationale, and Backwards Compatibility have been addressed +* Motivation, Rationale, and Backward Compatibility have been addressed * Specification provides sufficient detail for implementation * The defined Layer header must be correctly assigned for the given specification * The BIP is fit: it is complete, comprehensible, and technically feasible @@ -460,9 +460,10 @@ changes, and update BIP headers as appropriate. BIP editors may also, at their option, unilaterally make and merge strictly editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the -original intent of the author. +original intent of the author. Such a change must be recorded in the Changelog if it’s noteworthy per the criteria +mentioned in the [Changelog](#changelog) section. -## Backwards Compatibility +## Backward Compatibility ### Changes from BIP 2 @@ -471,7 +472,7 @@ original intent of the author. - Most sections are declared optional, it is up to the author and audience to judge whether all relevant topics have been comprehensively addressed and which topics require a designated section to do so - Layer header is optional for Specification BIPs or Informational BIPs, as it does not make sense for all BIPs[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as - an aspect of the process are discontinued[^comments] + an aspect of the process are discontinued.[^comments] - Process BIPs are living documents that do not ossify and may be modified indefinitely - Titles may be up to 50 characters - The Discussions-To header is dropped, as it has never been used in any BIP @@ -552,7 +553,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD [^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** The comments feature saw insignificant adoption. Few BIPs received any comments and barely any more than two with only a handful of contributors commenting at all. This led to many situations in which one or two comments ended up - sourcing the comment summary. While some of those comments may have been representative of broadly held opinions, it + dominating the comment summary. While some of those comments may have been representative of broadly held opinions, it also overstated the importance of individual comments directly in the Preamble of BIPs. As collecting feedback in this accessible fashion failed, the new process puts the onus back on the audience to make their own evaluation. [^layer]: **Why is the layer header now permitted for other BIP types?** @@ -578,9 +579,11 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD goals of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has - stopped on this". The author of this BIP feels that all of these can be represented by Abandoned without - significantly impacting the information quality of the overview table. Where the many Status variants provided - minuscule additional information, the Change Log section now collects specific details per BIP. + stopped on this". The many statuses complicated the process, may have contributed to process fatigue, and may have + resulted in BIPs’ statuses not being maintained well. The author of this BIP feels that all of the aforementioned + can be represented by _Abandoned_ without significantly impacting the information quality of the overview table. + Where the many Status variants provided minuscule additional information, the simplification is more valuable and + the Changelog section now collects specific details. [^acceptance]: **Why does the BIPs repository no longer track adoption?** BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to From d226be776cf1d6cadba26ff4074d377e9d0fd121 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 12:49:11 -0400 Subject: [PATCH 104/153] Avoid the term draft --- bip-update-process.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 86b31144d5..622ab9b994 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -201,9 +201,9 @@ overall proposal. ### Progression through BIP Statuses -As the first draft is taking shape, the author should present it to the [Bitcoin development mailing +As a first sketch of the proposal is taking shape, the author should present it to the [Bitcoin development mailing list](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address -fundamental concerns. If the author wishes to work in public on the draft at this stage, it is recommended that they +fundamental concerns. If the author wishes to work in public on the proposal at this stage, it is recommended that they open a pull request against their fork of the BIPs repository instead of the main BIPs repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble @@ -211,28 +211,28 @@ specification above. #### Preliminary -After fleshing out the draft further and ensuring that it is of high quality and properly formatted, the author should -open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The draft BIP must adhere to the +After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the author should +open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The document must adhere to the formatting requirements specified below and be named with a working title of the form "bip-title". The author must not -self-assign a number to the BIP draft. +self-assign a number to their proposal. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by independent Bitcoin projects working on adopting the proposal, or by the author working for an extended period of time toward improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors -should delay number assignment when they perceive a BIP draft being met with lack of interest: number -assignment facilitates the distributed discussion of ideas, but before a BIP garners some interest in the Bitcoin +should delay number assignment when they perceive a proposal being met with lack of interest: number +assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the Bitcoin community, there is no need to refer to it by a number. -BIP drafts are also not eligible for number assignment if they duplicate efforts, disregard formatting rules, are too +Proposals are also not eligible for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify -the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the draft may +the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the proposal may be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have stopped to make progress may be closed. -When the BIP draft has been assigned a number and is complete, a BIP editor will merge it to the BIPs repository. +When the proposal has been assigned a number and is complete, a BIP editor will merge it to the BIPs repository. After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author -may continue to update the draft as necessary in the git repository. Updates to drafts by the author should also be +may continue to update the proposal as necessary in the git repository. Updates to merged documents by the author should also be submitted as pull requests. #### Ready[^ready] @@ -247,7 +247,7 @@ adopted. A Ready BIP can only move to Active or Abandoned. Any necessary changes to the specification should be minimal and interfere as little as possible with ongoing adoption. If a Ready BIP is found to need -substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to draft a new BIP with the changes +substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to start a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. #### Active @@ -424,7 +424,7 @@ to: * Novelty of the idea * Viability, utility, and relevance of the concept -* Readiness of the draft +* Readiness of the proposal * On-topic for the Bitcoin community We observe that discussion in pull requests comments can often be hard to follow as feedback gets marked as resolved @@ -435,9 +435,9 @@ If the BIP needs more work, an editor should ensure that constructive, actionabl revision. Once the BIP is fleshed out it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. -For each new BIP draft pull request that comes in, an editor checks the following: +For each new BIP pull request that comes in, an editor checks the following: -* Draft has been previously discussed on the Bitcoin development mailing list +* The idea has been previously discussed on the Bitcoin development mailing list * Title accurately describes the content * Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation * Document is properly formatted From f2c1afb19235a3e7f2fa88df5c6d62bff8cd0b16 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 12:51:05 -0400 Subject: [PATCH 105/153] Revert to Draft for the first state --- bip-update-process.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 622ab9b994..ffe21c3a7f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -100,7 +100,7 @@ marked with "\*" are optional. All other headers are required. The overview is f * Layer: Title: Author: - Status: + Status: Type: Created: License: @@ -128,7 +128,7 @@ This may or may not be the original authors of the BIP. The format of each autho If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Status__: The Status field can take the four values Preliminary, Ready, Active, and Abandoned. The +__Status__: The Status field can take the four values Draft, Ready, Active, and Abandoned. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -209,7 +209,7 @@ open a pull request against their fork of the BIPs repository instead of the mai The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble specification above. -#### Preliminary +#### Draft After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the author should open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The document must adhere to the @@ -288,9 +288,9 @@ A BIP that is _not in active use_, may be labeled Abandoned when its author has recommends the proposed approach, or no longer pursues adoption of their completed proposal. The reason for moving the proposal to Abandoned should be recorded in the Changelog section in the same commit that updates the status. -##### Preliminary ↦ Abandoned +##### Draft ↦ Abandoned -BIP authors may decide on their own to change their BIP’s status from Preliminary to Abandoned. If a Preliminary BIP stops making +BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. If a Draft BIP stops making progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP to Abandoned unless the authors assert that they intend to continue work when contacted. @@ -308,7 +308,7 @@ within four weeks. A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list, and proceed if no objections have been raised for four weeks. -##### Abandoned ↦ Preliminary +##### Abandoned ↦ Draft The Abandoned status is generally intended to be the final status for BIPs. @@ -480,10 +480,9 @@ mentioned in the [Changelog](#changelog) section. - The Status field is no longer modeled around the workflow of consensus changes - Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] - - Draft is renamed to Preliminary[^preliminary] - Proposed is renamed to Ready[^ready] - Final and Active are collapsed into Active - - The remaining statuses are Preliminary, Ready, Active, and Abandoned + - The remaining statuses are Draft, Ready, Active, and Abandoned - BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] - A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a year and its Author does not assert that they are still working on it when contacted @@ -564,15 +563,11 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^preliminary]: **Why has the Draft status been renamed to Preliminary?** - The term "draft" appears all over this document and was inconsistently overlapping with the status field value. - Also, "Draft" stood out as the only noun among the status field values. Preliminary fits the intended meaning and - does not appear otherwise in the process description. [^ready]: **Why has the Proposed status been renamed to Ready?** Some reviewers of this BIP raised that in a process that outlines the workflow of Bitcoin Improvement _Proposals_ using "Proposed" as a status field value was overloading the term: clearly _proposals_ are proposed at all stages of the process. -[^rejection]: **Why can proposals remain in Preliminary or Ready indefinitely?** +[^rejection]: **Why can proposals remain in Draft or Ready indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where the author is still active in the community and still considers their idea worth pursuing. On the other hand, proposals that appear stale may be tested and cleared out after only one year which hopefully achieves the main From 52304cde2c07dddb40b7fc258f60536048d86801 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 12:58:49 -0400 Subject: [PATCH 106/153] Revert "Ready" to "Proposed" --- bip-update-process.md | 51 ++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ffe21c3a7f..5138bbcb41 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -85,9 +85,9 @@ a dedicated section. * Backward compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors, and documentation must be - completed before the BIP can be given the status "Ready". Any or all of these can be provided either in the BIP or as + completed before the BIP can be given the status "Proposed". Any or all of these can be provided either in the BIP or as auxiliary files. -* Changelog -- A section to track modifications to a BIP after reaching Ready status. +* Changelog -- A section to track modifications to a BIP after reaching Proposed status. * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). #### BIP header preamble @@ -100,7 +100,7 @@ marked with "\*" are optional. All other headers are required. The overview is f * Layer: Title: Author: - Status: + Status: Type: Created: License: @@ -128,7 +128,7 @@ This may or may not be the original authors of the BIP. The format of each autho If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Status__: The Status field can take the four values Draft, Ready, Active, and Abandoned. The +__Status__: The Status field can take the four values Draft, Proposed, Active, and Abandoned. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -235,18 +235,18 @@ After the BIP is merged to the repository, its main focus should no longer shift may continue to update the proposal as necessary in the git repository. Updates to merged documents by the author should also be submitted as pull requests. -#### Ready[^ready] +#### Proposed[^proposed] When the author is confident that their BIP represents a net improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s -status to Ready to indicate that they recommend adoption or implementation of the BIP. Where applicable, the +status to Proposed to indicate that they recommend adoption or implementation of the BIP. Where applicable, the author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is adopted. -A Ready BIP can only move to Active or Abandoned. Any necessary changes to the specification should be -minimal and interfere as little as possible with ongoing adoption. If a Ready BIP is found to need +A Proposed BIP can only move to Active or Abandoned. Any necessary changes to the specification should be +minimal and interfere as little as possible with ongoing adoption. If a Proposed BIP is found to need substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to start a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. @@ -262,7 +262,7 @@ separate BIP.[^new-BIP] ##### Process BIPs -A process BIP may change status from Ready to Active when it achieves rough consensus on the mailing list. Such a +A process BIP may change status from Proposed to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be @@ -271,14 +271,14 @@ has rough consensus per the same criteria.[^living-documents] ##### Revisions -To help implementers understand updates to a BIP, any changes after it has reached Ready or Active are +To help implementers understand updates to a BIP, any changes after it has reached Proposed or Active are tracked with version, date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced -that are incompatible with prior versions (which should be an exception after a BIP is Ready, and not happen to a +that are incompatible with prior versions (which should be an exception after a BIP is Proposed, and not happen to a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Ready. An example for a Changelog section can be seen in +date the BIP was promoted to Proposed. An example for a Changelog section can be seen in [BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the Preamble must indicate the latest version in the Revision header. @@ -294,12 +294,12 @@ BIP authors may decide on their own to change their BIP’s status from Draft to progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP to Abandoned unless the authors assert that they intend to continue work when contacted. -##### Ready ↦ Abandoned +##### Proposed ↦ Abandoned -BIPs that had attained Ready status, i.e. that had been recommended for adoption, may be moved to Abandoned per +BIPs that had attained Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per the author’s announcement to the Bitcoin Developer Mailing List after not being opposed within 28 days. To successfully -oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Ready. A BIP -can also be moved to Abandoned by the community, if it has had Ready status for at least one year, there is no +oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Proposed. A BIP +can also be moved to Abandoned by the community, if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -323,7 +323,7 @@ number, unless it is obvious that the new attempt is a direct continuation of th The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP -is advanced to Ready, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual +is advanced to Proposed, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -480,9 +480,8 @@ mentioned in the [Changelog](#changelog) section. - The Status field is no longer modeled around the workflow of consensus changes - Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] - - Proposed is renamed to Ready[^ready] - Final and Active are collapsed into Active - - The remaining statuses are Draft, Ready, Active, and Abandoned + - The remaining statuses are Draft, Proposed, Active, and Abandoned - BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] - A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a year and its Author does not assert that they are still working on it when contacted @@ -563,11 +562,13 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^ready]: **Why has the Proposed status been renamed to Ready?** +[^proposed]: **Why was the Proposed status retained?** Some reviewers of this BIP raised that in a process that outlines the workflow of Bitcoin Improvement _Proposals_ using "Proposed" as a status field value was overloading the term: clearly _proposals_ are proposed at all stages of - the process. -[^rejection]: **Why can proposals remain in Draft or Ready indefinitely?** + the process. However, it fits the situation best: it does not imply that it needs no further changes like + "complete", is less subjective than "ready", communicates that the author is putting it forth for the community to + decide whether to adopt it. +[^rejection]: **Why can proposals remain in Draft or Proposed indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where the author is still active in the community and still considers their idea worth pursuing. On the other hand, proposals that appear stale may be tested and cleared out after only one year which hopefully achieves the main @@ -593,13 +594,13 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** - After a Ready or Active BIP has been deployed by one or more implementation, breaking changes to the + After a Proposed or Active BIP has been deployed by one or more implementation, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the - specification of Ready BIPs should be avoided, but active BIPs should never be subject to breaking changes to + specification of Proposed BIPs should be avoided, but active BIPs should never be subject to breaking changes to their specification. [^settled]: **What is meant with a BIP being settled?** - Since active BIPs should not be changed, a Ready BIP should only be moved to Active after its Specification + Since active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, From 78b6b4409a26fc4e285c35ba9223e9801e7e6dac Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 13:13:36 -0400 Subject: [PATCH 107/153] Reconsider uses of words that matched statuses --- bip-update-process.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 5138bbcb41..094524b1fd 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -224,7 +224,7 @@ should delay number assignment when they perceive a proposal being met with lack assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the Bitcoin community, there is no need to refer to it by a number. -Proposals are also not eligible for number assignment if they duplicate efforts, disregard formatting rules, are too +Proposals are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the proposal may be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have @@ -432,7 +432,7 @@ when it is addressed by authors. Substantive discussion of ideas may be more acc mailing list, where it is also more likely to be retained by the community memory. If the BIP needs more work, an editor should ensure that constructive, actionable feedback is provided to the author for -revision. Once the BIP is fleshed out it should be submitted as a "pull request" to the [BIPs +revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. For each new BIP pull request that comes in, an editor checks the following: @@ -445,14 +445,14 @@ For each new BIP pull request that comes in, an editor checks the following: * Motivation, Rationale, and Backward Compatibility have been addressed * Specification provides sufficient detail for implementation * The defined Layer header must be correctly assigned for the given specification -* The BIP is fit: it is complete, comprehensible, and technically feasible +* The BIP is ready: it is complete, comprehensible, and technically feasible Editors do NOT evaluate whether the proposal is likely to be adopted. A BIP editor will: * Assign a BIP number and BIP type in the pull request -* Merge the pull request when it is complete +* Merge the pull request when it is ready * List the BIP in the [README](README.mediawiki) The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP @@ -597,10 +597,10 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD After a Proposed or Active BIP has been deployed by one or more implementation, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the - specification of Proposed BIPs should be avoided, but active BIPs should never be subject to breaking changes to + specification of Proposed BIPs should be avoided, but Active BIPs should never be subject to breaking changes to their specification. [^settled]: **What is meant with a BIP being settled?** - Since active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification + Since Active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, From cf2e14feda31b9553b8268d0c56e884c3ea76ea7 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 14:51:58 -0400 Subject: [PATCH 108/153] Defer changes to README until Proposal is adopted --- README.mediawiki | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 41fb09afa6..170b05314c 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -1,18 +1,10 @@ -People wishing to submit BIPs should first describe their idea to the [https://groups.google.com/g/bitcoindev -bitcoindev@googlegroups.com] mailing list. Please open a pull request to this repository only when substantial progress -on the draft has been made, preferably when the draft is nearing completion. After a proposal meets the editorial -criteria, a BIP Editor will assign a number to it, and publish the proposal by merging the pull request to the -repository. Authors do not assign a number to their own proposal. Please see tk: BIP Update Process for the full process. +People wishing to submit BIPs, first should propose their idea or document to the [https://groups.google.com/g/bitcoindev bitcoindev@googlegroups.com] mailing list (do not assign a number - read BIP 2 for the full process). After discussion, please open a PR. After copy-editing and acceptance, it will be published here. -The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal -is in scope and has met other formal criteria for this repository, but does not indicate that it is a good idea, has -community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with approving BIPs -and try not to be too involved in decision-making on behalf of the community. Beyond the formal criteria, evaluation of -the proposals is left to the audience of the repository. The exceptions are rare cases when a decision is contentious -and cannot be agreed upon. In those cases, the conservative option will be preferred. Authors proposing changes should -consider that ultimately, consent rests with the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority -economic majority]). +We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred. + +Having a BIP here does not make it a formally accepted standard until its status becomes Final or Active. + +Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: [https://en.bitcoin.it/wiki/Economic_majority economic majority]). {| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" !Number From 81a2310784e5717f3a0c3e4bc408e33a21444f4e Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:12:54 -0400 Subject: [PATCH 109/153] Address minor review concerns - Punctuation in Changes from BIP2 - minor rephrasings - clarify living document --- bip-update-process.md | 58 +++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 094524b1fd..c1fde9f547 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -40,7 +40,7 @@ BIPs cover the range of interests of the Bitcoin community. The main topic is te currency. Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. Some BIPs describe processes, implementation guidelines, best practices, incident reports (e.g. [BIP 50](bip-0050.mediawiki)), or other information relevant to the Bitcoin community. However, any topics related to -the Bitcoin protocol, Bitcoin’s P2P network, and Bitcoin client software may be acceptable. +the Bitcoin protocol, Bitcoin’s peer-to-peer network, and Bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors and @@ -262,11 +262,11 @@ separate BIP.[^new-BIP] ##### Process BIPs -A process BIP may change status from Proposed to Active when it achieves rough consensus on the mailing list. Such a +A Process BIP may change status from Proposed to Active when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be -given in such circumstances. An Active Process BIP may be modified indefinitely as long as a proposed modification +given in such circumstances. Active Process BIPs may be modified indefinitely as long as a proposed modification has rough consensus per the same criteria.[^living-documents] ##### Revisions @@ -316,7 +316,8 @@ If a BIP Author decides to make another attempt at a previously abandoned propos create a new proposal. (Obviously, the author may borrow any amount of inspiration or actual text from any prior BIPs as licensing permits.) The author should take special care to address the issues that caused the prior attempt’s abandonment. Even if the prior attempt had been assigned a number, the new BIP will generally be assigned a distinct -number, unless it is obvious that the new attempt is a direct continuation of the prior work. +number, unless it is obvious that the new attempt directly continues work on the same idea, in which case it may be +reasonable to return the Abandoned BIP to Draft status. ### Adoption of proposals @@ -467,32 +468,33 @@ mentioned in the [Changelog](#changelog) section. ### Changes from BIP 2 -- Refer to the proponent of a BIP as "author" throughout the document -- The Standards Track type is superseded by the similar Specification type[^standard-track] -- Most sections are declared optional, it is up to the author and audience to judge whether all relevant topics have been comprehensively addressed and which topics require a designated section to do so -- Layer header is optional for Specification BIPs or Informational BIPs, as it does not make sense for all BIPs[^layer] +- Refer to the proponent of a BIP as "author" throughout the document. +- The Standards Track type is superseded by the similar Specification type.[^standard-track] +- Most sections are declared optional, it is up to the author and audience to judge whether all relevant topics have + been comprehensively addressed and which topics require a designated section to do so. +- Layer header is optional for Specification BIPs or Informational BIPs, as it does not make sense for all BIPs.[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as an aspect of the process are discontinued.[^comments] -- Process BIPs are living documents that do not ossify and may be modified indefinitely -- Titles may be up to 50 characters -- The Discussions-To header is dropped, as it has never been used in any BIP -- The Post-History header is replaced with the Discussion header -- The Status field is no longer modeled around the workflow of consensus changes +- Process BIPs are living documents that do not ossify and may be modified indefinitely. +- Titles may now be up to 50 characters. +- The Discussions-To header is dropped as it has never been used in any BIP. +- The Post-History header is replaced with the Discussion header. +- The Status field is no longer modeled around the workflow of consensus changes. - Status field values are reduced from nine to four: - - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned[^abandoned] - - Final and Active are collapsed into Active - - The remaining statuses are Draft, Proposed, Active, and Abandoned -- BIPs no longer get rejected solely on grounds of not making progress for three years[^rejection] + - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned.[^abandoned] + - Final and Active are collapsed into Active. + - The remaining statuses are Draft, Proposed, Active, and Abandoned. +- BIPs no longer get rejected solely on grounds of not making progress for three years.[^rejection] - A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a - year and its Author does not assert that they are still working on it when contacted + year and its Author does not assert that they are still working on it when contacted. - Many judgment calls previously required from BIP Editors are reassigned either to the BIP Author or the repository’s - audience + audience. - Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository, except to determine - whether a BIP is in active use for the move into or out of the Active status -- "Other Implementations" sections are discouraged[^OtherImplementations] + whether a BIP is in active use for the move into or out of the Active status. +- "Other Implementations" sections are discouraged.[^OtherImplementations] - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling - them with the BIP number -- List of acceptable licenses was reduced to the ones previously used + them with the BIP number. +- The set of acceptable licenses was reduced to the ones previously used. ### Updates to existing BIPs should this BIP be activated @@ -589,10 +591,12 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD Markdown syntax features commonly shared across Markdown dialects. [^living-documents]: **Why are Process BIPs living documents?** In the past years, the existing BIPs process has not always provided a clear approach to all situations. For - example, the content of BIP 2 appears to have been penned with fork proposals in mind. It seems clear that the - Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a - new process every so often to catch up with new challenges, it seems preferable to allow the process to adapt to the - concerns of the future. Therefore, we define Process BIPs as living documents that remain open to amendment. + example, the content of BIP 2 appears to have been penned especially with fork proposals in mind. It seems clear + that Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of + writing a new process document every time new situations arise, it seems preferable to allow the + process to adapt to the concerns of the future in specific aspects. Therefore, we define Process BIPs as living + documents that remain open to amendment. If a Process BIP requires large modifications or even a complete + overhaul, a new BIP should be preferred. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** After a Proposed or Active BIP has been deployed by one or more implementation, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at From b54223dd2be76817f8d3a84ec4947feefaaf8a05 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:16:53 -0400 Subject: [PATCH 110/153] Capitalize bitcoin only in proper nouns --- bip-update-process.md | 74 +++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index c1fde9f547..03f3b09f59 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -27,7 +27,7 @@ provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to vi ## Motivation -BIP 2 is over eight years old and was written when different concerns were pressing to the Bitcoin community. The BIP 2 +BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin community. The BIP 2 process seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This @@ -36,30 +36,30 @@ to the BIP Editor role, and delineates the BIP Types more expediently. ## What is a BIP? -BIPs cover the range of interests of the Bitcoin community. The main topic is technology that supports the bitcoin +BIPs cover the range of interests of the bitcoin community. The main topic is technology that supports the bitcoin currency. Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. Some BIPs describe processes, implementation guidelines, best practices, incident reports (e.g. -[BIP 50](bip-0050.mediawiki)), or other information relevant to the Bitcoin community. However, any topics related to -the Bitcoin protocol, Bitcoin’s peer-to-peer network, and Bitcoin client software may be acceptable. +[BIP 50](bip-0050.mediawiki)), or other information relevant to the bitcoin community. However, any topics related to +the bitcoin protocol, bitcoin’s peer-to-peer network, and bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors and represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback and -dissenting opinions, and, if applicable, advance the adoption of their proposal within the Bitcoin community. BIPs may be +dissenting opinions, and, if applicable, advance the adoption of their proposal within the bitcoin community. BIPs may be submitted by anyone. ### What is the significance of BIPs? -BIPs do not define what Bitcoin is: individual BIPs do not represent Bitcoin community consensus or a general -recommendation for implementation. A BIP represents a personal recommendation by the BIP author to the Bitcoin -community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more Bitcoin clients or other related -software. Some may even end up changing the consensus rules that the Bitcoin ecosystem jointly enforces. +BIPs do not define what bitcoin is: individual BIPs do not represent bitcoin community consensus or a general +recommendation for implementation. A BIP represents a personal recommendation by the BIP author to the bitcoin +community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more bitcoin clients or other related +software. Some may even end up changing the consensus rules that the bitcoin ecosystem jointly enforces. ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin -currency. Related topics that are of interest to the Bitcoin community may be acceptable. Proposals that are in direct -contradiction to this mission, e.g. by undermining fungibility, facilitating unrelated protocols, using Bitcoin for data +currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that are in direct +contradiction to this mission, e.g. by undermining fungibility, facilitating unrelated protocols, using bitcoin for data storage, or hobbling mining decentralization, may be considered out-of-scope. ## BIP format and structure @@ -78,7 +78,7 @@ a dedicated section. * Motivation -- The motivation is critical for BIPs. It should clearly explain what issue the BIP addresses, and how the existing situation is inadequate to address the problem that the BIP solves. * Specification -- The technical specification should describe the syntax and semantics of any new feature. The - specification should be detailed enough to enable any Bitcoin project to create an interoperable implementation. + specification should be detailed enough to enable any bitcoin project to create an interoperable implementation. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work. The rationale should address important objections or concerns raised. @@ -115,7 +115,7 @@ marked with "\*" are optional. All other headers are required. The overview is f __BIP__: BIP number, or "?" before a number was assigned. The proposal must not self-assign a BIP number. Numbers are assigned by BIP Editors. -__Layer__: The Layer header documents which layer of Bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for +__Layer__: The Layer header documents which layer of bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. __Title__: A short descriptive title. Strongly preferred to be less than 50 characters long. @@ -162,17 +162,17 @@ convention. * A **Specification BIP** defines a set of technical rules affecting the interoperability of implementations. The distinguishing feature of a Specification BIP is that it can be implemented, and implementations can be compliant with it. Specification BIPs should come with or refer to a reference implementation. -* An **Informational BIP** describes a Bitcoin design issue, provides general guidelines or other information to the - Bitcoin community. -* A **Process BIP** describes a process surrounding Bitcoin, or proposes a change to (or an event in) a process. Process - BIPs are like Specification BIPs, but apply to areas other than the Bitcoin protocol itself. They may propose an - implementation, but not to Bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they +* An **Informational BIP** describes a bitcoin design issue, provides general guidelines or other information to the + bitcoin community. +* A **Process BIP** describes a process surrounding bitcoin, or proposes a change to (or an event in) a process. Process + BIPs are like Specification BIPs, but apply to areas other than the bitcoin protocol itself. They may propose an + implementation, but not to bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, and changes to the decision-making process. ## Workflow -The BIP process starts with a new idea for Bitcoin. Each potential BIP must have an author (or multiple +The BIP process starts with a new idea for bitcoin. Each potential BIP must have an author (or multiple authors)—someone who writes the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and finally recommends a mature proposal to the community. @@ -185,24 +185,24 @@ this BIP. The idea must be of interest to the broader community or relevant to m improvements and matters concerning only a single project usually do not require standardization and should instead be brought up to the relevant project directly. -The author should first research whether an idea has been considered before. Ideas in Bitcoin are often rediscovered, +The author should first research whether an idea has been considered before. Ideas in bitcoin are often rediscovered, and prior related discussions may inform the author what issues may arise in its progression. After some investigation, -the novelty of an idea can be tested by posting about it to the [Bitcoin development mailing -list](https://groups.google.com/g/bitcoindev). +the novelty of an idea can be tested by posting about it to the [Bitcoin Development Mailing +List](https://groups.google.com/g/bitcoindev). Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the author and the broader community time. Not only may someone point out relevant discussion topics that were missed in the author’s research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also tests whether it is of interest to more people besides the author. After establishing that the idea may be of interest -to the Bitcoin community, the author should work on drafting a BIP. +to the bitcoin community, the author should work on drafting a BIP. It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the overall proposal. ### Progression through BIP Statuses -As a first sketch of the proposal is taking shape, the author should present it to the [Bitcoin development mailing -list](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address +As a first sketch of the proposal is taking shape, the author should present it to the [Bitcoin Development Mailing +List](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address fundamental concerns. If the author wishes to work in public on the proposal at this stage, it is recommended that they open a pull request against their fork of the BIPs repository instead of the main BIPs repository. @@ -218,10 +218,10 @@ self-assign a number to their proposal. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by -independent Bitcoin projects working on adopting the proposal, or by the author working for an extended period of time +independent bitcoin projects working on adopting the proposal, or by the author working for an extended period of time toward improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors should delay number assignment when they perceive a proposal being met with lack of interest: number -assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the Bitcoin +assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the bitcoin community, there is no need to refer to it by a number. Proposals are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too @@ -238,7 +238,7 @@ submitted as pull requests. #### Proposed[^proposed] When the author is confident that their BIP represents a net improvement, is clear, comprehensive, has a working -reference implementation (if applicable), and is ready for adoption by the Bitcoin community, they may update the BIP’s +reference implementation (if applicable), and is ready for adoption by the bitcoin community, they may update the BIP’s status to Proposed to indicate that they recommend adoption or implementation of the BIP. Where applicable, the author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill @@ -297,7 +297,7 @@ to Abandoned unless the authors assert that they intend to continue work when co ##### Proposed ↦ Abandoned BIPs that had attained Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per -the author’s announcement to the Bitcoin Developer Mailing List after not being opposed within 28 days. To successfully +the author’s announcement to the Bitcoin Development Mailing List after not being opposed within 28 days. To successfully oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Proposed. A BIP can also be moved to Abandoned by the community, if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers @@ -324,8 +324,8 @@ reasonable to return the Abandoned BIP to Draft status. The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP -is advanced to Proposed, it is up to the Bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual -Bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing +is advanced to Proposed, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual +bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -416,7 +416,7 @@ The current BIP editors are: ### BIP Editor Responsibilities & Workflow -The BIP editors subscribe to the Bitcoin development mailing list and watch the [BIPs +The BIP editors subscribe to the Bitcoin Development Mailing List and watch the [BIPs repository](https://github.com/bitcoin/bips). Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. @@ -426,7 +426,7 @@ to: * Novelty of the idea * Viability, utility, and relevance of the concept * Readiness of the proposal -* On-topic for the Bitcoin community +* On-topic for the bitcoin community We observe that discussion in pull requests comments can often be hard to follow as feedback gets marked as resolved when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the @@ -438,9 +438,9 @@ repository](https://github.com/bitcoin/bips) where it may get further feedback. For each new BIP pull request that comes in, an editor checks the following: -* The idea has been previously discussed on the Bitcoin development mailing list +* The idea has been previously discussed on the Bitcoin Development Mailing List * Title accurately describes the content -* Proposal is of general interest and/or pertains to more than one Bitcoin project/implementation +* Proposal is of general interest and/or pertains to more than one bitcoin project/implementation * Document is properly formatted * Licensing terms are acceptable * Motivation, Rationale, and Backward Compatibility have been addressed @@ -547,7 +547,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. This has led to a number of BIPs that propose new features affecting interoperability of implementations being assigned the Informational type. We remedy this situation by introducing a new _Specification BIP_ type that - is inclusive of any BIPs that can be implemented and affect interoperability of Bitcoin applications. Since all BIPs + is inclusive of any BIPs that can be implemented and affect interoperability of bitcoin applications. Since all BIPs are individual recommendations by the authors (even if some may eventually achieve endorsement by the majority of the community), the prior reminder that Informational BIPs are optional is dropped. [^comments]: **Why were comments, Comments-URI, and Comment-Summary removed from the process?** @@ -592,7 +592,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD [^living-documents]: **Why are Process BIPs living documents?** In the past years, the existing BIPs process has not always provided a clear approach to all situations. For example, the content of BIP 2 appears to have been penned especially with fork proposals in mind. It seems clear - that Bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of + that bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a new process document every time new situations arise, it seems preferable to allow the process to adapt to the concerns of the future in specific aspects. Therefore, we define Process BIPs as living documents that remain open to amendment. If a Process BIP requires large modifications or even a complete From 7650ff3452283d59d39382a4eec333a8434b1bc3 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:26:54 -0400 Subject: [PATCH 111/153] =?UTF-8?q?Address=20Larry=E2=80=99s=20feedback=20?= =?UTF-8?q?comments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 03f3b09f59..93e4a535a5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -310,7 +310,7 @@ Status update by announcing it to the mailing list, and proceed if no objections ##### Abandoned ↦ Draft -The Abandoned status is generally intended to be the final status for BIPs. +The Abandoned status is generally intended to be a final status for BIPs. If a BIP Author decides to make another attempt at a previously abandoned proposal, it is generally recommended to create a new proposal. (Obviously, the author may borrow any amount of inspiration or actual text from any prior BIPs as @@ -323,7 +323,7 @@ reasonable to return the Abandoned BIP to Draft status. The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation: the BIPs repository is not a sign-post where to find implementations.[^OtherImplementations] After a BIP +implementation: the BIPs repository is not a signpost where to find implementations.[^OtherImplementations] After a BIP is advanced to Proposed, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md @@ -428,7 +428,7 @@ to: * Readiness of the proposal * On-topic for the bitcoin community -We observe that discussion in pull requests comments can often be hard to follow as feedback gets marked as resolved +We observe that discussion in pull request comments can often be hard to follow as feedback gets marked as resolved when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the mailing list, where it is also more likely to be retained by the community memory. @@ -515,7 +515,7 @@ discretion. It is recommended that existing wiki pages are not modified due to t #### Status field -Subsequent to the activation of this BIP, the Status field of any existing BIPs that do not fit the specification in +After the activation of this BIP, the Status fields of existing BIPs that do not fit the specification in this BIP are updated to the corresponding values prescribed in this BIP. #### Discussion header @@ -573,8 +573,8 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD [^rejection]: **Why can proposals remain in Draft or Proposed indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where the author is still active in the community and still considers their idea worth pursuing. On the other hand, - proposals that appear stale may be tested and cleared out after only one year which hopefully achieves the main - goals of the original rule. + proposals that appear stale may be tested and cleared out after only one year which should achieve the main + goal of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has stopped on this". The many statuses complicated the process, may have contributed to process fatigue, and may have @@ -603,9 +603,9 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the specification of Proposed BIPs should be avoided, but Active BIPs should never be subject to breaking changes to their specification. -[^settled]: **What is meant with a BIP being settled?** - Since Active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification - has been put through its paces and changes to the BIP have stopped. +[^settled]: **What is meant by a BIP being settled?** + Since Active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification has + been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, some BIPs were made available under more than one license) and only one license has been used to license code: From 4f99f3843cefe9cb8ef4a89d6fcb133536647b5f Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:29:20 -0400 Subject: [PATCH 112/153] Update status diagram to match Statuses --- bip-update-process/status-diagram.png | Bin 54673 -> 52678 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bip-update-process/status-diagram.png b/bip-update-process/status-diagram.png index 6f95f780b3b619a86e725fac0c2710b3dabc6f5b..c50bc9078599892daca30c783bb2722dd7992a6f 100644 GIT binary patch literal 52678 zcmeGEWmMGd7d8yrfQlfEzyK;C(g+em3rKgDN_TfEBS?3*C>_!b0@4!FjdU{t!T`g- zdyeAuzt{cg{raru;e%^=UHs16d!KtB$FU7mkdwf^{owYMD_5{3U%pVfa^)7zl`GeF zF>itYlDO=Tapg*1sN@S_71yclSqxW|@yhkRiGJCXqao|401$`!Nmwkigs_ zL|*VEWX~yKcHW809Id{n_cw|yG$jceI%@9Z&C1G>Enn78mFrA*)V+|W{?;rZCWcCQ zigr)*j}YXg?$QpuX3|ZBrGqr ze5r~eeQJ+|uUIqtyy`W{1x1HhdRg^_pVt}A4$279F@7{bIbon@nWRNN!2EZLD_5?5 z`t%8kPeFmw&(6ap%&wXZ3wAbK)m@y6%r?FOV~wIunplC$;X3AtTY{*4y&X?c0sWR~N$%+Bi@(T5im2HKbgC&e6fhIyF8_nNRW zXYW>C`Dx4TZJl^(DcE^36n3zyiPy>|%T!=U8kWz-cAD;HboFwyG)!|Cr!l<9rQoyT|(l5HkfR_(!~AB2&w@vx$}g*k$O98)wo z(Qm21D7iQ(yQ*DafJ|hae`hT(EU7UfrL{bx%WB;ub3iaV)iu$85GW^{& z`8}bF@6Qg${d7L&z--TGuC1xRe@_;dXLX!SU2*K9w{W>BU!k<1u(0z)Tz5_C3cc3B zILzUN+b)Szhrx(fboLkddME|~%BaKGr!>8H@;nTU{hvgR4TG2&vol&kkP$$!0qdX6-X^Zvu{UW>}SP_4UgM z2@LYtzPyg9kWtnq%Y!-U6drqa`C4Oe4C|6n8rCoy8`m`bmJ6G2bds_@eI@wV%Bro#vo)9F6r_TpIdVd=dE-2)2f7;h)Yf`sFkjb@abGZ} zj4KA>(KNwB!ot*g<@buO{hi%cM23^cnMKmjJn_D6T#jQy3ZIA4%jVzk(Jay80TV1; zTAGf!c)EP`oP5txv+I*Z7TP=(r`&D_`;ig1F*F}7bx77awXq`%64>n$$ocY{$=NEZ z$)Op^+vD}++ml6&+e3M=+k?AelXXV;lONqgCqF4tXg2FPX%-mMXnwZW)NIm;s#nM` z7RcSpyRaVKzgg?N(h$*Uci1XCS?REKMh`Je$c`iEv3SY!+z2>>NAm#X&IJyi^K?l8 zwVI>jH8}g_Ino=BOdVzCQHD9P*S$FzvY+qgq^9XowfC7>zqc`^&hzB7Bi823T85{k_Yj-2M_16Jr7!eDg?` z`$H(3QKxfXn_NtRQOLa=l+f;UEtjdo(jq~=uPrJ|)PAMjrpHWKyyq=SFLGzq=j{%A8n*J25;sm8fj{H<&(VBe@-gbf z<}*&n*5eTnILBzfzw}wEYac&;Y(mHmT$9k|)5_QP3n)w1%9?w2=zgDxoEsZl$0N6s zGjF_$6BP{w4wf*;1l9AV<`>Kfe5zrT916~+<2q_ZO3a_u3O#FI)Ec3NzOHrKdU-E= z-;L%hP?zd;axhlbw<2|a%6Z4%h2wJX%kMT-Uuo98PC6}U9btB-F{Dh&9%GtdW3D}l zPvCG6xoBV{`o^7QbeO+llyi@1c^Rv1xxeV?%T3~p*4DnK63e?*Pgh#2^&JqFrjrek zjL9iKcUu(t&mF#h@ZL3w6yceZC~hosF6wd9v^;I~=7-~pz&rQFFK5U72m&iyD^6|b zS*4rS7FX~{AYWd!BI+w1Btp$D;b1umOqR>a27Axub5kH@i z6S}Tlda^IEDl2PWluxCMRRU|J@&e5(3Nwmnu99C=k1AzXDaQT3-yP4H!}^IdGg&V6 zBfEb7PN$DHSFz~b_K%{*6i%;{nNqjf2D=l?K*Sr!#<+YJ&7JICOvLw>>eBXhbe9|S zh1bN>oMxJB_QCRYy3H0j*{D~0c{n-)DpLAthwEp0CvqPOx9@*88t*S!`EF*gTonqh zOFoEVq&sWx>y?<{kbkHFJc?QF6Cd_tbU z4WlNjuJh)E2yKl0X+xTHyLOpRI`jU~s6iSsr`~zW=ic%0oZHqO@(IsLtqGH;#VfeW z^cHuzX0}13@_1Iw*1vfMM+&bGkK`}QwtS6{eJ~p7U>p`-9L@Jq2LFBa#(tfc{dxwZ zOgGus{%k_n9+{1Jw}V(|yF0!~7JqN_zDS8-GvzttXXAb%YsHBO_jxM?=HG#Z-hT3? z+0oOYAx7QZ9L=LOY2eaI+Nw)Fgh>N59`L8WE19!^o+NK1sWOE3a3e*dz^wW8z()b#qZ?Fm9_)tK6 zudAOzdpX;st6Am1zHP9_A^vg|5yXEiT7;VxD^nLY+gY1rN@kexWW11UR-W%*9JnDp zU$Hx#fQ>E>gGnC=-E@V!aFzAsi+kIMpqZ*Y-Kf?Z_utIadx`JPmUi$<)5T+VsVc8L z=afZqR&!l0mnSME<*d+bGZdCLdl(ICuprg)ljmSYoxbjv+)dmlHhAoY_0ZmKZS_g* z9*U;Se5I_GiOSQclM{)Wp7Bl=Y)`#>EQE5?hMZ7>vdY>d^jL`sJ?^fr5K~@{ov|KX zi1aPHdG);1tdhx_A-aD~eRoH+cPMQw4wRqhAF2#I8Yxfx59^z)Bi1*h1;A6?V-_tD zHAwTp^WLcZa?c6Mz6bWYOlISFhVVWt?zQHR?itkIZ?7B^f?Sq^ntWJ9mbar*v&>~6 z?6CvZA{Nno=JaV6I(d?$`iJi_XI08WYwlbg>v0_J;yi2+|9xKSJ-UU21l&h-VPrCR z@l>~k?k}Ky7FcMRjFOJrZA{8LnTKoEm!|lY3H>VN+vS6Vu~n8^Enh=CO`s}vnMs%+ z(c7VBYTh!2+xm~vWaJ#ZN}DeT<)$t0c5f4vQ}O-@2|V~Ekh_)Vh=E0e#d)3{U@HF z>c_g{lRh7N>Bk3E8#d3S3N*)i(#^^sV4Jse=!`uA?*d=7vUm053Ij@MHFCI)ZR~F&JSm@yO1tLG=WmM?av^e za*AuxcY_x0T^3dZ!itKD^Bl5`_POt`SKf1%LOs}Dj%0eQfc5U!6htBz>u<;rY9WL| z|8}M>tE^Rwm(2;Ai^k=CB8HyrNMvuU6G$ykadkv6>6 zcZu~iva6_hc~4DdF6$Xz5qfmQlvTDNX<#dh(ABf1vC$I{8H%C8OmyC=$vjj^TipnQHk6P6qHMHcm7U8Ad=Tv z&6RdOwH^Xfl5=Tg=`ib}4c+YOqhzL0l){C!YExze1IYn%U?D;MVzh!{nzUM2}gVO77%0h?RHuES*PqHCxp)=5i5HMQ0dA&hYYn2FZ9fkYZlxNrf6EpE z-wePq8{>4Z4S<-WTVCejMsj%kH0^oD6f$w)&;w4@eZ5D$~gsK}gv`Uz5$Rc6#NNIY-phKbS4sW&3jii0rBH{vxpI%=cmTKb8}47!>cdApS* zs$gFHDr^}}y|kH(YzJ1ku;X)Gi*o+esn~;7-nk#wxA>3df1SSx_kmC4sdjZEuX@$j zm<+@0=f;?lj#Ky)RPtiB?XV#iUZ;mk_6ir)yKB^gCnM**M171za1Pa1yiShN^dgB}A9_lgd`!wRg43!R;P9=q#@i<&HCk_{v^!I#U!pveqBIvvvq? z2@*G#MA@*OK_p3JPe6*ZnY)1v3B#k~bMtT-&bF!=(Of_1mR<%DqOwcpc8E@PU ze-Nyd)D6EIJhZoaV=tN+lBY zOr8+(Ocv=>gXlol-YEbqlo|dZLJ}stkR~YDX+Y`n0sUMxR}!=;cA9bbBp6HfZ7`nr zsC;b7@Y>aggW&fd=e#YoPh!v*|CKAQB8yocy{SQRoN+^LS2j#&q{=qP*Ns`X4F=`uK$N*Dtgi;>Dj8UFzoDYfXY3w?-KGwoAB;PY#Qt+4zixc{cD53qoyUY7)9@r&N2*wZ zD`4?$dX4j5ggmtn=Y73$PwTG^x!=5;o9%Ic8HXk`R#UQlQXjn4-b>WHpyy4u<;@_R zHhaYI8t#=wN=*>4I|JQN7E+KrZLm%tm)m;<5=fppWAkoWI7%f-aAdJ%X(dhN2hBv8 zM81!hpZlnnF(qu;weCxML2&_^hQvq-Bp0D)M_F!)jDMNqZ=f5sR941|;nQo01 zXkI-BmaYQLRqu4D{g^Gg`99?p1fW_2GVlC6<`DHezw@%7RYl4LQeETnhdf<%HlgN( zX&QS}s1B_3MY(#eK9MG4^D1A&fx~{+YD5smd{~jgRz!cL*RY2GGM^?t=oGp0(W0bq z#l-mKjYSU5UWN&NwkpH!dCa!brDU()*SOL?d=nfkQxM@MKRKB+ND9+j2pN8MsDAS8 zauX7zr8GVUiBrWwlF7GMqL+({o<4ybW5JuQ_37nOj+L~d06JQ~*wWARwBfgGLs00w+aXDsroejsapGWRa0dS+kLaij}cLa`Q5*s z^Ir>^b%or{Y>Y}z7d$ci%2@YGw;o`?XWXnIkpymO!{1Ib>mRG+FbAL6NpNQ)|^2-KyCt1 zuJ^X});N}y#zwQK330OJ9ze!w8_4*G4;Nb+r*l?{t)3nfxc*8s+AQ~*#a9&`Wv?u1 zw}qxpuW81C#rZ1^^>k~1G`K70`5*rif{95;pt1Arw|Jc9l9A8nN#yswJ{8A?Z~T-A9s7ktH-aY!XG~d8#&lI`zs{-MiY(ooXn<~a ze!eXdo=hniwjH;(&kVU?5u-B`jFI1Rge+KH({5W%AVCeZ>;|4pvex>Bu2BM<^E-Ti zYFNNTuERp}2jR($zjf#bs>+T^*56HUqn-s~vF&!065v3yT*AX3)1iifPGHPRYp@i9r&Zdi7qaDw+yAs|IOeSCF z`qPFd1>kPW>pc0|_2w^omEDMOjx6=X_NatD=?hZFGrIB*N$!h^(nxEld@4= z?1%kF-ab!nEx8ed$ulaGCCsM_%e5)e<}5jhOYoc!T&_9d`1qJIAv?<`ZVOi+|>J1}}xeEac)vs}237IV+*w334OJ?_Q% zV}XEeHk+;m)K-$2c&s)=SSh2G&kjfcn`6Z;57f=hOyWB@ zHd&F)V{1W=U-iBFK!~HplAgR1#mUDJFlC^s8#XpSFSz?h@ z7G#9A-Ctx&uMD63ItNdv@7{m@KJ_h#z05gF6?Y{@$>-Z(&LW4q3zL^2%|kv<-}<&P z(&J}#Hir4p4vQ?X1zAc)w~y_9EAa0}_5D8eW3tzG)f=^Lx+r;l z8=SLmnaQ&s2pio+73)G(sDdz%&c%C)ZW#}LuP*bL|7eKpEFD?;>>5$8ApI(DrG_yR zV+T6}@8?Xu1KcMF%N=QB%((6cd`<1+i$HilSu^fp&d~uIb@JMVGGF!s|Gj{ekUq#j zG5LJw-OhVRT=|2$e-ryhTio$0d5ugq^0FpIv{JthIpR-ocSyX%mFE{vMb4 zPp%QY3VroC@)Q(3_Pi!L(<90=dFhOtOJAQ+$cnyPEoi#yz$on@kg}xh@4+Q%?ao!W zsQI@{=rY*N?iPWQ(z9iGQ|RQV5e8vszGzaP>H1S{Rh^kkDQii{?)TSQ=?D?$@w7!@(@47|*gy!`Meh$&97a)_ zcBa#A{Kb-HuaPyXnNR0yAbL4G2xD*Qe@&`&pu^H`Y>Mx8S!eG@43i#G?q(-mMM7et zp2qcMy8fb9c{7fD(AaG5t+7^Tf9^X_a)u(rQF&%F_0^#My-hRGk%2M?$w)|G=K`F> z+%3OwjdZYDx;Sb_zRYzH73&O+dW~zwg3GN{A>1JMhL7{K5)|{$sd+xfG*0&6adzEv zy8!R~84jGgJ8e3Tj{u2UZyrXz4mD5ApCQ6kxo(oi_V?JJcw}VAW)R3I=&7@!z5=uc zm@&=fc+qZYk<_mO@h_Qa7Mq_I1jc#5dmj^+Ha%9T_oMNXoHZo5Spb`2`Z;1^^)N51 zmAA9iZTPm#o>1SjuDVo)5m@w~e6zQXTJgFjE{VV=x^_PuSdv(|^(d5daq5JlhL8Ae zclQ9lMUs0P)O6@v9$9YO>{VFz5&1Ss710&q(^k|b{pNBbhb}d@SC#v1A!lKhi=}lp06~#0sPVH9??`^7d3+L^h z;z1a-AHsD!W>L!T=zI^Kwb7f|xiEA8N!#!4^g$(elc(aHQxs(r8V3w6P=^iN0YDev zI`-#Wuk8Dpr&uP233w;b_>5La^1JQ+2JnR*y1qcz%gr@g<5YP@N@W<2Gjf64I!J(D z|H#a+5nYH;4o9N4W@Y2bcab7Xb>7upRzsNKJ1TGVL!VFZ$U!EzpFhzlwtO?u?)M5s zE&`ro5aE*tWw-}~rtO2mQ+jBD>3B|77>^Hdi!{|23|>mna~IAjA*0Y`DHl?6vWl+4<+ua6JI z?=|a_-^N%V!ck$=KJ%adG@5ZfyPWq(+cU03QF5d3CPvO@k278Yg*~Cem-PC~Kh|^@ z+?s6G9yGUyKEd}tIXe|#qwdgE_~jDTh7|bC)5P%15E1O*bWhdxCH>0pi!J@kdJ|cg zGIXNpq!IcQk~@hpTA=!iR2?KA%jddVo>hWgmIY|yci?Dq@8;863eYZr-JH*L$k&Dl z-n}3XAnjNS)3MEaQx3ErM-EO*;dm$n>_hRvu|pT?!p&i(IWe24ljE;N;Zh^mbt(ZB zfS`vQhwJh48YVa7t9?#E*PLD{N_$O#!)O2jP$pP;t{HC*0;G*}3V(SNOA+?g41D&c zE^&Y8%Hr@_w)Ejtswd9c11R&g3e&ll_ckwrQn;I zkesaCCB~E!osDLiQwLD(zczXQ58el=Or+`|DH;_260McxkFbMN%7Mv`WZ~VPU=v>k za&BYXS(U?fKkHpX^gi(RE~4yNs&zp+R*j4FvHo%q7*(epv>m^B{bhf4raR1Ly77cI(ccKmTSoyPU-y%v}0314~h z?DLt$x3^<8)Homw<0}KqBRpqJ!_m4r^{y|&NQQcKZ84pUPisNa7k(+< zb_zOYnpNO)l|>#rkV6Z^G55kbO|zDXK5Ae85UZ=;AdmC(k{oJD^;84KQ6^6KG$yVu znJc0sjC8%4QY1GsYOO8ccg&MRi>_t%&ok20s`T;8%=x*Ax6FxP&8uzs2^o+Q^8|7- zgSvQ|&G{UMue3v(u7_J{F2w310-I14t|EB3rK0uHcL1Xug{aRiDfjZ_S*S7eM~xQ5 zxv(IgIStvmT!oE0%!!?b;!hr7oK)ErXHqC(yVVX8dFOw4l@#WDbl@%!a>J(%S8IF8 zfW&{VzJU<}HP2{>Gx?kAQi(w3oGM)t7J8_trEp(x+nvmKpS&5qbsklxU(iwCzivwB zGVxK2&<{4KcU$WP?$jDk+aP!0331~$Zy=!uZpMGD^Wid@+Co^TpD%Wujb=dB4H+S0A3Zva8zVEL7ABC+WX8_V%6OFc}c{Q@Gq72P(azIwQc* zfqSLcoriBi@X%5uRn`n1`#n5L$_v1sl3|Hz8~7N{lo`~U@oL4;D=s1@cR+<)_mTh? zHW=_L5dL!E=QK^oZ)VK_o5U$0zOWa+Q(h>37=R5vKM4B+X@3pAB#<&# z#?TTSO9g2NUrppUfbk>PhjjvH_!s(~Nt@3t$g!3NFzrdjs`GmzhTxplj*NPlO2;(4aQp5272qH@-9rU_9N; zsee=B@Q|zO+XbFT$)~tG?kc|C8VXTgk6ekOFzM_`)SpoO+5E2$V14-6ZG@Y|7NZ!i z(Go`J?4%KzBN-%e>pV8=r8t7;_$cx%#&az&yc)Bkr^>qt?S6n$yxXQY#ZKV`+t4tQcpz!??%LlpwtZkY z?lXT$_GZ9AyVjv_F3=$9G&|qN(s)PztsHx`kw+}<2?gak>bw%b_$odG*70KTxIac^ zmD4Q+$H$x8`X#CG32-l$7}OXO1BWh+9OkAlie(y8Hw@K=LVetcyTNEL%CS}S{i=$R z{ZI9pZIZ&WXPAQ1(A6&xkUS2?`nR4*dzRORrU2EsSr72_6dtRP28V;k-J0*{zuFxX8C?`7jefqghPu< zDv!p+T30wKj_S6?Os$)gwPv#lmzfG39aaV3kyqwzm#&ZP-f|w%9=f8MWc+dCpj(GNBa2Klq7t_-nza6w9-Rs3S9`S|hgJ%fFM&ACLO$d*@ zh7BpD$qKFF(R&Iq14q=r%I!v0LIEb~ul+Jp2gki_Z2*% z8p$k|ytWo*CxZt?2n$=b&nvI7lE+=d20|BzUg z#BZ9{!nh~6>dfR_vig3VdpLj-1=664l{j^1E=?Yz^0fS(FW|MV{&^dGbrfZlnR*rb z&KEreCWyC&B<=K>b)WgcZVJEP9>4rY9o27={Q9UG%AArXf zX+7)Tvjov=Ok6@jurn3=?L%&UgZx53MRt(;p4@|DD5A9-b3)NY6p7xK*#kn;}?K1~3je$FQ*6A2=&R zsrDOPZIPR7mqxoBi&nfci5376-}L<1rix8o-1Ggp-C-p0g}IL#+@`a|hO9x4hapE6 zvT+~=73hybQ@`UyNh}=JDUUaVaj%LHP6H(ik@?51r+n5}qVPqy*KGmM`}u=LKK&KMB3m}i{&X7IOIEK&GL{s4xZX0MV}8=;1i=0NV1|=ON4h z*0ylW-bVS-Xgn3z5BZDD4(99Dz+X5@XYs)Kw<_A~FcA`vTzU zav|xGVQ>6{+B?Ra7Ai5oSYu7(cfNbiJC65bkmk)ofKZK@t7_S%N%N>3j$E^G{vH_k zsLyV&R`a>4L8sh%(UswAyb|5$F+i)KRA{(@Tr3tla=yv{_IqKnyOh%GVX%oyQ za%7K^x$@$7EOZI+s%+c`JTCAN!@8*@dX1-+V+fT$kBqDZCH$gRYplKOH;FY5Ju@(4 zH&tkc@1I$|Mn@Jb3XcI9<81f%b3MwZ^5j!5-ofa9-Spc~mgoj#9_;t2v(}GYD;pi& zvQB{x-*9+p^|i**nb7aRlCd(|Z&Q1B72RsbMlU}2zr|m>+jg9ax{1`$Bfvd3G0QU5 z1VF{f)TjIVBAbvXns4~we9z^(L1xjjXMoXt>o9-KGFvv}L{jOA3CHdOAzN_rAWQrg z%F<)ePd+Fx2719_=>a>ztk0Va!-_1~qvBW9L#{{Yoa`o-0a)^Ai(hbm0eR_I&u@`AL_LmbeL(WI6iL?s3p- z1kiMSr?`$8ws90;@r-# zJ-nZ@OlqYpQi|8hs+ooP53Mr8n+Y5V`avb4FwZ zAYuVUL=E)!LUVQQF`s0pQ`r89V>?$@(BgrWFD?8=(`qbT01=Gg(5HMlkT!FF$gWtQ zmoeb(c3RHO>%Ajf8gXO1Xd30$E=DW3R{F2)*Sq-$&|CM#l$4ZoqZJ>&V1&&Loa1@3 zcE$fLfek7F>PU6Wz!RNS;tc6NNpw-_#=+I)ocSO;9g8NXa<4G zHX3B3pL9ws!=PV~UT!;!!gyTrH7{+K_Fvb!bUrxgZzZ({z#q`IWbcYky-gdoH^N`W zC?LMUf8Hl8(X>5ZE$z+>l@vsR(n892-GeRd$gj(UDSMeK_S()?sD zO4EMx+XC9m%gmzP%PbR>c)WKR)EOTQkk7BeQxFj28a2U}(mT!z-{f+D`pH3wRY4k0 z)BpSrIKyQo* z9G4kLkJQt6>%?~FE9HQyZwhs>0NL7X_uG$UwtASld?J!?x~ZTiy0@p;{G~c|t-N{g z9#$p}TSycU{27%GSeHoR+h3pJSQjb&h@*t4mC#5rs1O8)u>1g`TkmX6sPsnkP-=a& zQFLPM3yc{b|BYeo@(s;er82Yxtq^3dmN81bv+F0ZK$*LEQc@p(g7tjTUT`M_>S3Pa z>C#QMfB59l%5kaROlTGwA;$QrBw*H7TFND%GEdL+RFQnx(^a597Mb*@;c`7DFc9}>`o@#X5D#uL%r`A+B3Sa z6Ws#-B-sjGj~_!X@OwvYiL;aLRD3jA@~>>ZS4Tb&`^bK=rsY0GfYzqT+87}<-HV}; zbld0Ta#9~cyAo7>WEqD_?JmCfQmVt#JkO8+h%yKRp`sY*f}v0YPV3(VLJ858+S5A2 zGFFO$_k)lZRHUeIm=as^?mUn7g0Q%GGP;c-@9;MVyoSrrxJE8lyn*2)BW^EGJx2?) zIxuMJ17R=XZosSV2(+qqc3Q30MDB&X%;&|_U8BTzp=*FhO;X%*GQ4vsAJn}{AV7eF z8FX3uzCpv1fj~r(zgiWS7h2W)%ckNHf4t;|3^3_Cj(SgAJY5!R-UgnO?%HpB;^r|~ zJ^sLy8B_jFJl1D&t--wWZ2)QUXrhab&5XP>g`?o?s0g7hJ4b&U`B;eu)@xHradYzQ zJTG&>wWa9jbdNZfYYN8%Rf}i^w!_qju3Cwju(Rd7PJarQc%9rXy>s^|U=n+8I^@*F z_bQiNp{hbFb z9gkqgMUAt0o+JZ6-8xOW&&ht+{+bX=W+%n#tkOAzT~JDn(zT;eC_SG;wwegc_VwPXQu|I!Pnb<)&rj|KzS;1p(NJmJGlM8hZF#Vl4r z96bt-L6egzK!jX<#MN>4^f*eovlr-v2)bL*%{2%-F-^*nI%d&Z&hf+9A&x8y%Z&po z2guo8QT{OA%6x^tf%3}xco0HslSp56n%sXm;!|w=62^XS^rD4TN-Nx$;YGgfuZxk8 zD``$wYE=`0Fqo2_?~|wx(;kXU$)n1=FN!PwsAoY|;7yq&6;a@i5G!*1a?24$KiQ9%vJT;hEgw9iSKWy^T!ZXHte+ zUg&D~4kjgM&vglyP^fO(0-gq4!Wfwi6f|MAJfOb*cVR%%e;Q)ZUdF>CF!#;Q&nry5 z_Dz{bV){p*HQ~T66X;Nu@M9Sm0gXoCUSlQNFZTXCBH)jp=vF1DM%k;nff~Tg_KwQ< zgRJ$K+yQh5iDlc`0u^LBO|ZyDWJC<^R_Xlc9gItB1FeO2N*X~Jei)7iB+8S^O0@#3 zLt-4BkOHl;oLmAlk-D`v!Rumq-!XkD0BYi@QlduvW+}_{-^4dnUO$0+0s=d>?694r zwbO*^5=b=YCRnqZUOTIqe%?%1-#jEYmai$<(TRol?oSqvgE6xPbX#aX6Z8}Gm%a8& zDg(_-Wk3-{kss)g3{oIrlzwEgfW~4P)BS$ej<8Mm-bA)M1>w=%aJ^Z+f7W=#cQKol z0B5L}B3|z4lz~i%?1MZ}Sl@}>gwt)(&jgx6JC&5pqB;#g9dmfnbI z1fF-^UwQ`KbD~rJ-6TSr0H?w%jInwTD6CvwkI?FW7jab$$R*278a6qywRo5*6KjD zHop?l5l%{Ce?LPdg$7**gFY~xLZChq2)qo#SFRA)z0Y*bh(mPqLMlfT^eE~TrI^AE zs?C3Jf1(LvP@`vx?v2@>P-nUr28m&P?E%crZ{^2zGU$<@lVLEQS-MmD^3Wby>AgRb zmntAluG?rUB$o^wniXt8^0@gNUQ6FgwopL&;soyVCWJx8ax4_iTPxm@&A z;(D4iCuM(~er%7?Y$MLQ&^3>t0>l?v=3bWFr0jB8eU~y3-KAxHjAzU6y9!YuqX5mjWJ#PJAt$O?*{Eu27@s`AKgBwJbmCVg~jE_K7md( z*+`TXA3(X&t+oKCS&i^*);OHgh9J2-GQBknijo_U!{RV;XyTeVrq@aZc5nWq0JI@ug1N)&`1dnR zf_$HrJ<;T*Q0cX!_YH8+5Cu)5E1>P0L)|ay04gd^V~HDl0T1NIyg(9rJSG!`$u7)% zz-ls^V-?}>Kd*dPNCos%51VC_JSV^*WC8z%bnZ^&#m?`5&~z{%*LRH@2uZ(D`T&{f zZqs#;=Rnrf%h|5&j2B6hh3~|(q*DCW!SBGnw?+QHOT&EH)qXuT0|AjnpX|fKZ_e}H z7=U)2bq3KAGR+C#M0qk1_++WpAC)iwDwl!O)DX0&b_3@?5@16DHm~3RA}F#_2AM8c zl=xy-Vg2KA;s3qvIS-S#0SysJSOA`l4CUIWbW22h|0!IQ)!a25id1bfcZ6E?yhL|; zy6C@EC~kJSu^FEM@#|EQF_L=!tnJa076(T4e#-w@bGxcAGbDs$=;`(gSGjmbrRJjn z>uI34bF-{BYAXXwSJKmh6<8UUz&)b;n!#dOj_~FJwa+>ljdyq}yx7(!0NJo!Di1md z4^~b-|K}q&RlukXgEhsS+`Ls5X>^^c()+H09jV%C$FoPfMat~VYOcTeYV1yIHP*CQ zUGhWh9!%=ZE7`??PPMx2soF|Ur|&{8>3%@%7Z2!;ICx1CywnPDMeLqW;~lh&%h6Ms zNCq*H1Jr5%y94g0x$S-cvgny0;Q-sA&pgF4vj z1I91E(hyz`dSxxE(-EtN;a14QUGn`}AmE`*jay?E1K48R+Q9bh6Oy@hUx1?A+SUCz zDzN}c9^rvZV}8R~6L=Ws|225^n#>U?XkHGmcan*9RS%6Uhm`mB7G2vN&Kd88Ob_^2 zn0Kv7=jpc@%oFvI^#EdCbZ)+$B*T~y$gv<9E-kd-2cw00Z0kJM`uwYkKNZI5KzaH< zCru$7SrkrBOOr$b{qxGEtGQbSARW9O;ORT=VAbgFB*pR{@l+uE$oo(^9&y4tBZ{7cp%nEev|WYv4HcJ%;G&cBEPIuL6v_kKZ6Lze6(j{mc4E09#x^4QPdc^?`1?nJ(*1R~Hs^fUei#mOpFLJ(GJtqRunC>hd_F!(@1q!`aZcf8NLj)S>u^;uY>5k`XSRO7sw)>vQBk;*i z20SMQ&1{d5@6SlY!+*(~14Ys7Y#Y^t_j6{-IEtyJb(fjVQlskh&G)!V&!FzaGqt1* zF2bLKjG+B?o9jgXyO$ZlZ;LGzPab)7MCkD9#YxL`aYf<1@e>I91|z8jk_YN=Q9`P+ z-I5@@%w0aX?7aWLk~mHmS0{lgj>9QtNbG%J#1F=?dBr)2;0`H#jlus5 zpDs5`U4N!l3j{jnd75**mw>;cZhRNE2aqs(8{A*7{-q!t1#|x;!|yv_QXryMUpIa-u?a~Vbop{ zc>9sIrvlsFD7CPbq0R;)c_Iz^z0^AlS>?f1!0v+dmT|HC^OK5*a!Y3082Ww8jW^T zQWn#qG%Gq<)BX4FsuVpY3f}o??)3i0rYLV--Wz81>9!CyzP;kh4lZ9JCGGmYsxX65 zlA^TF21(`;l`SMdw!nJ1o@eE*(DT`mlA6lXsD9IY-8jXif`X?$t@W2(aaSHn(MC_3 z72V^~YQ*~zeI#nYfb(%>5HCbA=eVTQhmf3#do#T_OD>z{^5QdCDMC(W2SOC_MVtq{ zEy@5B0r#1ES$6}A~BCfz=UL4_?PovWACtp^KNoyjZWWm{O+AmxheDX<7YD~ zO0$YeHjxj%Y72@E%p@;=*;FgQ6*|{VawzmRwN#(PsxO=LhgOWz{Jy?RTULmOZKZpc zPoKqqW3zvIQ%Vt%)z3EN-uzW=f+bW@UPX21=(-kuQJ+)c^|SGxo2GXdrqzd|F30~B z8-_I(~{y_^451-C*&J^*e}_a6uJ`f2$GV*?2X5#G+FaC$|0y97cV~4cupRL6Kvd z`!BD)QyVx9w_|0(`n!+}MoUdYXI0pbTU&U0Je|~ll6?4 z)6yTC?`e6(1??&~C6zNrz=a!E9C}vVj4cZO?}R^R7{pp#jF}!#@Q zs(AeO7k#V7s3GAl>|sttZ01R@D`87#DaKcCuQjK;i;=y5Rm9pc7aw=ouRFNOz`)Ry zSvmWB-2G-pZm=nJhHbHhx>?bx#O?bb4<5pm|Jzn@K~d4{7zq*~UO=3@UUN3#G}2u` zgd2Lp?i^|60K;7nyJ&Rf{_l!EJLcvEdd+j2zwo`++t-nM_>2@cm2J$rSZz2<*2pm2 zfqYG(g7$L7#?dmg)eaPgbW6Fi)Vz!rSx$xT#;zv?jE(*On7Zn)Ccn2oBo!nS2}wl} z15vs|1yrO<%87u)9NjIgl1fMkf^+&DZ^E~I= z`MK-N`UsD1pt{r|b!3+EQ01g20}_@Wc+3A)g-o7*WEbJ@?jctay_KvHGRo}%Yw)a% z$oR)DLYByX`Wo~yeEb;^6{uNC?k8hby-c34hsz+__0$`%wlYr$Zd?f;W<9FGWs%y z6^Q{R9X%ck)0h8v&38UelX4=-L_YL4s#woWS6}ZaNRMoy)ypJxzR6DR4L$cOM~;!e ze?rtH4`?(!ZndM7J3wLBP*^GXag=l-;X%uOB>~wWHpoY&JZ%kZgO%zDyVHZNXEj<> z7;=1_Ul*FsWf&P5sq1%?$7fZ#1Q2|EbJppbJ!kyFhyJ(s2f8{s-mT(#CDN(E(EUm^ z*hnf9>Epn8aXG;WPG$?nfPxWcv%=~By`M~1Uw>urM=d26tMX1>Ufv!rKY1)CLNgS< zw#Cd7L{(dS2KX}j>j3R(?{H9zIEZv@XMz(i(Tus8lk z8HLKq$ydo?Io=7Qkgj)_w%xl*G919XU=05mBEEBj%L18X#_%Xn!=lHkS2IRnZKVPh zU6&xHRz=0{7`d$~ryPd4{&%>uF4$U3Z?WECxL(?yr5|`>m<#k4)8y;;Q}nTZ$fcDu zInD^6-oRGl{^?8qTN@ax+JzlPmpMYM>iU~?r*sr8ZAc^kw7BYar0AJu-)AuVoqrp$ z^5C$sc`<{SxOl<-(vZNRTtfdV$eB6u-c_Z^U1cMU@!Fbvn`*B9|LlxB^+VthYa;hQ zI1FdgbGYU0&{@eqG+EkZ@56S|fGQfb<<9@JVd;C$cNX2`gp^eI(py)Z^b3}SFZt)5 zd(#EADdJU1>9W$2=3ILK`%iBfIs!5`VJ1Xh=sN0S6@KVtcuwAFU_#PRNm!AJLDsR- zhv}aI2|_e~9P@(}y;NFC#}A9^2_%7~LT%pdBe*5LOnT!Y&h0)2%74aD9#RPyQ)^pa za2MS}#o?6pceg2gl&t^#m#rDOnZkF#uhfS8lh-8fA;wN;PNf36Gb>^EmJ(%-_VHA( z__5?)R4Q9WQE<9modbqG=|9i%Fd-?s!)nJqsJD7IToW}I3z-ODD|uoA=Z_GLi*cz- zp|<`{u%9QxCB-ARoH9qs$z8wstRe~@WNan~U-hqg8SdlqLz61)Zih{Z*^h${W#U({8s&5p(o`Z`2)({w4miL= z`YslK)U6aCKOe(fKKV87-X(AKj;;*?WICSPaKl`Bb8&}lbjN_2^c^_i}kvV z;c05!5I$WaB@-WZplL2?nEc28^bz8JF6N=mkru#S3whz}1DGn?ff0HI8NpOI!y;_!KU2YYA<@%Hg>vlOS;-1nr%IXdQ4;@y@Y0e<*)s~$ ztWoV!1OI7-l~dVL>41$pPpUy08+=CLCW*YSq5e^?73?u!lu*%#+`m^=#Fb?84Wjd; zISjbOBP%I;$RW+&BGIPoJ6c5dpH*yBL-%i&dOSmntY#w@;SF5r=P~DtMnozuLV~3F zY~Z^Q(s40*X6)^I4E!fp*q`Yt5L-ivOOnO1BNMeT@udFi>^XxX6G$l;alIA%hp@#aLkG4qU=MJ3Kt{?4f7lmDFsee#kM*VLGFHOV8kuJKxkTl(Q z)q#sD6|GIUAX2RrAz{3nQGV5L$kF!;L!Z+X9$V4>b`o&)LnlXsCJ*&e`os!?g0)Eg z<|+9thiP{$7|h`deY0k=u`&m6TF2&|yD&0xe#N%J&_up{n7Qp~ln&9Iyd?7nV+NAy z*&*-5&zXjd#=ZR~0na+k9i_|)n=Tf~@}={j&+8Xp{@exD(#oI;PG}KFkLGH#vYPGw zlg55NgS7AB=w;)iL@90h1(I|Z*7I^5R$huf=uJ~Gxvl^7Q+W6o7#SAbGEcgk z=r`$*Lio%|l8$9*uNB-6=(2fn+4L~!-#$VgT*hf3BqNz-9iYJYCUu zUtY^Bx_(LWLu2f61Uu34kosqg4v6cSY?H^0jG?=_()v?Q9HqsT3!LKU*Z!#w)2xeZ z-~D_sll=#h-jITdbFK8e^CE2hQ$bPre{$z981uw+LKEio+&?liDjcZxI}&;Pf+X(I zQO!X_81;=lF(Q0F;Yn;GEfE?6pQn^_-Er6xQOS{X1~O5NM!z+wsImE~LBwg#T{ z?na>11qh!BfLh^tgf{>fpW z$hH9_b(E$Ioch|matI{px8x{^Qo)~?dt{lTY-S^a|EZ|rmBf{b%+b*v)>MgP?RS^h z>e%?nARWpu7Y{&LY+dE(g`eB?R~{zp`261ZYbV}yOyqRqj)3+$wjw=|fy6CWqPNl} zfo#Umx@KY@G29OV$hCW7zlO!kb zo}VAn9|(Z>^Ho%-t(ROcQDlF!p6kbtK@Q@REcw$zGB5X{I*uj9-?bnk<2M_*8b|4P z$ys6~p+^RJa8>(|1)w9zxR@smh)PVcRQ0eg@b?tc%DixiBEEchEWZ8uE1-#HhZQZOw3& zks*yOb2YEH7#SQ-2B~1wH?m{}_7Zr4opisR!JZl@(O?it<)}+@x3KIdu2^IH*hl5Q z1E7kjj4x|+bOx9-d01|7@xdEEEGwJG4W9P=Ev{lSCu~ANkx|PlD9nXZ`6Oy*ETC=s z$aPU!^`=$Q<)TljfV@czkp78^s@<)U`|3*63@fO^c8Pq}-D~C$JGc3VC!~5YbP0r* zSp(?AQ#sd@z6&ctfZu1wYhk~f!ctM+DDcY9Uzt%tG8a9gt%k$ks;WI=5^qmr(2DOE z5Sz$f>uwiB2?P7V$JC~CR8lZvqM0MO$u<9$4?j241SM(y=^n{_{0!fjykHL1gY@+w zMgy3MzV0C4=ZghNw0)wMfMMA4qG*`;rAfquAbF&>cxdKH4r{_#QSqmkagk>TKs1_e zu0(uL!3jwp1NJns5kRDoDl9Yz>G~RT2Shrz*(Hv@)Sn%Gcakl$muBqq#;4KIJm8|z zWd>@s_7GoLfrijk=%Iqgiwlb0QBRH9oZgjiJUJ7;i*Q@nrn>f*PcgmBNz{=3XRMi# zyD)74gWjEsth9{AN1FVwlkdMi{Ouar>!b#KgZC9_nFsH80aL%pMq4lwS7!A zE}~F`YK(I(%8j~h+Nu{A1lzSrzT=@d{?bG&85M}5BJ{Z6%N1iQi08@I}d>g<~JL@t_p7l;+FC1K5Qg0^CW#VVGM_3iDGs`n|0tKc%<55I*ss->GIQZ zj-0`soxg&PeN8Dqw)Wy@Fwi zJi(1&4}4Q|D}6Es(0TmYbPZU7PplTYy#n007U4AgR~7_=JRwv9FV*%?ghO@Bz|*Xk zni)<$5WE!q@Q1HWMN&-W(40yp_5vB`xnDrpV19>bpYfI9$ z*g1~r7p)J%jb`!Dt4amxq|Vays_#f3^eF%?9_?%;hH(%ID)b0p?3~^gxWoVC9zWrq z{U7R=p$9#CGeonHO$y;=pMTnr^m&UwNV+O-zak`l`FJt+yC(*-AiQm}c1+4(w`hWD zYj3F<(nI{$jrDbHidJFq5bhUOe{YZ}pFluwei7A}Qh_)TntQIo-nJD!lt3Nig^SI& zFi?H5DhL0sQ!{b2>?iku^j`v*w_z)h0)N^NV5$>-Z@6Cry6V3~1f3Vn&RWewOleLo z2J{!?9b&Apm0nKzI>eZTRxukM(ycl)0#TCxVpb)31q$P`Er2wS;Fj4>grh6^iT0Pu z+IoNMxAnt5>@Kh}?Hmqb;A0qh>%|Jxi7?Itl4kL9fH~lghAa{KZ=Le%`DP$_2UxUh zVC$?nbam?vzc=9`Z2}>4j|{npEBysQ{2>upsoXroXuYE&%}F>5LIQbAbWDJtV)|WN zqv0g!A#4LyB)$KfQTf;&`k&)%em$CBH-HWVw&h|ouq_bb5~A}NEqxnghQ&&v&COPj z#Z|VuB@NVvu(fQ_XW||(fBPHC$B@ncTvqIU{D6(elJ(mPPkmx=2pG_E<=kjVrJmOw zV(5H?*^Z!6gj=QIEYwVl>ApDq!j?Z~f>!xhmi-5Z23TO#fNnL0{ANjjuV>7FWA~Hs z`J75dwx`5(>rdFR=xV$$@477ZtVTUdEkHdYGvtmc1Mp7+hN`!M`?-t4FLuTplQzA= z`5}K*2k{gY;s{;kSY!LIS>`4bktbQ(t3O!EKMaf>s;X*V(LSehednejHE5qj7%NBc zjjVq!5jeNuo{~vJq^11wak7n&Mc7CIP#R`MG;mfRt&}lf*mG-cT^{WaDM(xh$;t}6 zyC`K?uoYg4Vu3fWa97GV#=tJ?PvDAlX%+_&Z)9vi=|B+S^gJ!mxap^^DmX|c_p zX86ZX5yQ zC-JweQ-H2*b@V-6gQ%lsh5PmR(mx1|)9n)M8)fnM{B1 zzd<rx_z~0m%WrS=y=PD++AxSb>)?d!ty$(!wj{5~ zv)R`@#ikNi@IG0?Q4*fuaGa8w*WW^33ta+BHS{=0MknN<7sGu_oouU#DC8(1+Lzqh zV{b|vtrp1+ffOAkzNXcAds&`a9y|c)3K&Hvr9+uOPz2BJag7#Xs;FXSUeEeN?U#nS zXy*ERi3HMLyCj{(_ZC9r7au7I;BNn54yH>sOAc1oj?Gt(D5W6g)WwOLk(E@t4&DtG zLc07%Z5-DHPLIZRaL~4`n1{=J_p9%@)Rf+VopCV1&_`Z`K;WTj+HW(ch*J^%=W;52 z%yR{(lv3GDojA^&#vq8PzrQawv!Lo-!piI-5XgjHG;FsCX{@5DBX#4Lnvg{3Q5yBu zPi}^&cIt68qGPhHcjO}6Mc$mH?zC*vG=tgLGz^uypjw-pp!Ty}1= zUk6=nbf5~xz)8;y_5r#25QhI4&`98c zH902}@hmSpY>k(bK;86`=#3)*<$p%4`)70sNxQ>awNIY9?wInpdfl`gw;UtM8b00_ zv;1E6ZluozWlD%YF7RY^^d!Ua_OtdB{q&l*;xEFgUycO>2$;s2skYH1zrBq))9&Dk z>VQD{S7o&U<#iH6C{N!1#(@L>g^KzU{0lh=9|1#Fi2tSnIA+j)?>fCMmrnQg4*I(jhs$PsDEg_zWK$g70c-W1 z7R>89H76-VgOiGm@9nz(vG`h{*xU2poMZPE*_7A6@}U!Jth}>MIC{oYjUOy&w|0O) z9&`Oa=3oikhph~)fy^IH(lJc4RYWZf(4&N;FUUdvpFH(H%No5BCXW7Y1$#?C<@;9? zh6$(oqri=?=@o#HIvydE{5otWlCEcNFuHp{_j^saHFQt?{`BZrgS8L%GTZT&g`FDO z6E6VCuxb$4X`P(CPY4AW87ty~BPWWJC3dV{w3hl{O?vQEc37Y2-|vJPVEZd%fypMa zlZwvpcj&_u6QHsF@q~L#Uv~mYMKXz{DdG}~4Fe(km@%?^bZ4LJcv?g5Tu z>9lK(h@tz;^P zW$}81j#5O?o1cw+17wi&Z$wgCN6A|iTo3>6Xd73Nn(7t!_1S`?pTs2{a&APnjhvzu zbaEv+)+9W2y%|*Faxkj07WN zADJ~&ix#Dmezb9`v`5BPAaIYa9R#0zhq4&P@zk^V^{tdwyNgSwAR6_LWu!ZFz1Bvi z*@QCEcKgIe`>(44yK!7;S0w!O@i-kqnat6?CjmlM|BNFVE!Vl`QOQ4FnmkMDzr{vc z1F1iG^`HQ@t+9eEFi?H^n+rE_^<@J4pjvC->U4gCOdUelz(lgnBW=?98W*+!zi%U% z1Ip3I1?lu}M7(oIhk(XDwo0#TcnWig0FZ#)1eh_X*IBw}zN>HKcYWp(e{|-0&Hpz4UI5c3S-}xPzE)$XDyo#aTx+8rc^Lx19&9~i4W`se zerCML@pa~zL6q25RBM2~Y7=keuN3uzuc zC!)`@9^+~9gi-`B^H^*do0(nApe8>|nl@M~_xnD{xYexIVtfa3)YGQXX!JSXtJm{CVphugq-_a@INaMT+A+TwKQ6}( zF0MUTR3=4=4{ltU(w+9SM^h(W4e7TjyYPw(B9GUJoO?Zdgy$XNToX{{)asxA<+EO_ zv;K8W*2{CcPR}bd1c7RZTEUyRg>U!D;2GD}TWPm_(^h`F6pQBhyg&SgOY(Df;{3SO zaEQ)-32POD8qBGFgMV{tuF3HTJ+k&I$u8fZm7JwRo^Iz@KFc-HZnU*s-!b`A+AqoN z{-G}NuAj`5ls%zAYjUjIE5dE*65h*C3M;-Af0wkuES&WUXu3iiPP0S3&Npq8v1L~W|>pNvUZyy zvJJ-eX_I%xM;q;8KX!@I-OG7x#RX#+XH!ysZZld;ujRYvOfHyWeOfmE0{oDIZnynF&C(f6h#T{R|ru6mE{+YMSb zA=c_dYWNXjND=*K(T3+QzcP|7UGiP~W@bYwlM@8<(uX=U?hcl#+=I_AXO%ackCMBw z{?PFB!!PABD^4Eh4TC)StNj~$^NmP&HO+Ot2hq>DXYR&4ULF6LENFd;s1fq_11Zk# z+s-ul&=r-Ga4jIf53^|L)bV=|Xy5Oa*Oy4tkw7$zKUOUjypLQ?pKGowDZ%y1p@vi7 zBTwDGnjW58%bk$BAe{BZxeA3z@4diTf3)eicHpE=UCGaSm;R;mckFyf_Nmuj`yNU5 zCfxSr?iV$`3u8@WaAi9!w%YU25tfV6inG6GhpI1E-#|`OT<#ZLsQhr#xl4Zs0aYWa zLzfW{?Isg_eYeLxK8MDV#@F-BVa4@*e-3*MfO@qAR#DM$esnb&oqrT++rJL($a)r0 zrCYo%-*P7LEiVFVkjXGM|5kXx-29!QHa}T?o624f5_xjll>g(wlWYZwomPqn0*cE|8=D_G0*yqW5n}l zl;c5ZW#0RkD}tVvw_F9MHKOl4m=Hi5{&8pDKm}^G=d^2vW@lgM+A%i2m=&T;BcjJ_ zVy~15=hcRCOwWHEhF#Tvx*0`%G+NveD45^ldzc1gJ1|^Dv=Z|Knr0DZ&==tiC3hD? zjp4uoXf*jA9z6wwPzHoRITr#jKaARJOxTsPRDeK$ue~YlzLRxLJ9R!W>Kcrm>@=Mc z4fexGv%uB})Nx>@p%!y{D;w$LG-_tW#Z=x0H^QkczVKJxHH> z?R-n@0DmFj(|nP!s2EnZr2eb0NLEatN_0&TFeZ7OuEs|{3R6<|^`E(Zs`lJ#wXTlS zJioR0Wbl$j2-P&RAswK)~ zhI{K{*RYl&yZMiYi^JNxPgqh#uyL`4x&yi$)g&w27(vs=;hVIbfvdcX?SA4@Q2W_Aoz(v#Yi!+||m4?VJwL zc?=@Xj%D&zDk&CEc4rKqdoEmmDC;-Y>gCuO=#kUdMRVW0EAy9s_T1(1LFgTrX+iF`J6~v!nABXjN30UnZse1iwSMH9Z@9eG9#IrdCQ=U6> z%hNo`ZGIM`rA_w7(|6M@Vp>i}dd#q)xbaT^y_%df&sP(NI3!41&P#MO_9Z!3j=EaB zM&6lwec&nEQT54SByaSx=ar`&^;nbYs1Ecn zUD;U)WFo$r*G%}w==+$an?VJD&riLwIgDMm)GA z&6id72{EyXsjX_&Jq^*Q0tVA_7=dVdNO^tas6YVTU$&ExA|MVb8uIS_Pu-)Z%2m(_ ze^qtOOch#*z(G_3u2#H0+rdMtcKAZ(VW{__^!|BUHcoU+nn&A)^)9%mBQS*0PuhO% zJN4e8XK~pY?9-ouA2j|IicB1?`Q8z zBC7QkE98xCI(g=J4~bZe`uifxBffWtyj7gwbJ~6sy>1QLDX4qDp6(qGR2QK+Vw?)V zYNmRcY#joDQ2%^CHX}D$M6s7E1yoqLrLEqm)dJJo<>k`);j`p$)@lRnN%~>D=Bcx5 z*M>%emVYI@4~`P578nvBKTWrQST(KM+3)TyXCiC#a3&N^b}qdMsb-ZZl-<4?7yMdC z+0i^g`kR^gC{-}`XVrdBfM^WhyiJ>Ql_4R7{Z5)ZbN+YULju!c9>%%Y4nE4$yi{~u zc`J35dZ{&!Ng$66fh{kwUZ!n3I<#94p=Di&V0XwA!)3=HzrQA}->61D(1aUS$5};i zxoM+)c-O={W;*dDSu^vFoO7>0z6nTI+^rBP^Y4`sIbEI1oE_3TcJ-Ui;6TClY{=c; z)O|FEQx-{SGPQ2KQbmAC@=CHn)1Ow%wDI+}BLUyFPl@Oz4*l)eCrPaKc-8DL`|A&?+S(*l4ta5G|whJNxb{%uUkwC6ZGVigtEyndt&G5_X} zPS;oHgDO2-Fly%(lFlt2{G9!B+>mH+aN?ot_0SI-tEa_~OD}$?j_^3Gc23Ovx`T>{ z=+++6w&3hL+{HJDy)&LDV&2$()!LfiYf_>zh1CLZRv4smh zH`kyZTw>Z`U)6dAQY?t#MpgUVakz_yu6NICU1G!H^-Rcasylu?0QVWC%bYFKTZuT} zv2$O~3EbtkGNR^6Ogg%`S3I(;eK&$F3AaYMQmwBr8IzX~z&<2p+fdqx$d>NADIg_Q z`OR_c&fHYF`XjGGmD~GuVt%U)pH-@6hVKm#zRlW!a~xJCFb==GPl@A|=G%1~mIECK zCgF&42;DfXcnhDXn>Qipnuq&4Qu&RIM?-uZL1GcCF=+d#zb%52&#&h{c#Q1ZY>eM^ z`vIBLmguvuA_qz2bp967#J7A)J{CXjx8i$~W%AN}I*em?f4}Sf#m1R((cWS1SC@#K zUn>Ji;yac!`>7amxU$ksb5+0LhbY3B=3xW+#x)I8e)ydl^yZcp58Gx$eYDz9{L*X> zd+KKOP^1ce*EF!?W^T_FZfo^9g_@N6A37IYL4l}keq#nC11*4ib-poqhHn|2hmAG=SWWTnu+0ALPOYk8!F98 zxI>(fqD^f(**mg4*LD8gs@--KxHxj-w)EQe_e%l8#88dsG9qNNoj0o=xDyfT7r3(I z-WLBojxU^_T*T%Sq~eH4#t5U(Zxfs^D-J!kf~mmOCiy0lEBmG^Gh$VC#d_2S$<7N) zq>w5KN;7IKS&DZb2XbHJ-Lg(ruHa3NnQpw?J^wrL*Y~1bF74TrwxXQUEIxa^a1-K~wNa{4*!qd(bkq{#zR3EmEy)F*c$jNI5Kc_p4!r!-+XE~iIQ>^I+jF9#4(tU zUAdumqAm?x@3aa|RzgM_zPntbtlEnxxrII$3s@c>VoLoe3m=$vi+mM>=(k`_i>peN zZ4lsJa#&3iPg+lB>}ys^{auX^>Y=|}Us&n#0)};Sart@sHLg4N9jHocWP9RP_F8Le zYe#}_1^n86z^M2qsW&(JXWSp@D=3~`P`9S%WYl)I2OueH+O5MMMm-Taq$a_Ob=co+ zkhF8>&g9(e*-I-h*F=Rxm4lco`w;K*q20pemzeSSOIG}z=7#%>*V=GItUOrii67BL zrcm;}R6SqeawhZFWOuAe&)rmw#@f$E`7aHk?nO$?DddGxjZVCzVp!~yB;#*r0)>;w zbkJNdO2Tdm;kysSTBy}^Q}x?ClimE5$}(RT-wn%#gM+eRj|_hXDj|uRq`*mQJeg|- zzXT<-DM@w?av(c?73+{a?WKZTm$#Yj+WTDX_QwL1CDWE@$)4tBnAyf8X`63;<8w%q z130HB#sTB96U=%k6x*=THDp~Kb0=pGz97rLaq<29h`kgDyi(3cw#fEgzjhe6o=)>E zQgWPSM{5D}qKJ)G9lm2~^gXyXb~IMPb{=mRc^eWN)98aovQ#O(yRM@G-WTKBIu=O}vK^)mco5tS9?n}(k? zu_iPU8ao3dcPxGcgx?-BgvHCH;J^SZf5$`utG4ag%7}zdCckyBvbO|o4uIy6k`9sp zO)j?f#)_ZCTuKpirMFv+X>USe-vBY$YIQ~Pe-sO()qI^*Woy+9F|LJNLf%d{qOLFZnmMb0KUuFlaQA zZsIi&C>>Fjv@b(|7HD;PJm|f4Nr|go0Clr>g2<8z7xz0(`&a|~ZEYL~bvJp}c7J5x zwVmcI)x53@?F9jVm$0ram)tkMAn!HbuiuxG|?8<*cLjCD}GH*Sw#PiMbRhFSBSY~&DmU|)IBJbX{B-1vUD zkM$V#+V40M@g#`G3t*gTv_VL*nV#x)Ka>WC^o3vGNMlqKQR&<>Uy4>R1?9kmEhbAl zqBENil#Z^Qof;~`5uzwpQ_sRNsY0uhhvUK@c-hOpU z;m6-(%A9*|eodx<#0+oR5HU|PqPv{BD%cZ!OERTKqujYdz}>3M%{fZW5}t!wmlLg} z4Vt>Pg-b1n5Xy38t3h9G?IoV4WU{y#kj`1$jw$5p7BT z=-g|vQ+|@-yCv-wuYa3G$xcbl51TdcM2U-I^w*6r`Q3fp<eEu>$*6=PX4vqkQQt$)KjrF<~KT*S+KC-~gV z2qayH7&Nn1l&^;P9@c|EZfM|4-l#tZO&5@Kzu5!2p%^(YSLa8Ea z%e$)ljQU-EJPl>40>28ROb?l;IXc7>z5-kcRggl*%g83ss=duHtRQZ8ySZsWx@{a( z6hS74hE6M!59%?&Ci&H^7aE7kzfX%4sC;?vtJ;Br1T*uq@`E{@Yfeas{s^pz!?FZ< zCB}?8J4Z>KED19ek&`X@et^YvqDXyB1>j1KZ`zI}=7?c|ovd=%CD$wIHTd2bB*=@B z!tVzp9_{F71%%$gUY$$?;Con>V!Tb}ypo>}w1rgI^R`=|%7H6^&oS)z3Jf%Rk5~D_ zI@?;REJqx-A?X|i1qEyz6(4MoQ`XL}v=~QjTty|*XVNJ-iGnK4VF+cG-k`(n)OJ*g zi=&MvS7M{GWZNHo!sbmptfa9cS<2~!jb!R955zH)(nzYn;*;-b*#-U0L2Ld=spm~4 z*`2JCxz*L1olA13jQ)1$lt8EB@+!|Rlv+$vBxXYI(I>_)gG8!Ru`Ye~^upbR1bo@| z@6CU0f#V5@Z4x)|@_4@{$mU2!YVJ|y`* zuJW7w_8FPYoSR+Edj#Tz*Y%s3j74so`q7896d+O0uZMDJU7=Tbq&hTWbAIu_=Ax z1;;Kue?;fF-1bKiHZmNbEe?)?VBWT zGjc_*OAyFt=$YcXYR1b7*I3Qmgxc!GpRB{sc=@TBhduU z7d^L~*^U~KzZgjUaTnOx*|(V+`U>4+=`D<2h^)ZF>CPf1ygaB>t(oEjKGdp2>Z z5YpkQ4knXx`Q#uzBmM<%j?Sy9ay0^d9X)sA29!Z-zpZ59*Qhs4T2E0$_yDjUVEGIHeWZ&hf@r+141Z;-tJ6IK96kB#rmuWD zy~1(7ADhgBuM|39tfOqlf!JaZGH|vWv{Pt&+23B?n&jrNpKqW35y}g;n!ixbxNvY4 zRr5ju#U$Lt?RLnee+MG}kfY9Z+QpJs3j)P(zM=K8k86Kt?o)`|w_A7r2Ab|uB$I~Pt z%j-bfX%HxzF#<_ly%aDArks-JygJVjdp*q32H0mDKtb+JCMo16GiPBBV#Bq2Ow;>$ z21xy@^s1Az1XjX_HHVBdX&igbdY&O}R|7Pqp`mif)1IkwLMNrt*!yA6L92LC#ME*L zw(dYq4wk(pF~ZIY;rlfEJc_$%B2{+hw(K2EM%~z}s2u-HI-FIJ6RbQ+u!D2ZsQm&B zq$?_%^G@5!mAMK6BJy(!X%SOU&FDI7=3f~2VNfKf#T?W!$qL4~ex{<+cpml~isoun zH(aPw`MdsH^%fIeRGA#|Rvt*kx;KaIA%12Sl-JN1hx9^wpQIdDck63*FC2Unkj1-C zm`w}6yu!sYnZCb+Np@wo`tZBZQjhWA9O~HVKm&C$fb@l3%Qg`>=Ie z!ngsFzCB`F-ctpx>zawCW$Z3%%!%DE1p{t>5wE+=2fBmc?FWS2B7Zu>-Ibk?K5<6S zco54xS>ec}_tT(;FLoeHv-2^FFNInxMO5*HqQT*5BmUd&nu|Nk%N< z=~B$Sj!nrq6)ydB<{WB(iOb@v3*T2wyNhOP-Eq{A$6BFJZ&d{bk!-jh)PdGEzBxkZ zufr7^ud(=GKDn-1Spdet^q<|Lm%W+qt`Ig?;4~=8UzV1ajWol~arJq?CS{U9 z;Go-d6`_#5|FqKEcfi-*pvqkB1OBL`w*53H>*Wek(Je?{Sn%dWH7ttzRZZ{(5};e* zZw|%uZ$tRNwTjWs`}&~eSxdKal8)FzQk+Q(TDXfUldP}Yp_T5daPf_X??=^q0`+gu zv_S@@r!xGE#i}g)Xa6FUB0;OHiMzd4V`SCm`;^Q(lpjyKMZz2jmVGHtK#fp7PQjh~ zDyjf7*ZgQeR=&EIFK`Mfj4yMyoTA-bB0+OekMC)<5ngLwpt zpyd^0tS0qdi7D=lX))Bh?K82s?0C3YqKl|B^PlnEF~`XBvQsBVd-J}nvyfMo!k z1R5G)&pC1{D=W@6az%XJAxXcmvogMgS6HOJgI@$rC*W6b{Iu> z|9d*)IJ?R!f>ni#t`z#bk_D;!8}wwg9m<>I)!{yle}e8d8}w;>WmA-_qaS+a%Y4}! zflJyweRq`&Ml1~Ho};7tBG}q$d==I7%jpGMl;Cq8QV8E*ub+X6{Pmq8;^cENaWapk z+^1j4D1JwVFm1rH+1ZmEd-EPK21WOz zij1(iZCTlkMcl9VJ>2)WA42nZ+ID~V4HErltHCdX9ozqPq4Au%v^$|8Z#mI?4n;z` zpCdU$dG_KgF(K}T2r_E$a9UHrsyJ0)xB8?Pr~PK8k$;Ws9>Y~WA&TbP+=qD8*FSlC z+kQb+>@SleE3Ti{#$MsMXZ!6l6kXFOz~Lg-Xw(rU`H-7$z;wm8IM0jM@}CdrH>&o=S?sl3}iv)W^(?6Ip>J8g8wE@T%6 zE4Un0n@Cs(_38xaYu4RH2Z)SUW^+8dUUm(&f`g(9M=A-wHda50BiTf3K8o4TLhR%T zM|r!`Kcw0{)Ng%Ct%`VYhHjxgZf(kS+#+GxknuzJbZNo0ce(re2$uK`O3 zhIjf(Cc~>P9tLND4w!R-3zPoRpZxFwJkNM!2{zjShmC&N{T%0{Z-%P7C2aco*LMo; zrAdRPAJFjh=O>FUmMfF(05s)6le^`;`(Af_{#pR#v@#XUkPkSO z=-UB?+?#x@!Yh+8x$_lOl>4aP!JkPj+8enEu2NXO)Wb`h`T-P)a{F?=hutOB2cE+v z&7cSL(5EV?==_^wlOI?%XXEv>j+WYyVlSTy^zs;rNS9RoZ4Z zZ2249J=s{BIe2fxn^@AOWVNQx)`r?_1SGz$y3VnvAQkEqchDs>!xz*BfXGd*v%{wK zmF7RbJM~F3EqVNrWZHYIL{Yyrf$pDcE{8GYNLIGms^5Fp&fIq!Bw-lNn;jw^euUpP zT$i6kWQIqxNLxK$LS4Ou`JLy!`NF+1cn2)^;|VoT?{3$A<&#~vfluFRa_za5 zsBa|s?LgZl^px6~pxkctpSzASu9toueU)3G!w+%pDrcLGNoL3c#O|_U7E$WOrmVWv z*IXjpdQl|#pvU=FHP=zi(J;TMeDQLq?6lxvKOrlddk}XfQM5%IH(u5UrUwksb&&t$ zPC+R@&d|R9Ia$jF$Xr_0tUp(5q!rx@_AB*y9z)yv`94JsHpkihCGs|~7J@zMb92pM z;DQyQ$%m3tS)?A@xpR5+nWa_6W$VrT7;*0gdzYrhygZ*T_f4{QAF1j(-Cu=wGAf&b zHoH;&M_$s2*$*dll%95^ZB9ACRd75r+v4X^gm*CR%k~M+m9l?!9_&7Hn~ry(Nv5II z6L=hPr?ax?v*6AkznNC*#9+K;r1nd9Zg{`_MSc&Cj$zqd^|aWej7L>BO;w5^yd7bb z9?wYGJe~=Xe+W;BhSRW0=MHErXYHsjOsi=(H}`)IY%n@N-RKiSICa+B8HG^RDDhg1 zW+gn+qTzCe4o(=R)D1t`yBY!JsObjpj>xy$WF2+;tsHH#M9BG$z3?03!i64ML-9PB zG+>?&OuWU!ODA*(yjQ@1AzXta>Rar@rfBS77*EIoL?=l@nju z#Usr(GRv)tV~*5bc8n!Sw`d7uCMvkQt@VJefsUC*7gYv zFUISK1^y&^s)|4K?wyad+g55_f4-v1)3hp{fanO^o%tZ7 z5wpX*+EE%^5=5g4$MmS))J`QN?tT!Fb|gOq)0a+4(z}6RG*m5WE;XMkOu_OG$vrZ% zSp5*5)N$c2F&B#}@#&q>+M2^_`UEwYb1 z68>dr2O!uNmp?J!1`^xe3tfr)-KH%2%fsGr)GAQq zCTCAwT1ox7Ia+_`?AlEj1=(4;DmCgW%?gds<|dHHFZ7>}oV2su#tk~8jZ+Bz(a}yF zJNNy`Hz(tz_2;9cyG#|cyJk@@qrySyEPYO))jDod6=XBDEQ;~mbC0!mW9+YOxmy&k z#lW0L(~k^~ZI^GY?@;jEk;9ye!diu6mKVNtDL&3f*(y-I7E z?|rp4b7Trc5fCWNafWO8%Z%Vz4VBftmqjBD*u6S=R%c#K#t{ldb(NS@jP{%_YdtPJ z>H7eM|4Ti6{auGf+N$bjCb~M!ubsOr)l{4aK5k;3cwiAb!(Q{vDQJ_(zr6PC;D(IT z_C2#qI@`X#y0y+n6!3&!@ggFk%6`SxVW&7O2`<;7*o38{ z5sEKSZjF$1(@v|`zp%n0J?gFNvzY6pycAw0g&v*?qdpdw7E)4Y1!UqX7h8c4vAKJe z{94YwV(ux`?zJBinr&Iqen)Q1lO`hKwsrTq{3o+Ur%BMcG*c`~11pk55p-kFy(i|d z_2^Z(str6aembg88^+7nyhL)MXY{k)gvS!~IOC$?Su0X`q5P5(f*_PK`9Q1oV@sfg z%Hm6G=B?<-VV^e3Cni@o{tjL@dI+4}7gbdm#xJA|rJ5v(seif?WZB)NHdVGmb{kNu zllOxu%R+*JI21ts@qtKv$-$;H0(<5A!{h*Kd4kTz^V<>@wmEt0^4WG>(ru>MQ}3-q z1eNVNsNUR}Yu+MZj_MsL<TEM7^6^t~?<*>bqBl zIDB$U#B3-&F-!A$@lA59=b=@}VfWDC6LL!jtpL`G9rexKOxhegT-q9-&#v;tbDQp~M@R%tra(_Qr*5w6qhXj;r zRpSZ~F%m5~{H;V3AXUAyI$h^;__j?`c|j_tTY3Vxw^kxs)orf)I1((<2*P?VB0`Or z#C+RXD%<>iO@jFnF7pM_6VJsbYB+h#wx)PPGAnm!=kr}0d+#m2(DmoqzWqY;o6A*lT^F3Sekj}4BciANt&11A>|PBLc?5$62gkF!W^9qq&~XxLgOl* z?{Z!}Xx0j`jG#AY;M?9xl5uiOU*~p0`dDv$o$O-2dbuPKH2Kmna{fvcxjI}W$m|Ll z^g1vyzjPi)#NGNft>YdiVRK(8j8X8n6$p#o@q(aE56G_w!g%_V?8k$4hm9BsfQS4iVN^kCO=oB_PC~_1Q!aG!4Ff2Fi9By28MZ-PX?(@REmcR?@vhPRopdGM ztW=}Dhjc0}-1~=Lpo}n^-2!%WTn|KZvODgeGrn^uv^6?+S6oaUC;C!Tzb+3yFucT^ ziA4~g#4FA8b$Mw%KCqv$^tC*&Ofh{aNN1B{>oRSWN`GqNGG72y2FV4*pqaBj85kI2 zbkhs&Q<^XFqSTpx-~H7=kB zT~$ou6vpCn1{?7aSLm|U)1KMPKj)<@hJLfjKz)=bXWRd^R%>S3)EW4=Gtm>RRamCl zuNjJ{@KN`enK5Zc8NfEV8NWW;yXzDwTjq`!40dVHC_|inlN}f3gqzaVE84N2n+n;# z?VXl%)kC8(DMM=obT9VUzu&Nt?UbD?_jC1-K7S@T>)NW^lTgft3k`PugR$%XwfEkC zO*P%SFy0nGL{L$XDjEevDT4F_1Sz2-RjP(sgL;{k&Z;yrg;7!BvrpmeHCgpfM{!GcP zFVJivrWH3(1r6j~dQjcTe0b7K83}Qn)=r}EX+%9Zks!Nhv9eUTd&;z7#dN5*I|OOp zyj`)i2Coyt+86`~v^8A3P8Kpe|1;`T|22i%ih$%?ihJ_u&w$a>L3ws%=FS9Hm8K1@ z=`*jDCzxHgbrm0e%R+Te0rw}W%3!Lq`4(Qs^eEDuLLJB41T`g?buVmxyUk}K;x|{A zfX;HQ=yS)@G{2h((=9(gj*9DX*r|C*K!?zt3>19NjEmDDd}UMcE6_y?p32 zw$j#Rm$oH`Oe=P-l5|@5wP44>^6LO*)aX-rAO1j%P!sC+|I47l-}43;g~E|9wYTF| zXSQ$!1il?!t@mCIMr#!b8TG&l3PVqItE8+hvVJ5E7!;hn zKkewz)$XlQSJ8)$p>4=_k~zjwO>2tc5)3hW%vYiFGyR&plx$R28BXS(XG;}t8+QwC zH2WPr8T4D`axFTku+Ta@D}CQ(d0;QR_XVrzns1RyGrSok>hk(eBq?o-6&v5zt>$}` z8c(w8{=~Ub?oDow)AA{9-wDw@-TN6PLii(~=veZ(V|`7F{KGZ5JL}dI_gI_7D;|~1 zeV7XL4fhZXOW)hBUUyp2%i@5im7)Y|%hXMW_oZd;h<8A!JfB90jQI2Zu8h2$SM_%4 z)iW?s<{!Vkw}ZQ!IrUYFf33~>GrcU&H@euEkRHyiAAsIXE0y0P(HwkD)*kR)j`?xb z`>99aLghcBNR^?*dBstrl()XYR(v$Lz8O}|%&EqTx~!+_PKzoXxY371kvdNZqs>sH zvpBS$=Kr)$WxHHUxODcajXEY_}wE{oG9 z`d;{l&u05|B(O^+x6buz%8V0U`+N0cj`P?2qd1j@85Vqfo1&pZ_~SzDota`0dL$L^ zd&a8YYofN`W1B@>hKWUKRaPSn57tl52C*GE4W6a~R~BFYB0)B5Ox zFA%rp#EPM^=(ae{wphTO1*vKQISnPLIWv;Y4=bhNF(Ok0mHsj#> z#`+tIbRjVJ(U#m3EHLag6wVLA2V=_W$SeXl zIIZdec5q&`d=rR?-00^S!5L8~Qj?y1^raUgI5ZmbRo{t6$nsdNhv!x|I{Q0{l(o@| z%Mi}fYvq%3pK37)u?za_oaBU&?VPkQ}@j*p=VZj<*Dv7T+0JiMfl`?f&3ySnQSy^2{LBXEID2u2bH*;WphY2&Eag-CI*Se~Akzz+w{nYd;lO#R0 z?K{n}S;^}5$KmqhwQ}d?C9f7#{hsZW)U5yECdo9u=@Y!ZKpym7mKoR_<;|nRFLB2O z{W;#|?cTPZ>rQMIFj>rEDYZk#IW|0c?cVnV^hP-zUJo+CG;9pyNX1C9oX&1dNug;C zcndMdhIKP2dJE*lM6PDD?0qWcLY3FGFMSX;DaK1=dH?6|%j);1+}u-DT)v}&tuO{q zn-O$M6z8`8hU=xH8X_~fsEqn9+HRGeq?wn`KYyYt4m#*$)!dxknpi`mlk$aK^oq?tPYL{yz*%9lr2a=90h6|HzYNV(e}iTt1yKS zf-X^M0VfvAIZZGd{>f{R!-8l^>p<2Q%5&wMI3Lg3#6%lZimLWa)r5eZ0ST+ z)UR-K3#|>jCTwR#^lTILXFr)&MG|5kk$=2+lM|T~Ur{`E zOsOl7s5=YI3rK&@V({#cJE7fsdcs-FEH`T#@4Mk5@qA``Zp288uziy>^?}rrcJHF2 zloJWJhu3WTi*IsOXstCB`Ko)hf0&hHt}8D2<~$kxr_yCb$|R#r|K*m4FB-Q!#GX21 zmwl+ZA(+}Noq^8S>4E0&3PtZb%GTs1*pjvBy6&~fLa2Ug9jOO$_?bUuY8@ie%Jl}O zBFjwHC)|FX{DKZhW-(XGE%y*-`WUM5n4NYRH(GvJewdZ%QLu=0;`G{Sl#RVw5-?55 zt70b+20bFXy{|GnhQkwiYcaz@9Mew-Gti;nNk0v$1zpH4sR%wt#TxtcP{AwuT+uDDlYL62S>CgNBn{#ik}+Jh*=r^;kB z&0z1IW;4fMAvkNsF42U?+P`gq8Q6B!X>d+aIRl@q{LK1QS(9x@Zc`Ecb0%=oTzp$R z;F=P%Wo?%xh@h-_O}bBBKcSuEteNRFI=161u>A?X_p*Sl3`501(&)RkU0Y3b5*m@D zMurCwB!b@>r3ejo!MBb1Mjl(Jv7_`>I8Phyih8!RY)a;qS!~{B3pL$NDa#_91g|0u zIfC$hA`?ygGUX4bYG-;v>1YC>KLYH=n^VJG9=*^P- z8w$&*r0;?^slp4bERy;k1^p4&b~!&is=}2jTCMr8ao=tsiXJ#dmpr^gySe*GVNyB8_SuFvsB{B_yd=H^sdbg)efUTxj!u~fD*H|`T}a2qpkZ5chQWho8k zBNnfTz7`HnXe9==wb$IQyBJduA+#OPBzN(1lZC&PbK~TJmcFOK5XB^htFFwYGhsAi z$tV9^BW$0dAQr>tack4k&~v=Jg`!)eez05McmqH=P^F5;zy~WN*olf|K*6jC-I*DeL)qYQ`b_BUH-yPtg^V~xAp=%S9rtD`L!x133GuN7>qfpfcMkJ``k05=D) zZ9X|UiCY0DT?(Qp5c`jH-%?+b2r>0RWVh;&_V{k)YqZWGHSaYe7DYVkfpRqOyWWx3 zB|1{o{M=j%v<_!$qWfI&rE9Fs0n&8-<_gT~m>}%d8JLl%Znd^u#f%m>2Wt8bMf!&C z0TqOruKcRt%!e~Ib{d243!f%lnIu@=0S}bzgzn7iRB|Bihgjsp_|e7mtZ`9EvU)e$ zMw{jYb$YmNfmyB+XQ@b>r8$`8sYM;TmL9Uh-8+!_jrP3|k@7HABT?QQ&|iX&t^Iu8 zYP&aUkpF#ZQ=OJK2tD9|QlcsBORpxqI_dHdxUJ$t-E`fkjvT8L8t6^h=<;4296&Zz z0%5{-iup+k+4F%%G?#UUktR4q8?%P{qH_o3BZ&akQ0{J@t;{eDQeFBk5Ddk|%zum! zUA~7}zbQ=~r9xjnPMNoE@~w>79U3`OH60-l|jmllTjWoOn`$e{(*B`i;un z5H`mLSMl8DKrm&OfM7Zi2YILWsZws~>+7=(+n>YDx!O}cl?XT|MJKa*+qqHjT^RtP zDHDn`ZPa+&ssbhYLC3+_nJaHeV(NBQqV~zDu``{i54EEdoj~J(>Qa!mue2F}#_(O& zJ38+!Hp*HVz5SB%&cV?!{}nq8bK%mbDPoQS1JV8^de#?;*II+Qtp|C#eGm^rl>d7r z&D&_v*E9f#I_U0TWXo;dtBZ)*8rdFeuXMgJ@p{yw-~(%JSp?`G+I@)xX0#{E<9e`|+~=fx&nH94I%3NO>E!py%zB<%X3yBJN+^iEc5Xk9 z0dYzS7vL#fn#;afq-%|{zY!p}yyfNbd#fdwD?ztL)^+lee2{>lm+Kb(z7{R59&e$` zQopZ6Kx)7^?Ux3V+2dOc&a=m~4gRyobPX|*TOL$cSvuvA8~~DZwNf@Jr_+_Ij`yix z`=fioUhdo7s)?dxIIg^3*)-SxL6NFN#`2nY76HD)Q|qhHNQ7*YVP)uKLNbY$Yw@yC zCAsfb^tbFHK{|7*OUy={4dCRc6WmCm=sdd;L zT&l_lPpH2h-AxJgKyKK&X&DG|=tSa#T#K6a8(tMd4&fr%A;Xt02wP4w#j zV9uQ2-k7SvQo9q5*0uL?-(eWYY3R<_QOZB6YxA;~FSbBW$_0MXIYIztc|24dA^PFk zQ;(xv98hho9{Wv+-DZ6wJ#Jy5oSMBk22DEA-3qE-ihebW__^ z=U>XJzlQ4dUk2FHp4NBJ?jpNnHqqZxF%-_LR1jC{Fx`9>vEr$*maJs$VH+=>3*zMj zGI(SbbKwbn<&?{-EnWuClGOeBwQi9s@|2|Q=d;sP*ewT!h8zvoh@)04gQwuA)qomGo>BG;~Dvp661Rpvf;0Br8-I{J)oqqe37&p~sU zsw(ACb9Ojs<37|K7wQSX#b>eoIzAt*=h%^U9L@C@x|r%#SXkrO$A*c2=}3`kehoiS zh)3?VQlZgS0}!fi;f>{-aH_%~L-cxmTen8C*WNo5JkmY;tf+kn24z1z7)Wejb0z6Y z15ow`=)CPKVH6mgClL~-eZ2uQdu;Uu5aH{0U0+43+*VF`<8>%&i+6?S| zK77W)I|w;AX=PCN$d4!+af;6m;=Sxf6E67nY;IHROckxWomc1BFZ+P1vE{^ZxLeEM ze(|XEDZVQ+-cno3D$oO;mt?7JGuhrEX+p?R$ISTo(ngy<-7P;=54fn6_yi2?eQU_= zvysWk(*=dIMwS>95wY2%qcQRG#jjjn1IbrUjFEodlEl=XJ z=!aXjGapGkvsKvh#wRE1JwRwZwSs2((we}hq>N4DTcqggENMI`xDryQ~Ws2Pk5?H3OZf+r(T5JovLY{$DONbe}ElCXX4N}9@jrDT`;Y^ z&9m({%~VsRRjZnkYM2#v*x|C(Gp3zfU8||y%YL?6XG^eJ&z2>{BpO;4H&eJ8gz6|q z*LEVoJBNAg8#af{q>*2FAw1c!7e-llf!wz!7rNi?nkC0f!u^;{THtDHgPS*F$H3Q{ zZGD+=RNX)pV1*ytU7zD0x!Uf`1zSv&WJl)*cZ;l5d4{`cv5Z4}>yMA!JgW{2HV(B4 z${hQErU`#W`sdh&b!+GB8%j@yHNwlWSI0HnyQPy?9_Q1sdjYg)D1CE(*U@$4VTjS= zsa!oCv)@mIP?69fnW{T4DSj1Y56{I4jzL4qJ>CGlUWs}y&+M>KsXOG<84InSvsVIs zug3h+m$p%p&f6-_XF*jz`{?9GSnMcGyEk>Jl4SYK>)~SV@`Y_;r_CiVLqEy&kSD7h zVsU5-)gh-YQQJb#X)Rf4pMArXL&K>zH`>pW_-)Lag4Jef&E|naLE(F0ywjV@zfQ80 z!QuQ5&l6Y#Kp|I8l(6oXs4=eE@J{s!$X=mB-)kIugGOwU_1DJYvgY)6VtSq!AhuTO z-yB+L5wD=JEx^~gE+vhuZBY~mXRTsw^!N%fST50hpVdOIDfqKJtN@xPe{QE~iNRb! z7ARppjr~aF==`6UTXJ{u7@gY?i$#!jOPJ%T4sOc~P+)I1DCPQ4{23Z6+S96B-l-n9 zR`Xa(<5dzW=~>$RQ*Wc`VJ)k0rNxaYaQ-JRTGwFW_37Rt7+0PgyO+E66P1iPb;TG}N>q5A2AF|7vey=T@nn|Fzlkb!}UKLs{TZ zHGttmR~0MW#Qtb08716KwUJwjdC%!)CAx3PzVZ;cS3B8saUayv$hLCpoxdN{MX0kE z8i9dw82%D7Ju+~t$G>jT&{&lr&QzTZP9Y=tk5Pup-LQ0h_Y$DzK|wBSz?X&>JtTc< z{_%jG{jANk(dYYqPs{zFfguOB51eDw>czcOBpRfORn~;VXI4_X%jX3&HhRXbYx3qS z&epTU==v>~%W2Tjq9m_-=j~#ZLrUhKKio#(O_MpnGfvH-=YL*YO5pysGanfiudz2` zII_!oGr4q2dM&&LkhLQJRLY!vQ-vf4^9{~HEo3LHz_H#ChO*_m%qs5}aMNt1FJW|{ zH2&AG#lRssDB@;uy}qY{O3SA=f{W_Y=;gY>RFcO1x5ek-maE% zHa5vx39d~+-S^yq+rt0_PBO02i$)e zR;y`+i433Ow=4%YBB4`16g-|(t=gWENPY~&;9=%B|Fck8*j;hw)#E)Q(t~b3rfI` zdzQ~dOM_gtcgX@qh}X^WjMhhwLO0NRLoZ7*`gfSC&oW_=w^MI<1Bu_`1k6Xj{ie0L(_%&JECLei-H-JU zNe-?E#I8pl;yd53h>6AbR64gJ%A8=yT?=+rEI2@vCj9ZIG4M#(5fyR8c5{7QZ;}l- zt{>u|Z?|Xg@mz(-&Z5(<^UnI1-Zjl}l!?>?68r8Z4tb`&B(wj(foiWImZ%(Sk zsgLz%BO6(@h`Ex+_(2m>gT`Jp`d~DyxZ1C_zKo_K zyO}*c!k77{VsI)UgF+DJa8F1-b>&Vkk{L3#26evk$c_9=kJQb(zi5-(8dJIsvz$*$ zdhm`cMQ)0PH!jmrX@Da8+4!c#X$9+`c=pmWo0`qEm)mc-kG4t~oNmQvWvj6Q^#%lD z6`qESQ=LLtWN4LQ`|;1Az^VMOrT;$vQ+)Nx;B^_s60ac)0k}oJvimCeTcmuiO3!kwiQ=^U%w7ekH2N$VVyiaFY18XJC8gq+E6yctsGsX)hvv))z)gFZEz-R zIR`7lkh+TPkt#kez{XOoC9_vlHufGk&IeIVdl^e6|9q9jGWqAS50~Xp?A)aM5|!DU zII#a#}|ANj1a`oeJ8vENx8SkoN-#sX>Gqu$hEmDs{SBKd%e-Wc zlt(!@73MWB^U404&tjq#4!>@I6q@9UETc&UbL;$b<+n+JY0HvG(A)MyDnIHOl@4pP zo)>)O4IV#zWWHj3pqy9fv|@ckDRvt8Qs38Oe=NhL{bJUa%NGTH3$MlJ1Z!-+Mv`(t;Jb={6|E8}N^LAe%=yMOK4HQtFiz{Nu-#3a!p?ktWjgpH0DO-?m|GANKOo|d; z{w0;X`Rn~SO3y(}Ec{d#mYn#ljd(M^>H=Z`Dgun;&Ya6!^!bSz)56_%t@q*E4UoY1 zTCNimaL!ueqpB?=IBWPJ^?~ahVyaIo!O@fnAK$?q=@aRI>G;hf04rL+3D z)<(f@%gNEv>Y5}_2YM|CN|Np8L8NdA`|VM?d)e0fbNmnlKCHc^Gmxq1CNF#U+u24U z>#&}ESEc`1W(;v$6|VmsSA#IjT8Fs->8)fP|MwZ*U8{`t@EP0 zRS&JKSQHE`G_RX52Vj@0A+-82^CfOCRCigELD`4IvCHQEe+oY&-Y#}gZ~1K?t`Xts z7tae?vR9mhBNAREGz@c?)lKcx6lQF_q~C8tlqD&HTH1%WrOJQB{v7sGE^UAwe#b|c zG?dY%(TChd9<|;8ZT}=!$b=&IQer8!Kl+1!u@e13;<((ulh=}wSrn6(ida)%Zbp=; z-fIJAB;A~kPW;UUTc;!S95lhA`LTx_xN2AGU-i+jy@KPH91CH;-qp|x4bQhnPS^Hp zN}WoL44b-wWoc#580kaKj!ye|R@Xa#JE#*)7t+STYGH)_#4kh|J5uZDWPDXnb7X3H zMX=j_oEV;qw+Q9`tMdS*GE`vvVC~WC)xq*9H5_7WY-}oS{wdlrrMq$GP|)6e1ph0G zNX(Dy|JOs3EbsTh_lBUqJR3e^eS|N;6RNX6UTEwvn?S+N&>oLRL^T2Il;J(V#shJf}Zz+>O zOUWN2p!oS8)9Q{a1e+n;Hc9OWl#iu9nxj^FM^vq|Eb6hXGzXt zlj%cW9V&LK;2FCM?M?<2^b@G1+x*`-+S_aWJ4f5qWz*xOU71C~l$dBNtshq66bOG( zrQ^4^J1lPb@5gml^~yP$zfz=MAdz&w8~xTRi7?VBZ)^k$%XD^7IQhlR?5RhD>3}iI z*H#M+PclPAY{_mh_OH&3ExT9eih$BdLiCLo(%m_aB#zSe-;RdAmSvy#+_6B==K|&% z0_D6)LG*KU0#;*Xl|K1j<^;z$LggFHy&-{~^aR}_blVEBoe#xrEk>+>YVOd*K-%eV zJWz1a4N##qdKL(D_kpM5KYx6Er?qXXnH`?S(t_B<@(mB%2MWmNVv&*8yK^he&IjiY zn)&7|6R9Oj>}zSi3u|ahzl%^P`aWVY4Q!Hnwg;*+;%mR#`ZhVQQ>Z?3Evf|zZZ>m3g)k2q!e5+McN|TX9e7Y5IiBqUp0as>mFTXUnk#SF%*}xPEGU_S)*hI)G$NkQ_OCgH?!{%LX^R3zEs89c3Rdn2}M_b*7e|FhKzuLVzVO*L^u z8rrv+?9!3^V2^;bANNPrq6dq?*K=EiG?IT~CKl+*TiM_bBEw6A2ZUxio^{_oGj9@r*O763syCTNYvy{fQM!ZPXNKacR0@ByA;*QG@UJB&OvhTRz$O<0wl$eLM zxAjeV&@`;NF{JA`1XzWDsq1K=AQsICr(B1y{kQam!%%@vsr}IsGBESYx^yjo9g+R} zFV2tC`HH->{d$3+x3MwT-}#ApG(<@Wm*084tBdjq(2_$Z{>wu zS5c@czLe71cvp|nq#>Uc;5)9n3UWB&zk_f>eE)?w-KmcO8=bzi-(VxC9qC{l*#Pi& z7x|?Ti`&A=4-5gzT!(@^0=;@*lgJiBpf`qI+v<-3>cw;dQ1!TGDdRfoL<^cL5i|>#L_$=&fB$m@iDb1~a54sC_Jy#Y@ zJc|j2B_^p)=~m3mOzCm%kh6Uy4mS(nY7(9xR2e>WN%>*W6=I}M#g+uN9A*fHIjxx5 z;Fj0duN=RY1L`2*`>vAA$s)7#<^ELza^1m4#E++t%Nx2Waoz_lR!DTj0Y59C)@#g8 z9<{%7?p!JrlKOm(gw70$yv%iWH!$55&Uxg>XoAkr1)pB!hr!1PPx9zY*Q?v2^dN)+Ss9uvl>qr+B z95yHqR)#`~X!yfQ4IhhC=hO5oVLP{2`%*CAK~sF3@CO7fVUwCXll#t5LK=&s?#IoP zj$ldl$!ut?aoXe&oG~xJ_O82yj7)_hQH{p>*@_^|D$LmV#uh1fY)-lJ{oXEUt^35G zgy9rTA4zIsZA_DtzE31cb3GZEaWS^)cqx0l@r+K5Jt5aHDNB7Ap1GuyFrUUYOouBodr-jRv0ki!-EpSqAvhDS)(? z(U}_}nC$Rr`r z09L^RkSQJ6-Q8Wu1~1dSZj!W7?V6M1+P{WigeJ5erA{RfuY9K%&%f~m`i#23+LR$( zu#_*1O&WO}@G%0rb7-0`7*??HT}uUb!cHR#6QR*es))M@;=7QmSm3BnrXVq+mEHfm z=BVI7K4LLJ=Q4oFY0_wt&)fImS0)yzLi6}#vC4>qLnZA=rbR6z4Pd{8(1q%a_}v6< zj9bYGpn=-GyTG1xc2b^ACxxeb4+wPy@6k$iH_*4m#$#RP+WHR%SCOC>gR1-7L^Tri z78W<3wzg`R8Se@pl8gxkK;j_dxY{q&iD7sgbn*uE*6SHji2pHHc@it-GJex1h5AK0B0w7FbAQBL52c?leb&IvO>fR+^vy zoOV86Pb{O;N za2|T{ig!oEE|!u;3K*cUQh|sF#@$UjkoxX~FV+V@-_!`(Soa{N!$TC150mCSA0gmc ziG&1x#5>~ot;TePfw>PXo6f9YGxIg&=tj~2=laQyY=g+*3~tw_2x=E`t%-;P=;P$@ z2dhjV(jsYfbSOKu7sd!a4NT8+TP^c-0bSZy)_@x}eVNKEfqKE)AGsehl^v-vCbPTu zGIc@l$ez)}GbILC9@5dtsUQim5&vx`NCvq`%Rwuuw8S`S5~+uGLxRd^oPst#Bc4)G zdBTuWd!rw9+oRn2CiAzCxs18;MsMj#kvEVAqa7H(=Xs0S_CRd=%O0z&2c3|x3@(um=! zCUTEr6Zv$p1^dwr;$KuaEd%4ax$tsxofI5afn$cE$uJYOdH@$iC%a^TUJKFhhS$6( zTDlu^E)xCJw^nf1@HWJIgqUucWo`<};a}^5o{)9a!%^3*a27}0Sx-uVHwWo@Su7*oHCD}Ed0!>0a}V+FUS)Bf^G2y;hf!^Uj@(Q@*Akm z20*JMI@5#Y!$@Uhn3s*D)aS_MxuSYAS@FL!hqhJ%k1w`vHumGiY)`7+Cr%));b&H3 z<~A#)$yG|{Ij$OzNqrW<=unX> z&R?g-9yE1R^PaO)!J$(wh%i3n5aB}=8NltjJc=zFo--vnk2kQGNlrik{?L~LfxrBB z*}+Ov%@*sc2*{}6-XNDt0~<3adSV=b@Oo(^N?2KB1_s)HPY<~8gvLmGUf?6d5%%RH zA!DiO#&a^eAYkCLoS0`n!T^u@FswA#t-Ib(30q!bC3A+FFPR?D2T5VT<=h*M7cx!e zUVfk1&V{!7EcI)DReI}*>XETn0bg~tjHv>qP1_c01;CH!S^X6A`}(D*x!VFbKz;Wf z4Z>yF*t}LvwoC3Bti`VTzdiVrci# zLSDbjg@0U6(0y1;ErTH%1`vPl$IMV=HhBar?5dI>_GGu5lff1w3LxBYfW@5t=d1=e zvhtr-56QUN*e7-n(Sd+cYGn<2B8|GUBhll!)d7kt7F}fZT@Ce&(W;ZyX|Is&RGsragzLDP?~j)e}+1 zR_IkG;|5;R_HO@Wik?G{9!0)F{NN+H&Ycysz}G?WAUYas$>=)z%Jc0M%skuU$%0fU zmKZy_Jus3SOLAx2$cK)l|BsiNiCZK7g$2=+B_p`CU2}WivBHgNKdMO^qea;?Uo@Bmi9Im<--eS8b*xzGXB8%J044>fxiKIa zDj*O1Yn;SavW&4Vz%o@f! zI5{;yp@uM{h;W9Ax59TVdj{2aphKq zKOF|MH4aKkfLy};k#FdNgqE<&$c;Yc|M5yfj_pWqEv{ooXTQ##9K`htIiuVK>y+WZ zkEh%Wp}3LWU$X9ArU`N*Wj3{?Z#NRM=o1)E^M^fj2aFqR{-ACRjYsxWDi8h7n=)^F zuY~?314y^tpm@nl>u!RJG+@`QZ*Z1Ve*x<;`0z595fDgkS)dOHE{7x$RUrFu_J@dr zlR_+Qqni%>G!=q6!)=h2@?9P(2prFwJLJhWR7DI=4ngr&_Hyq++Vs4AY>(N0q5St3 zzOkggX&(re3^Qi7uo*9&a|-i>vSchZu1Txz78EV0Y8z2&9>=`_(o63(}z}0?w%RS4-Y)rrjWB-6U`+r56Pf HuRr~NG4Q?R literal 54673 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 From 3bdc703a078582b7632cb01477bf833328a36680 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:53:28 -0400 Subject: [PATCH 113/153] =?UTF-8?q?Adopt=20remaining=20comments=20from=20L?= =?UTF-8?q?arry=E2=80=99s=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 93e4a535a5..85edfc344c 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -218,7 +218,7 @@ self-assign a number to their proposal. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by -independent bitcoin projects working on adopting the proposal, or by the author working for an extended period of time +independent bitcoin projects working on adopting the proposal, or by the author working for an extended period toward improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors should delay number assignment when they perceive a proposal being met with lack of interest: number assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the bitcoin @@ -278,7 +278,7 @@ that are incompatible with prior versions (which should be an exception after a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Proposed. An example for a Changelog section can be seen in +date the BIP was promoted to Proposed. An example of a Changelog section can be seen in [BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the Preamble must indicate the latest version in the Revision header. @@ -299,7 +299,7 @@ to Abandoned unless the authors assert that they intend to continue work when co BIPs that had attained Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per the author’s announcement to the Bitcoin Development Mailing List after not being opposed within 28 days. To successfully oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Proposed. A BIP -can also be moved to Abandoned by the community, if it has had Proposed status for at least one year, there is no +can also be moved to Abandoned by the community if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -598,7 +598,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD documents that remain open to amendment. If a Process BIP requires large modifications or even a complete overhaul, a new BIP should be preferred. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** - After a Proposed or Active BIP has been deployed by one or more implementation, breaking changes to the + After a Proposed or Active BIP has been deployed by one or more implementations, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the specification of Proposed BIPs should be avoided, but Active BIPs should never be subject to breaking changes to From 5113902f5a3ba55994139144eda65a834854a399 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 15:57:09 -0400 Subject: [PATCH 114/153] Improve Process BIP description --- bip-update-process.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 85edfc344c..5e9cee79fa 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -165,9 +165,8 @@ convention. * An **Informational BIP** describes a bitcoin design issue, provides general guidelines or other information to the bitcoin community. * A **Process BIP** describes a process surrounding bitcoin, or proposes a change to (or an event in) a process. Process - BIPs are like Specification BIPs, but apply to areas other than the bitcoin protocol itself. They may propose an - implementation, but not to bitcoin's codebase; they often require community consensus; unlike Informational BIPs, they - are more than recommendations, and users are typically not free to ignore them. Examples include procedures, + BIPs are like Specification BIPs, but apply to topics other than the bitcoin protocol and bitcoin implementations. + They often require community consensus, and users are typically not free to ignore them. Examples include procedures, guidelines, and changes to the decision-making process. ## Workflow From 7a359f7c132fd2671b0b797552dbd00ad69cf5d6 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 16:00:06 -0400 Subject: [PATCH 115/153] Drop phrase about off-list correspondence --- bip-update-process.md | 1 - 1 file changed, 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 5e9cee79fa..533c85f978 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -417,7 +417,6 @@ The current BIP editors are: The BIP editors subscribe to the Bitcoin Development Mailing List and watch the [BIPs repository](https://github.com/bitcoin/bips). -Off-list BIP-related correspondence should be sent (or CC'd) to the BIP editors. When a new BIP idea is submitted to the mailing list, BIP editors and other community members should comment in regard to: From 985f9769f6927d68a6367fb8cf2c17a3dbb25798 Mon Sep 17 00:00:00 2001 From: Murch Date: Fri, 20 Sep 2024 16:10:45 -0400 Subject: [PATCH 116/153] Adopt suggestion to Scope section --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 533c85f978..99d0819156 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -58,9 +58,9 @@ software. Some may even end up changing the consensus rules that the bitcoin eco ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin -currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that are in direct -contradiction to this mission, e.g. by undermining fungibility, facilitating unrelated protocols, using bitcoin for data -storage, or hobbling mining decentralization, may be considered out-of-scope. +currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that undermine the +fundamental principle that Bitcoin constitutes a peer-to-peer electronic cash system for the bitcoin currency are +out-of-scope. ## BIP format and structure From 2cc9ff646e51c9c9a85b08edfd59fd64d4de648f Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:24:48 -0500 Subject: [PATCH 117/153] Fix date on Discussion example --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 99d0819156..7c844ecf1a 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -141,7 +141,7 @@ acceptable Licenses and their SPDX License Identifiers. __Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP was presented, or relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. -`2009-09-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. +`2009-01-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. __Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. From 37e8488a65b1f3ffd4dc0c1c9d8007a3b52349b5 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:37:42 -0500 Subject: [PATCH 118/153] Drop mandatory Backward Compatibility section --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 7c844ecf1a..b69914c780 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -68,7 +68,7 @@ out-of-scope. BIPs should be written in mediawiki or markdown[^markdown] format. -Each BIP must have a _Preamble_, an _Abstract_, a _Copyright_, and a _Backward Compatibility_ section. Authors should +Each BIP must have a _Preamble_, an _Abstract_, and a _Copyright_ section. Authors should consider all issues in the following list and address each as appropriate. For some BIPs, some concerns may not warrant a dedicated section. From c949ec61d62890f3cdb85250605311e3772afa15 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:41:07 -0500 Subject: [PATCH 119/153] Add private pull request to post history --- bip-update-process.md | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-update-process.md b/bip-update-process.md index b69914c780..b672198906 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -7,6 +7,7 @@ Status: Draft Type: Process Created: 2024-05-13 License: BSD-2-Clause +Post-History: https://github.com/murchandamus/bips/pull/2 Requires: 123 Replaces: 2 ``` From 1bb2af395a1aed90e67674c7aa74a413affce5a0 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:50:18 -0500 Subject: [PATCH 120/153] =?UTF-8?q?Add=20link=20to=20first=20mention=20of?= =?UTF-8?q?=20BIP=E2=80=AF2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index b672198906..9ba5c30bc3 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -15,7 +15,7 @@ Replaces: 2 ## Abstract This _Bitcoin Improvement Proposal (BIP)_ provides information about the preparation of BIPs and policies relating to -the publication of BIPs. It replaces BIP 2 with a streamlined process, and may be amended to address the +the publication of BIPs. It replaces [BIP 2](bip-0002.mediawiki) with a streamlined process, and may be amended to address the evolving needs of the BIP process. The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility From 649c80dc59ebeb085fcd8804826ae301fbb34448 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:51:36 -0500 Subject: [PATCH 121/153] Add section on BIPs repo purpose --- bip-update-process.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 9ba5c30bc3..91eb527368 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -18,14 +18,6 @@ This _Bitcoin Improvement Proposal (BIP)_ provides information about the prepara the publication of BIPs. It replaces [BIP 2](bip-0002.mediawiki) with a streamlined process, and may be amended to address the evolving needs of the BIP process. -The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility -facilitates the distributed consideration of BIPs by providing an established source to retrieve the latest versions of -BIPs. The repository transparently records all changes to each BIP and allows any community member to easily retain a -complete copy of the archive. - -The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to -provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to visitors. - ## Motivation BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin community. The BIP 2 @@ -56,6 +48,16 @@ recommendation for implementation. A BIP represents a personal recommendation by community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more bitcoin clients or other related software. Some may even end up changing the consensus rules that the bitcoin ecosystem jointly enforces. +### What is the purpose of the BIPs repository? + +The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility +facilitates the distributed consideration of BIPs by providing an established source to retrieve the latest versions of +BIPs. The repository transparently records all changes to each BIP and allows any community member to easily retain a +complete copy of the archive. + +The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to +provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to visitors. + ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin From 0b6ec15a302b13a3d885708271174d48201a1528 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 14:52:18 -0500 Subject: [PATCH 122/153] Add footnote on capitalization --- bip-update-process.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 91eb527368..d8b161a391 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -20,7 +20,7 @@ evolving needs of the BIP process. ## Motivation -BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin community. The BIP 2 +BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin[^capitalization] community. The BIP 2 process seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This @@ -58,11 +58,13 @@ complete copy of the archive. The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to visitors. + + ### What is the scope of the BIPs repository? The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that undermine the -fundamental principle that Bitcoin constitutes a peer-to-peer electronic cash system for the bitcoin currency are +fundamental principle that bitcoin constitutes a peer-to-peer electronic cash system for the bitcoin currency are out-of-scope. ## BIP format and structure @@ -543,6 +545,9 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD ## Rationale +[^capitalization]: **When is Bitcoin capitalized and when is it lowercased?** + This document refers to the currency and the concept as lowercase bitcoin, and only uses capitalized Bitcoin in + proper nouns. [^standard-track]: **Why was the Specification type introduced?** The definitions of Informational and Standards Track BIPs caused some confusion in the past. Due to Informational BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. From acc749205a7c04833483297c4c8114a23ba6ca3c Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 15:00:17 -0500 Subject: [PATCH 123/153] Use BIP repository instead of BIPs repository Also adopt rephrasing suggestion for section on BIP repository purpose --- bip-update-process.md | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index d8b161a391..ecae202934 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -48,21 +48,19 @@ recommendation for implementation. A BIP represents a personal recommendation by community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more bitcoin clients or other related software. Some may even end up changing the consensus rules that the bitcoin ecosystem jointly enforces. -### What is the purpose of the BIPs repository? +### What is the purpose of the BIP repository? -The BIPs repository serves as a publication medium and archive for mature proposals. The repository’s visibility -facilitates the distributed consideration of BIPs by providing an established source to retrieve the latest versions of -BIPs. The repository transparently records all changes to each BIP and allows any community member to easily retain a +The [BIP repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals. Through its high visibility, it +facilitates the community-wide consideration of BIPs and provides a well-established source to retrieve the latest version of +any BIP. The repository records all changes to each BIP transparently and allows any community member to easily retain a complete copy of the archive. -The BIPs repository does not aim to track acceptance[^acceptance], adoption, or community consensus on BIPs except to -provide a quick overview of BIP statuses (see [Workflow](#workflow) below) to visitors. +The BIP repository is not a tool to track acceptance[^acceptance], adoption, or community consensus on BIPs, beyond +providing a brief overview of BIP statuses (see [Workflow](#workflow) below) to visitors. +### What is the scope of the BIP repository? - -### What is the scope of the BIPs repository? - -The BIPs repository is focused on information and technologies that aim to support and expand the utility of the bitcoin +The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that undermine the fundamental principle that bitcoin constitutes a peer-to-peer electronic cash system for the bitcoin currency are out-of-scope. @@ -208,7 +206,7 @@ overall proposal. As a first sketch of the proposal is taking shape, the author should present it to the [Bitcoin Development Mailing List](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address fundamental concerns. If the author wishes to work in public on the proposal at this stage, it is recommended that they -open a pull request against their fork of the BIPs repository instead of the main BIPs repository. +open a pull request against their fork of the BIP repository instead of the main BIP repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble specification above. @@ -216,7 +214,7 @@ specification above. #### Draft After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the author should -open a pull request to the [BIPs repository](https://github.com/bitcoin/bips). The document must adhere to the +open a pull request to the [BIP repository](https://github.com/bitcoin/bips). The document must adhere to the formatting requirements specified below and be named with a working title of the form "bip-title". The author must not self-assign a number to their proposal. @@ -234,7 +232,7 @@ the feature clearly and completely. Reviewers and BIP editors should provide gui be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have stopped to make progress may be closed. -When the proposal has been assigned a number and is complete, a BIP editor will merge it to the BIPs repository. +When the proposal has been assigned a number and is complete, a BIP editor will merge it to the BIP repository. After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author may continue to update the proposal as necessary in the git repository. Updates to merged documents by the author should also be submitted as pull requests. @@ -325,9 +323,9 @@ reasonable to return the Abandoned BIP to Draft status. ### Adoption of proposals -The BIPs repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether +The BIP repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference -implementation: the BIPs repository is not a signpost where to find implementations.[^OtherImplementations] After a BIP +implementation: the BIP repository is not a signpost where to find implementations.[^OtherImplementations] After a BIP is advanced to Proposed, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md @@ -492,7 +490,7 @@ mentioned in the [Changelog](#changelog) section. year and its Author does not assert that they are still working on it when contacted. - Many judgment calls previously required from BIP Editors are reassigned either to the BIP Author or the repository’s audience. -- Tracking of adoption, acceptance, and community consensus is out of scope for the BIPs repository, except to determine +- Tracking of adoption, acceptance, and community consensus is out of scope for the BIP repository, except to determine whether a BIP is in active use for the move into or out of the Active status. - "Other Implementations" sections are discouraged.[^OtherImplementations] - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling @@ -588,7 +586,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD can be represented by _Abandoned_ without significantly impacting the information quality of the overview table. Where the many Status variants provided minuscule additional information, the simplification is more valuable and the Changelog section now collects specific details. -[^acceptance]: **Why does the BIPs repository no longer track adoption?** +[^acceptance]: **Why does the BIP repository no longer track adoption?** BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. From 27c46c092bee9282e2766947c8860c4b151f6cab Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 27 Nov 2024 15:03:28 -0500 Subject: [PATCH 124/153] Fix reference to current process --- bip-update-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ecae202934..74d17c0f69 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -20,8 +20,8 @@ evolving needs of the BIP process. ## Motivation -BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin[^capitalization] community. The BIP 2 -process seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs +BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin[^capitalization] community. The BIP +process as defined by BIP 2 thus far seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned From fc60b695b909febd89f95e4d58315a71b5c36c0e Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:27:41 -0500 Subject: [PATCH 125/153] Explicitly restrict title to 50 chars --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 74d17c0f69..b47bd9723f 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -121,7 +121,7 @@ assigned by BIP Editors. __Layer__: The Layer header documents which layer of bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Title__: A short descriptive title. Strongly preferred to be less than 50 characters long. +__Title__: A short descriptive title, must be less than 50 characters long. __Author__: The author header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. This may or may not be the original authors of the BIP. The format of each author header value must be From d48c894f01cc029fa1dc1fd5d0728554731d2586 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:44:47 -0500 Subject: [PATCH 126/153] Avoid "we" in the proposal --- bip-update-process.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index b47bd9723f..db200fb71b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -22,7 +22,7 @@ evolving needs of the BIP process. BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin[^capitalization] community. The BIP process as defined by BIP 2 thus far seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs -more often describe interoperable features beyond the base protocol. We have had multiple debates about the role of +more often describe interoperable features beyond the base protocol. The community has had multiple debates about the role of BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned to the BIP Editor role, and delineates the BIP Types more expediently. @@ -333,11 +333,11 @@ file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership -It occasionally becomes necessary to transfer ownership of BIPs to a new author. In general, we would like to retain +It occasionally becomes necessary to transfer ownership of BIPs to a new author. In general, it would be preferable to retain the original author as a co-author of the transferred BIP, but that is up to the original author. A good reason to transfer ownership is because the original author no longer has the time or interest in updating it or following through with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad -reason to transfer ownership is because someone doesn't agree with the direction of the BIP. We try to build consensus +reason to transfer ownership is because someone doesn't agree with the direction of the BIP. The community tries to build consensus around a BIP, but if that's not possible, rather than fighting over control, the dissenters should supply a competing BIP. @@ -429,7 +429,7 @@ to: * Readiness of the proposal * On-topic for the bitcoin community -We observe that discussion in pull request comments can often be hard to follow as feedback gets marked as resolved +Discussion in pull request comments can often be hard to follow as feedback gets marked as resolved when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the mailing list, where it is also more likely to be retained by the community memory. @@ -550,7 +550,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD The definitions of Informational and Standards Track BIPs caused some confusion in the past. Due to Informational BIPs being described as optional, Standards Track BIPs were sometimes misunderstood to be generally recommended. This has led to a number of BIPs that propose new features affecting interoperability of implementations - being assigned the Informational type. We remedy this situation by introducing a new _Specification BIP_ type that + being assigned the Informational type. The situation is remedied by introducing a new _Specification BIP_ type that is inclusive of any BIPs that can be implemented and affect interoperability of bitcoin applications. Since all BIPs are individual recommendations by the authors (even if some may eventually achieve endorsement by the majority of the community), the prior reminder that Informational BIPs are optional is dropped. @@ -580,7 +580,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD proposals that appear stale may be tested and cleared out after only one year which should achieve the main goal of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** - Previously, we had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has + Previously, the process had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has stopped on this". The many statuses complicated the process, may have contributed to process fatigue, and may have resulted in BIPs’ statuses not being maintained well. The author of this BIP feels that all of the aforementioned can be represented by _Abandoned_ without significantly impacting the information quality of the overview table. @@ -598,7 +598,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD example, the content of BIP 2 appears to have been penned especially with fork proposals in mind. It seems clear that bitcoin development will evolve in many surprising ways in the future. Instead of mandating the effort of writing a new process document every time new situations arise, it seems preferable to allow the - process to adapt to the concerns of the future in specific aspects. Therefore, we define Process BIPs as living + process to adapt to the concerns of the future in specific aspects. Therefore, Process BIPs are defined as living documents that remain open to amendment. If a Process BIP requires large modifications or even a complete overhaul, a new BIP should be preferred. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** @@ -643,7 +643,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD * Some BIPs, in particular those concerning the consensus layer, may include literal code in the BIP itself which may not be available under the license terms the author wishes to use for the BIP. - * We have been provided with a learned opinion indicating that software licenses are perfectly acceptable for + * The author of this BIP has been provided with a learned opinion indicating that software licenses are perfectly acceptable for licensing "human code" i.e. text as well as Markdown or Mediawiki code. Why are OPL and Public Domain no longer acceptable for new BIPs? From bb252f615695290ea0355ff9118c68b352670474 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:54:16 -0500 Subject: [PATCH 127/153] Add Fundamentals section --- bip-update-process.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index db200fb71b..d68a0ed068 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -27,7 +27,9 @@ BIP Editors, and some aspects of the process specified by BIP 2 that did not proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned to the BIP Editor role, and delineates the BIP Types more expediently. -## What is a BIP? +## Fundamentals + +### What is a BIP? BIPs cover the range of interests of the bitcoin community. The main topic is technology that supports the bitcoin currency. Most BIPs provide a concise, self-contained, technical description of one new concept, feature, or standard. From 2e115e51e92787d0dc75cb39bbe67678dadbd579 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:54:30 -0500 Subject: [PATCH 128/153] Minor rephrasing of rationale header description --- bip-update-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index d68a0ed068..e164670d33 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -85,8 +85,8 @@ a dedicated section. * Specification -- The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to enable any bitcoin project to create an interoperable implementation. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular - design decisions were made. It should describe alternate designs that were considered and related work. The rationale - should address important objections or concerns raised. + design decisions were made. It should describe related work and alternate designs that were considered. The rationale + should record relevant objections or important concerns that were raised and addressed as this proposal was developed. * Backward compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors, and documentation must be From d857e80782137fbcbd310e3b71cdfca0030c69dc Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:54:56 -0500 Subject: [PATCH 129/153] =?UTF-8?q?Add=20link=20to=20RFC=E2=80=AF822?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index e164670d33..efe839fc2b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -97,7 +97,7 @@ a dedicated section. #### BIP header preamble -Each BIP must begin with an RFC 822-style header preamble. The headers must appear in the following order. Headers +Each BIP must begin with an [RFC 822-style header preamble](https://www.w3.org/Protocols/rfc822/). The headers must appear in the following order. Headers marked with "\*" are optional. All other headers are required. The overview is followed by an explanation for each header. ``` From c6ad72e0705ac56d18cac98d1fd527b85c03b5a9 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:58:45 -0500 Subject: [PATCH 130/153] Improve Discussion header description --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index efe839fc2b..6b7ec546b5 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -110,7 +110,7 @@ marked with "\*" are optional. All other headers are required. The overview is f Created: License: * License-Code: -* Discussion: +* Discussion: * Revision: Version number of this document after a Changelog has been introduced * Requires: * Replaces: From 1804ea9bc784bcfa76bcff03637bfc1fe471bb3a Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 2 Dec 2024 14:59:29 -0500 Subject: [PATCH 131/153] Clarify number assignment responsibility --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 6b7ec546b5..4c675d1bbe 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -118,7 +118,7 @@ marked with "\*" are optional. All other headers are required. The overview is f ``` __BIP__: BIP number, or "?" before a number was assigned. The proposal must not self-assign a BIP number. Numbers are -assigned by BIP Editors. +assigned solely by BIP Editors. __Layer__: The Layer header documents which layer of bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. From d7fd3f7d0413c633b0a471d41da6421672800c78 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 4 Dec 2024 16:44:15 -0500 Subject: [PATCH 132/153] Change Author to Authors header, always use plural --- bip-update-process.md | 103 ++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 4c675d1bbe..95165bbf3b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -46,7 +46,7 @@ submitted by anyone. ### What is the significance of BIPs? BIPs do not define what bitcoin is: individual BIPs do not represent bitcoin community consensus or a general -recommendation for implementation. A BIP represents a personal recommendation by the BIP author to the bitcoin +recommendation for implementation. A BIP represents a personal recommendation by the BIP authors to the bitcoin community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more bitcoin clients or other related software. Some may even end up changing the consensus rules that the bitcoin ecosystem jointly enforces. @@ -104,7 +104,7 @@ marked with "\*" are optional. All other headers are required. The overview is f BIP: * Layer: Title: - Author: + Authors: Status: Type: Created: @@ -125,8 +125,8 @@ definitions of the various BIP layers. __Title__: A short descriptive title, must be less than 50 characters long. -__Author__: The author header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. -This may or may not be the original authors of the BIP. The format of each author header value must be +__Authors__: The authors header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. +This may or may not be the original authors of the BIP. The format of each authors header value must be Random J. User @@ -176,53 +176,53 @@ convention. ## Workflow -The BIP process starts with a new idea for bitcoin. Each potential BIP must have an author (or multiple -authors)—someone who writes the BIP, gathers feedback, shepherds the discussion in the appropriate forums, and -finally recommends a mature proposal to the community. +The BIP process starts with a new idea for bitcoin. Each potential BIP must have authors +—people who write the BIP, gather feedback, shepherd the discussion in the appropriate forums, and +finally recommend a mature proposal to the community. ![Status Diagram](bip-update-process/status-diagram.png "Status Diagram for the BIP Workflow") ### Ideation -After having an idea, the author should evaluate whether it meets the criteria to become a BIP, as described in +After having an idea, the authors should evaluate whether it meets the criteria to become a BIP, as described in this BIP. The idea must be of interest to the broader community or relevant to multiple software projects. Small improvements and matters concerning only a single project usually do not require standardization and should instead be brought up to the relevant project directly. -The author should first research whether an idea has been considered before. Ideas in bitcoin are often rediscovered, -and prior related discussions may inform the author what issues may arise in its progression. After some investigation, +The authors should first research whether an idea has been considered before. Ideas in bitcoin are often rediscovered, +and prior related discussions may inform the authors what issues may arise in its progression. After some investigation, the novelty of an idea can be tested by posting about it to the [Bitcoin Development Mailing List](https://groups.google.com/g/bitcoindev). -Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the author and -the broader community time. Not only may someone point out relevant discussion topics that were missed in the author’s +Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the authors and +the broader community time. Not only may someone point out relevant discussion topics that were missed in the authors’ research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also -tests whether it is of interest to more people besides the author. After establishing that the idea may be of interest -to the bitcoin community, the author should work on drafting a BIP. +tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest +to the bitcoin community, the authors should work on drafting a BIP. It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the overall proposal. ### Progression through BIP Statuses -As a first sketch of the proposal is taking shape, the author should present it to the [Bitcoin Development Mailing -List](https://groups.google.com/g/bitcoindev). This gives the author a chance to collect initial feedback and address -fundamental concerns. If the author wishes to work in public on the proposal at this stage, it is recommended that they -open a pull request against their fork of the BIP repository instead of the main BIP repository. +As a first sketch of the proposal is taking shape, the authors should present it to the [Bitcoin Development Mailing +List](https://groups.google.com/g/bitcoindev). This gives the authors a chance to collect initial feedback and address +fundamental concerns. If the authors wish to work in public on the proposal at this stage, it is recommended that they +open a pull request against one of their forks of the BIP repository instead of the main BIP repository. The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble specification above. #### Draft -After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the author should +After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the authors should open a pull request to the [BIP repository](https://github.com/bitcoin/bips). The document must adhere to the -formatting requirements specified below and be named with a working title of the form "bip-title". The author must not +formatting requirements specified below and be named with a working title of the form "bip-title". The authors must not self-assign a number to their proposal. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed beyond the ideation phase, e.g. by generating substantial public discussion and commentary from diverse contributors, by -independent bitcoin projects working on adopting the proposal, or by the author working for an extended period +independent bitcoin projects working on adopting the proposal, or by the authors working for an extended period toward improving the proposal based on community feedback, will be assigned a number by a BIP editor. The BIP editors should delay number assignment when they perceive a proposal being met with lack of interest: number assignment facilitates the distributed discussion of ideas, but before a proposal garners some interest in the bitcoin @@ -235,16 +235,16 @@ be improved to progress toward readiness. Pull requests that are proposing off-t stopped to make progress may be closed. When the proposal has been assigned a number and is complete, a BIP editor will merge it to the BIP repository. -After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the author -may continue to update the proposal as necessary in the git repository. Updates to merged documents by the author should also be +After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the authors +may continue to update the proposal as necessary in the git repository. Updates to merged documents by the authors should also be submitted as pull requests. #### Proposed[^proposed] -When the author is confident that their BIP represents a net improvement, is clear, comprehensive, has a working +When the authors are confident that their BIP represents a net improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the bitcoin community, they may update the BIP’s status to Proposed to indicate that they recommend adoption or implementation of the BIP. Where applicable, the -author must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the +authors must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is adopted. @@ -288,8 +288,8 @@ Preamble must indicate the latest version in the Revision header. #### Abandoned[^abandoned] -A BIP that is _not in active use_, may be labeled Abandoned when its author has stopped working on it, no longer -recommends the proposed approach, or no longer pursues adoption of their completed proposal. The reason for moving the +A BIP that is _not in active use_, may be labeled Abandoned when its authors have stopped working on it, no longer +recommend the proposed approach, or no longer pursue adoption of their completed proposal. The reason for moving the proposal to Abandoned should be recorded in the Changelog section in the same commit that updates the status. ##### Draft ↦ Abandoned @@ -301,8 +301,8 @@ to Abandoned unless the authors assert that they intend to continue work when co ##### Proposed ↦ Abandoned BIPs that had attained Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per -the author’s announcement to the Bitcoin Development Mailing List after not being opposed within 28 days. To successfully -oppose the move, at least one of the opposers must become the new BIP author for the BIP to remain Proposed. A BIP +the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within 28 days. To successfully +oppose the move, at least one of the opposers must become BIP author for the BIP to remain Proposed. A BIP can also be moved to Abandoned by the community if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -316,9 +316,9 @@ Status update by announcing it to the mailing list, and proceed if no objections The Abandoned status is generally intended to be a final status for BIPs. -If a BIP Author decides to make another attempt at a previously abandoned proposal, it is generally recommended to -create a new proposal. (Obviously, the author may borrow any amount of inspiration or actual text from any prior BIPs as -licensing permits.) The author should take special care to address the issues that caused the prior attempt’s +If BIP authors decide to make another attempt at a previously abandoned proposal, it is generally recommended to +create a new proposal. (Obviously, the authors may borrow any amount of inspiration or actual text from any prior BIPs as +licensing permits.) The authors should take special care to address the issues that caused the prior attempt’s abandonment. Even if the prior attempt had been assigned a number, the new BIP will generally be assigned a distinct number, unless it is obvious that the new attempt directly continues work on the same idea, in which case it may be reasonable to return the Abandoned BIP to Draft status. @@ -335,17 +335,17 @@ file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership -It occasionally becomes necessary to transfer ownership of BIPs to a new author. In general, it would be preferable to retain -the original author as a co-author of the transferred BIP, but that is up to the original author. A good reason to -transfer ownership is because the original author no longer has the time or interest in updating it or following through -with the BIP process, or has fallen off the face of the 'net (i.e. is unreachable or not responding to email). A bad +It occasionally becomes necessary to transfer ownership of BIPs to new authors. In general, it would be preferable to retain +the original authors as a co-authors of the transferred BIP, but that is up to the original authors. A good reason to +transfer ownership is because the original authors no longer have the time or interest in updating it or following through +with the BIP process, or have fallen off the face of the 'net (i.e. are unreachable or not responding to email). A bad reason to transfer ownership is because someone doesn't agree with the direction of the BIP. The community tries to build consensus around a BIP, but if that's not possible, rather than fighting over control, the dissenters should supply a competing BIP. If someone is interested in assuming ownership of a BIP, they should send an email asking to take over, addressed to the -original author and the BIP editors. If the author does not respond to email in a timely manner, the BIP editors will -make a unilateral decision (which may be amended should the original author make a delayed reappearance). +original authors and the BIP editors. If the authors do not respond to email in a timely manner, the BIP editors will +make a unilateral decision (which may be amended should the original authors make a delayed reappearance). ## BIP Licensing @@ -435,7 +435,7 @@ Discussion in pull request comments can often be hard to follow as feedback gets when it is addressed by authors. Substantive discussion of ideas may be more accessible to a broader audience on the mailing list, where it is also more likely to be retained by the community memory. -If the BIP needs more work, an editor should ensure that constructive, actionable feedback is provided to the author for +If the BIP needs more work, an editor should ensure that constructive, actionable feedback is provided to the authors for revision. Once the BIP is ready it should be submitted as a "pull request" to the [BIPs repository](https://github.com/bitcoin/bips) where it may get further feedback. @@ -464,16 +464,17 @@ changes, and update BIP headers as appropriate. BIP editors may also, at their option, unilaterally make and merge strictly editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc. as long as they do not change the meaning or conflict with the -original intent of the author. Such a change must be recorded in the Changelog if it’s noteworthy per the criteria +original intent of the authors. Such a change must be recorded in the Changelog if it’s noteworthy per the criteria mentioned in the [Changelog](#changelog) section. ## Backward Compatibility ### Changes from BIP 2 -- Refer to the proponent of a BIP as "author" throughout the document. +- Rename "Author" field to "Authors" +- Refer to the proponents of a BIP as "authors" throughout the document. - The Standards Track type is superseded by the similar Specification type.[^standard-track] -- Most sections are declared optional, it is up to the author and audience to judge whether all relevant topics have +- Most sections are declared optional, it is up to the authors and audience to judge whether all relevant topics have been comprehensively addressed and which topics require a designated section to do so. - Layer header is optional for Specification BIPs or Informational BIPs, as it does not make sense for all BIPs.[^layer] - The comment system is abolished. Comments-URI and Comment-Summary headers are dropped from the preamble, Comments as @@ -488,9 +489,9 @@ mentioned in the [Changelog](#changelog) section. - Final and Active are collapsed into Active. - The remaining statuses are Draft, Proposed, Active, and Abandoned. - BIPs no longer get rejected solely on grounds of not making progress for three years.[^rejection] -- A BIP may be set to Abandoned by its Author, or by anyone if it appears to have stopped making progress for at least a - year and its Author does not assert that they are still working on it when contacted. -- Many judgment calls previously required from BIP Editors are reassigned either to the BIP Author or the repository’s +- A BIP may be set to Abandoned by its authors, or by anyone if it appears to have stopped making progress for at least a + year and its authors do not assert that they are still working on it when contacted. +- Many judgment calls previously required from BIP Editors are reassigned either to the BIP authors or the repository’s audience. - Tracking of adoption, acceptance, and community consensus is out of scope for the BIP repository, except to determine whether a BIP is in active use for the move into or out of the Active status. @@ -513,7 +514,7 @@ considered obsolete. Specification BIPs use the Layer header rules specified in #### Comments The Comments-URI and Comment-Summary headers should be removed from all BIPs whose comment page in the wiki is empty. -For existing BIPs whose comment page has content, BIP authors may keep both headers or remove both headers at their +For existing BIPs whose comment page has content, BIP Authors may keep both headers or remove both headers at their discretion. It is recommended that existing wiki pages are not modified due to the activation of this BIP. #### Status field @@ -521,6 +522,10 @@ discretion. It is recommended that existing wiki pages are not modified due to t After the activation of this BIP, the Status fields of existing BIPs that do not fit the specification in this BIP are updated to the corresponding values prescribed in this BIP. +#### Authors header + +The Author header is replaced with the Authors header in all BIPs. + #### Discussion header The Post-History header is replaced with the Discussion header in all BIPs. @@ -574,11 +579,11 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD Some reviewers of this BIP raised that in a process that outlines the workflow of Bitcoin Improvement _Proposals_ using "Proposed" as a status field value was overloading the term: clearly _proposals_ are proposed at all stages of the process. However, it fits the situation best: it does not imply that it needs no further changes like - "complete", is less subjective than "ready", communicates that the author is putting it forth for the community to + "complete", is less subjective than "ready", communicates that the authors are putting it forth for the community to decide whether to adopt it. [^rejection]: **Why can proposals remain in Draft or Proposed indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where - the author is still active in the community and still considers their idea worth pursuing. On the other hand, + the authors are still active in the community and still considers their idea worth pursuing. On the other hand, proposals that appear stale may be tested and cleared out after only one year which should achieve the main goal of the original rule. [^abandoned]: **Why was the Abandoned Status introduced?** @@ -644,7 +649,7 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD Why are software licenses included? * Some BIPs, in particular those concerning the consensus layer, may include literal code in the BIP itself which - may not be available under the license terms the author wishes to use for the BIP. + may not be available under the license terms the authors wish to use for the BIP. * The author of this BIP has been provided with a learned opinion indicating that software licenses are perfectly acceptable for licensing "human code" i.e. text as well as Markdown or Mediawiki code. From 9bf78fe44c8f56b7254664254d18887e00b848b4 Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 4 Dec 2024 17:27:28 -0500 Subject: [PATCH 133/153] Include Mailing List in Transfer process --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index 95165bbf3b..3272f74a1b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -344,7 +344,7 @@ around a BIP, but if that's not possible, rather than fighting over control, the BIP. If someone is interested in assuming ownership of a BIP, they should send an email asking to take over, addressed to the -original authors and the BIP editors. If the authors do not respond to email in a timely manner, the BIP editors will +original authors, the BIP Editors, and the Bitcoin Development Mailing List. If the authors do not respond in a timely manner (e.g. two weeks), the BIP editors will make a unilateral decision (which may be amended should the original authors make a delayed reappearance). ## BIP Licensing From f16907c171f6990bd5dfda258d24a6068a3c97ef Mon Sep 17 00:00:00 2001 From: Murch Date: Wed, 4 Dec 2024 17:32:32 -0500 Subject: [PATCH 134/153] Address several minor issues from review --- bip-update-process.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 3272f74a1b..87dc06fd56 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -156,9 +156,9 @@ __Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a Replaces header containing the number of the BIP that it rendered obsolete. -#### Auxiliary Files +#### Auxiliary files -BIPs may include auxiliary files such as diagrams. Auxiliary files must be included in a subdirectory for that BIP named +BIPs may include auxiliary files such as diagrams and source code. Auxiliary files must be included in a subdirectory for that BIP named `bip-XXXX`, where "XXXX" is the BIP number zero-padded to four digits. File names in the subdirectory do not need to adhere to a specific convention. @@ -171,8 +171,8 @@ convention. bitcoin community. * A **Process BIP** describes a process surrounding bitcoin, or proposes a change to (or an event in) a process. Process BIPs are like Specification BIPs, but apply to topics other than the bitcoin protocol and bitcoin implementations. - They often require community consensus, and users are typically not free to ignore them. Examples include procedures, - guidelines, and changes to the decision-making process. + They often require community consensus and are typically binding for the corresponding process. Examples include procedures, + guidelines, and changes to decision-making processes such as the BIP Process. ## Workflow @@ -192,7 +192,8 @@ brought up to the relevant project directly. The authors should first research whether an idea has been considered before. Ideas in bitcoin are often rediscovered, and prior related discussions may inform the authors what issues may arise in its progression. After some investigation, the novelty of an idea can be tested by posting about it to the [Bitcoin Development Mailing -List](https://groups.google.com/g/bitcoindev). +List](https://groups.google.com/g/bitcoindev). Prior correspondence can be found in the +[mailing list archive](https://gnusha.org/pi/bitcoindev/). Vetting an idea publicly before investing the time to formally describe the idea is meant to save both the authors and the broader community time. Not only may someone point out relevant discussion topics that were missed in the authors’ @@ -229,14 +230,14 @@ assignment facilitates the distributed discussion of ideas, but before a proposa community, there is no need to refer to it by a number. Proposals are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too -unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility, or fail to specify +unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility where necessary, or fail to specify the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the proposal may be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have stopped to make progress may be closed. -When the proposal has been assigned a number and is complete, a BIP editor will merge it to the BIP repository. -After the BIP is merged to the repository, its main focus should no longer shift significantly, even while the authors -may continue to update the proposal as necessary in the git repository. Updates to merged documents by the authors should also be +When the proposal has been assigned a number and is complete, a BIP editor will merge it into the BIP repository. +After the BIP has been merged to the repository, its main focus should no longer shift significantly, even while the authors +may continue to update the proposal as necessary. Updates to merged documents by the authors should also be submitted as pull requests. #### Proposed[^proposed] @@ -246,7 +247,7 @@ reference implementation (if applicable), and is ready for adoption by the bitco status to Proposed to indicate that they recommend adoption or implementation of the BIP. Where applicable, the authors must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill -omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is +omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is being adopted. A Proposed BIP can only move to Active or Abandoned. Any necessary changes to the specification should be @@ -275,10 +276,10 @@ has rough consensus per the same criteria.[^living-documents] ##### Revisions -To help implementers understand updates to a BIP, any changes after it has reached Proposed or Active are +To help implementers understand updates to a BIP, any changes after it has reached Proposed are tracked with version, date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced -that are incompatible with prior versions (which should be an exception after a BIP is Proposed, and not happen to a +that are incompatible with prior versions (which should be rare after a BIP is Proposed, and only happen in well-grounded exceptional cases to a BIP that is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the @@ -300,8 +301,8 @@ to Abandoned unless the authors assert that they intend to continue work when co ##### Proposed ↦ Abandoned -BIPs that had attained Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per -the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within 28 days. To successfully +BIPs that had attained the Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per +the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within four weeks. To successfully oppose the move, at least one of the opposers must become BIP author for the BIP to remain Proposed. A BIP can also be moved to Abandoned by the community if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers From 0638dcbec77e07879e6849dfa73c97d23b594836 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 11:46:17 -0500 Subject: [PATCH 135/153] Fold recommended into acceptable licenses --- bip-update-process.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 87dc06fd56..fa1c2465c7 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -366,7 +366,7 @@ GNU All-Permissive License, and anyone may modify and redistribute the text prov *either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. It is also possible to license source code differently from the BIP text. An optional License-Code header is placed -after the License header. Again, each license must be referenced by their respective abbreviation given below. +after the License header. Again, each license must be referenced by their respective SPDX License identifier shown below. For example, a preamble specifying the optional License-Code header might look like: @@ -380,21 +380,17 @@ BIPs are not required to be *exclusively* licensed under approved terms, and may licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed in the License and License-Code headers. -It is recommended that BIPs that include literal code be dual-licensed under the same license terms as the project it -modifies. For example, literal code intended for Bitcoin Core would ideally be dual-licensed under the MIT license terms -as well as one of the above with the rest of the BIP text. +It is recommended that BIPs that include literal code be licensed under the same license terms as the project it +modifies. For example, literal code intended for Bitcoin Core would ideally be licensed (or dual-licensed) under the MIT license terms. In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. -#### Recommended licenses +#### Acceptable licenses[^licenses] * BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause) * BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) * CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) * GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) - -#### Not recommended, but acceptable licenses[^licenses] - * CC-BY-4.0: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) * CC-BY-SA-4.0: [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) * MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT) @@ -499,7 +495,8 @@ mentioned in the [Changelog](#changelog) section. - "Other Implementations" sections are discouraged.[^OtherImplementations] - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling them with the BIP number. -- The set of acceptable licenses was reduced to the ones previously used. +- The set of acceptable licenses was reduced to the ones previously used, and the distinction between recommended and + acceptable licenses was dropped ### Updates to existing BIPs should this BIP be activated From d4b88253f3b7e23295829db5d8b0610c9c7d49ad Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 15:54:25 -0500 Subject: [PATCH 136/153] Clarify instructions for file name --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index fa1c2465c7..d0ccbca0a4 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -218,7 +218,7 @@ specification above. After fleshing out the proposal further and ensuring that it is of high quality and properly formatted, the authors should open a pull request to the [BIP repository](https://github.com/bitcoin/bips). The document must adhere to the -formatting requirements specified below and be named with a working title of the form "bip-title". The authors must not +formatting requirements specified below and should be provided as a file named with a working title of the form "bip-title.[md|mediawiki]". The authors must not self-assign a number to their proposal. BIPs that (1) adhere to the formatting requirements, (2) are on-topic, and (3) have materially progressed From 5fdffc0accbdd1be62cf3e917827a47b963c15ed Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 15:54:49 -0500 Subject: [PATCH 137/153] Add guidance for test vector licenses --- bip-update-process.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index d0ccbca0a4..b67be0e769 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -368,6 +368,10 @@ GNU All-Permissive License, and anyone may modify and redistribute the text prov It is also possible to license source code differently from the BIP text. An optional License-Code header is placed after the License header. Again, each license must be referenced by their respective SPDX License identifier shown below. +Each source code file or source directory should specify the license under which it is made available. It is recommended +to make any test vectors available under CC0-1.0 or GNU-All-Permissive in addition to any other licenses to allow anyone +to copy test vectors into their implementations without introducing license hindrances. + For example, a preamble specifying the optional License-Code header might look like: License: CC0-1.0 From c97044ed267aeb23ad7003dfa325a3d186651441 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 16:01:13 -0500 Subject: [PATCH 138/153] =?UTF-8?q?Improve=20description=20of=20repository?= =?UTF-8?q?=E2=80=99s=20scope?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index b67be0e769..2364fd703e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -63,9 +63,9 @@ providing a brief overview of BIP statuses (see [Workflow](#workflow) below) to ### What is the scope of the BIP repository? The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin -currency. Related topics that are of interest to the bitcoin community may be acceptable. Proposals that undermine the -fundamental principle that bitcoin constitutes a peer-to-peer electronic cash system for the bitcoin currency are -out-of-scope. +currency. Related topics that are of interest to the bitcoin community may be acceptable. The scope of the BIP +repository is limited to BIPs that do not oppose the fundamental principle that bitcoin constitutes a peer-to-peer +electronic cash system for the bitcoin currency. ## BIP format and structure From 7554714bcd08e11146894dc207d266022d01a5a5 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 17:19:45 -0500 Subject: [PATCH 139/153] Introduce Proponent header --- bip-update-process.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 2364fd703e..03b71cf042 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -105,6 +105,7 @@ marked with "\*" are optional. All other headers are required. The overview is f * Layer: Title: Authors: +* Proponents: Status: Type: Created: @@ -125,14 +126,17 @@ definitions of the various BIP layers. __Title__: A short descriptive title, must be less than 50 characters long. -__Authors__: The authors header lists the names (or pseudonyms) and email addresses of the current proponents of the BIP. -This may or may not be the original authors of the BIP. The format of each authors header value must be +__Authors__: The authors header lists the names (or pseudonyms) and email addresses of all authors of the BIP. +The format of each authors header value must be Random J. User If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. +__Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors +of a BIP. The proponents header uses the same format as the Authors header. + __Status__: The Status field can take the four values Draft, Proposed, Active, and Abandoned. The [Workflow](#workflow) section below describes the statuses in detail. @@ -336,8 +340,8 @@ file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership -It occasionally becomes necessary to transfer ownership of BIPs to new authors. In general, it would be preferable to retain -the original authors as a co-authors of the transferred BIP, but that is up to the original authors. A good reason to +It occasionally becomes necessary to transfer ownership of BIPs to new Proponents. In general, it would be preferable to retain +the original authors of the transferred BIP, but that is up to the original authors. A good reason to transfer ownership is because the original authors no longer have the time or interest in updating it or following through with the BIP process, or have fallen off the face of the 'net (i.e. are unreachable or not responding to email). A bad reason to transfer ownership is because someone doesn't agree with the direction of the BIP. The community tries to build consensus @@ -473,7 +477,7 @@ mentioned in the [Changelog](#changelog) section. ### Changes from BIP 2 - Rename "Author" field to "Authors" -- Refer to the proponents of a BIP as "authors" throughout the document. +- Refer to the proposers of a BIP as "authors" throughout the document. - The Standards Track type is superseded by the similar Specification type.[^standard-track] - Most sections are declared optional, it is up to the authors and audience to judge whether all relevant topics have been comprehensively addressed and which topics require a designated section to do so. @@ -528,6 +532,10 @@ this BIP are updated to the corresponding values prescribed in this BIP. The Author header is replaced with the Authors header in all BIPs. +#### Proponents header + +The optional Proponents header is introduced to distinguish the original authors of a BIP from later successors. + #### Discussion header The Post-History header is replaced with the Discussion header in all BIPs. From 7c4a9e7280c3a4e9c228223aa7848c0d11a14bc6 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 17:36:42 -0500 Subject: [PATCH 140/153] Add Acknowledgements --- bip-update-process.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bip-update-process.md b/bip-update-process.md index 03b71cf042..3f1ee144ca 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -558,6 +558,11 @@ adapted from [BIP 2](BIP-0002.mediawiki) which was also licensed under the BSD - [RFC 2223: Instructions to RFC Authors](https://datatracker.ietf.org/doc/html/rfc2223) - [RFC 7282: On Consensus and Humming in the IETF](https://tools.ietf.org/html/rfc7282) +## Acknowledgements + +We thank AJ Towns, Jon Atack, Jonas Nick, Larry Ruane, Pieter Wuille, Tim Ruffing, and others for their review, +feedback, and helpful comments. + ## Rationale [^capitalization]: **When is Bitcoin capitalized and when is it lowercased?** From 74627b24f6a916a92edcf55caebf3c3c78f6da4b Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 17:42:49 -0500 Subject: [PATCH 141/153] Move Revisions subsection to new Changelog section --- bip-update-process.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 3f1ee144ca..f99c56f243 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -278,19 +278,6 @@ may be ignored/overruled by general agreement that they have been sufficiently a given in such circumstances. Active Process BIPs may be modified indefinitely as long as a proposed modification has rough consensus per the same criteria.[^living-documents] -##### Revisions - -To help implementers understand updates to a BIP, any changes after it has reached Proposed are -tracked with version, date, and description in a Changelog section. The version number is inspired by semantic -versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced -that are incompatible with prior versions (which should be rare after a BIP is Proposed, and only happen in well-grounded exceptional cases to a -BIP that is Active). The MINOR version is incremented whenever the specification of the BIP -is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that -are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the -date the BIP was promoted to Proposed. An example of a Changelog section can be seen in -[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the -Preamble must indicate the latest version in the Revision header. - #### Abandoned[^abandoned] A BIP that is _not in active use_, may be labeled Abandoned when its authors have stopped working on it, no longer @@ -328,6 +315,19 @@ abandonment. Even if the prior attempt had been assigned a number, the new BIP w number, unless it is obvious that the new attempt directly continues work on the same idea, in which case it may be reasonable to return the Abandoned BIP to Draft status. +### Changelog + +To help implementers understand updates to a BIP, any changes after it has reached Proposed are tracked with version, +date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). +The MAJOR version is incremented if changes to the BIP’s Specification are introduced that are incompatible with prior +versions (which should be rare after a BIP is Proposed, and only happen in well-grounded exceptional cases to a BIP that +is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a +backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, +test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to +Proposed. An example of a Changelog section can be seen in +[BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the +Preamble must indicate the latest version in the Revision header. + ### Adoption of proposals The BIP repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether From 32b1fc429db2147ffbd150f2e236a5f2829e18df Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 18:37:37 -0500 Subject: [PATCH 142/153] Rename "Abandoned" status to "Closed" Closed is more neutral --- bip-update-process.md | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index f99c56f243..372313afa4 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -106,7 +106,7 @@ marked with "\*" are optional. All other headers are required. The overview is f Title: Authors: * Proponents: - Status: + Status: Type: Created: License: @@ -137,7 +137,7 @@ If there are multiple authors, each should be on a separate line following [RFC __Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors of a BIP. The proponents header uses the same format as the Authors header. -__Status__: The Status field can take the four values Draft, Proposed, Active, and Abandoned. The +__Status__: The Status field can take the four values Draft, Proposed, Active, and Closed. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -254,9 +254,9 @@ BIP’s content should only be adjusted in minor details, e.g. to improve langua omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is being adopted. -A Proposed BIP can only move to Active or Abandoned. Any necessary changes to the specification should be +A Proposed BIP can only move to Active or Closed. Any necessary changes to the specification should be minimal and interfere as little as possible with ongoing adoption. If a Proposed BIP is found to need -substantial functional changes, it may be preferable to move it to Abandoned[^new-BIP], and to start a new BIP with the changes +substantial functional changes, it may be preferable to move it to Closed[^new-BIP], and to start a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. #### Active @@ -278,42 +278,42 @@ may be ignored/overruled by general agreement that they have been sufficiently a given in such circumstances. Active Process BIPs may be modified indefinitely as long as a proposed modification has rough consensus per the same criteria.[^living-documents] -#### Abandoned[^abandoned] +#### Closed[^closed] -A BIP that is _not in active use_, may be labeled Abandoned when its authors have stopped working on it, no longer +A BIP that is _not in active use_, may be labeled Closed when its authors have stopped working on it, no longer recommend the proposed approach, or no longer pursue adoption of their completed proposal. The reason for moving the -proposal to Abandoned should be recorded in the Changelog section in the same commit that updates the status. +proposal to Closed should be recorded in the Changelog section in the same commit that updates the status. -##### Draft ↦ Abandoned +##### Draft ↦ Closed -BIP authors may decide on their own to change their BIP’s status from Draft to Abandoned. If a Draft BIP stops making +BIP authors may decide on their own to change their BIP’s status from Draft to Closed. If a Draft BIP stops making progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP -to Abandoned unless the authors assert that they intend to continue work when contacted. +to Closed unless the authors assert that they intend to continue work when contacted. -##### Proposed ↦ Abandoned +##### Proposed ↦ Closed -BIPs that had attained the Proposed status, i.e. that had been recommended for adoption, may be moved to Abandoned per +BIPs that had attained the Proposed status, i.e. that had been recommended for adoption, may be moved to Closed per the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within four weeks. To successfully oppose the move, at least one of the opposers must become BIP author for the BIP to remain Proposed. A BIP -can also be moved to Abandoned by the community if it has had Proposed status for at least one year, there is no +can also be moved to Closed by the community if it has had Proposed status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. -##### Active ↦ Abandoned +##### Active ↦ Closed -A BIP may evolve from Active to Abandoned when it is no longer in active use. Any community member may initiate this +A BIP may evolve from Active to Closed when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list, and proceed if no objections have been raised for four weeks. -##### Abandoned ↦ Draft +##### Closed ↦ Draft -The Abandoned status is generally intended to be a final status for BIPs. +The Closed status is generally intended to be a final status for BIPs. -If BIP authors decide to make another attempt at a previously abandoned proposal, it is generally recommended to +If BIP authors decide to make another attempt at a previously Closed BIP, it is generally recommended to create a new proposal. (Obviously, the authors may borrow any amount of inspiration or actual text from any prior BIPs as licensing permits.) The authors should take special care to address the issues that caused the prior attempt’s abandonment. Even if the prior attempt had been assigned a number, the new BIP will generally be assigned a distinct number, unless it is obvious that the new attempt directly continues work on the same idea, in which case it may be -reasonable to return the Abandoned BIP to Draft status. +reasonable to return the Closed BIP to Draft status. ### Changelog @@ -490,11 +490,11 @@ mentioned in the [Changelog](#changelog) section. - The Post-History header is replaced with the Discussion header. - The Status field is no longer modeled around the workflow of consensus changes. - Status field values are reduced from nine to four: - - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Abandoned.[^abandoned] + - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Closed.[^closed] - Final and Active are collapsed into Active. - - The remaining statuses are Draft, Proposed, Active, and Abandoned. + - The remaining statuses are Draft, Proposed, Active, and Closed. - BIPs no longer get rejected solely on grounds of not making progress for three years.[^rejection] -- A BIP may be set to Abandoned by its authors, or by anyone if it appears to have stopped making progress for at least a +- A BIP may be set to Closed by its authors, or by anyone if it appears to have stopped making progress for at least a year and its authors do not assert that they are still working on it when contacted. - Many judgment calls previously required from BIP Editors are reassigned either to the BIP authors or the repository’s audience. @@ -601,11 +601,11 @@ feedback, and helpful comments. the authors are still active in the community and still considers their idea worth pursuing. On the other hand, proposals that appear stale may be tested and cleared out after only one year which should achieve the main goal of the original rule. -[^abandoned]: **Why was the Abandoned Status introduced?** +[^closed]: **Why was the Closed Status introduced?** Previously, the process had Deferred, Obsolete, Rejected, Replaced, and Withdrawn which all meant some flavor of "work has stopped on this". The many statuses complicated the process, may have contributed to process fatigue, and may have resulted in BIPs’ statuses not being maintained well. The author of this BIP feels that all of the aforementioned - can be represented by _Abandoned_ without significantly impacting the information quality of the overview table. + can be represented by _Closed_ without significantly impacting the information quality of the overview table. Where the many Status variants provided minuscule additional information, the simplification is more valuable and the Changelog section now collects specific details. [^acceptance]: **Why does the BIP repository no longer track adoption?** From ebe9f54517c0005478c3d340d356058179abaf1c Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 18:47:59 -0500 Subject: [PATCH 143/153] Rename "Active" status to "Deployed" --- bip-update-process.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 372313afa4..25bc01306d 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -106,7 +106,7 @@ marked with "\*" are optional. All other headers are required. The overview is f Title: Authors: * Proponents: - Status: + Status: Type: Created: License: @@ -137,7 +137,7 @@ If there are multiple authors, each should be on a separate line following [RFC __Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors of a BIP. The proponents header uses the same format as the Authors header. -__Status__: The Status field can take the four values Draft, Proposed, Active, and Closed. The +__Status__: The Status field can take the four values Draft, Proposed, Deployed, and Closed. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -254,14 +254,14 @@ BIP’s content should only be adjusted in minor details, e.g. to improve langua omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is being adopted. -A Proposed BIP can only move to Active or Closed. Any necessary changes to the specification should be +A Proposed BIP can only move to Deployed or Closed. Any necessary changes to the specification should be minimal and interfere as little as possible with ongoing adoption. If a Proposed BIP is found to need substantial functional changes, it may be preferable to move it to Closed[^new-BIP], and to start a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. -#### Active +#### Deployed -A settled[^settled] BIP may be advanced to Active upon request by +A settled[^settled] BIP may be advanced to Deployed upon request by any community member with evidence that the idea described in the BIP is in active use. Such evidence includes for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. @@ -271,11 +271,11 @@ separate BIP.[^new-BIP] ##### Process BIPs -A Process BIP may change status from Proposed to Active when it achieves rough consensus on the mailing list. Such a +A Process BIP may change status from Proposed to Deployed when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be -given in such circumstances. Active Process BIPs may be modified indefinitely as long as a proposed modification +given in such circumstances. Deployed Process BIPs may be modified indefinitely as long as a proposed modification has rough consensus per the same criteria.[^living-documents] #### Closed[^closed] @@ -299,9 +299,9 @@ can also be moved to Closed by the community if it has had Proposed status for a evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. -##### Active ↦ Closed +##### Deployed ↦ Closed -A BIP may evolve from Active to Closed when it is no longer in active use. Any community member may initiate this +A BIP may evolve from Deployed to Closed when it is no longer in active use. Any community member may initiate this Status update by announcing it to the mailing list, and proceed if no objections have been raised for four weeks. ##### Closed ↦ Draft @@ -321,7 +321,7 @@ To help implementers understand updates to a BIP, any changes after it has reach date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced that are incompatible with prior versions (which should be rare after a BIP is Proposed, and only happen in well-grounded exceptional cases to a BIP that -is Active). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a +is Deployed). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to Proposed. An example of a Changelog section can be seen in @@ -491,15 +491,15 @@ mentioned in the [Changelog](#changelog) section. - The Status field is no longer modeled around the workflow of consensus changes. - Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Closed.[^closed] - - Final and Active are collapsed into Active. - - The remaining statuses are Draft, Proposed, Active, and Closed. + - Final and Active are collapsed into Deployed. + - The remaining statuses are Draft, Proposed, Deployed, and Closed. - BIPs no longer get rejected solely on grounds of not making progress for three years.[^rejection] - A BIP may be set to Closed by its authors, or by anyone if it appears to have stopped making progress for at least a year and its authors do not assert that they are still working on it when contacted. - Many judgment calls previously required from BIP Editors are reassigned either to the BIP authors or the repository’s audience. - Tracking of adoption, acceptance, and community consensus is out of scope for the BIP repository, except to determine - whether a BIP is in active use for the move into or out of the Active status. + whether a BIP is in active use for the move into or out of the Deployed status. - "Other Implementations" sections are discouraged.[^OtherImplementations] - Auxiliary files are only permitted in the corresponding BIP’s subdirectory, as no one used the alternative of labeling them with the BIP number. @@ -624,13 +624,13 @@ feedback, and helpful comments. documents that remain open to amendment. If a Process BIP requires large modifications or even a complete overhaul, a new BIP should be preferred. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** - After a Proposed or Active BIP has been deployed by one or more implementations, breaking changes to the + After a Proposed or Deployed BIP have been deployed by one or more implementations, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the - specification of Proposed BIPs should be avoided, but Active BIPs should never be subject to breaking changes to + specification of Proposed BIPs should be avoided, but Deployed BIPs should never be subject to breaking changes to their specification. [^settled]: **What is meant by a BIP being settled?** - Since Active BIPs should not be changed, a Proposed BIP should only be moved to Active after its Specification has + Since Deployed BIPs should not be changed, a Proposed BIP should only be moved to Deployed after its Specification has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, From 791260f935f7f189685aaf6a46be0854cde0bca0 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 19:16:10 -0500 Subject: [PATCH 144/153] Rename "Proposed" status to "Complete" --- bip-update-process.md | 65 ++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 25bc01306d..1d694b947b 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -90,9 +90,9 @@ a dedicated section. * Backward compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. The BIP must explain how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors, and documentation must be - completed before the BIP can be given the status "Proposed". Any or all of these can be provided either in the BIP or as + finished before the BIP can be given the status "Complete". Any or all of these can be provided either in the BIP or as auxiliary files. -* Changelog -- A section to track modifications to a BIP after reaching Proposed status. +* Changelog -- A section to track modifications to a BIP after reaching Complete status. * Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). #### BIP header preamble @@ -106,7 +106,7 @@ marked with "\*" are optional. All other headers are required. The overview is f Title: Authors: * Proponents: - Status: + Status: Type: Created: License: @@ -137,7 +137,7 @@ If there are multiple authors, each should be on a separate line following [RFC __Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors of a BIP. The proponents header uses the same format as the Authors header. -__Status__: The Status field can take the four values Draft, Proposed, Deployed, and Closed. The +__Status__: The Status field can take the four values Draft, Complete, Deployed, and Closed. The [Workflow](#workflow) section below describes the statuses in detail. __Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. @@ -235,30 +235,32 @@ community, there is no need to refer to it by a number. Proposals are also not ready for number assignment if they duplicate efforts, disregard formatting rules, are too unfocused or too broad, fail to provide proper motivation, fail to address backwards compatibility where necessary, or fail to specify -the feature clearly and completely. Reviewers and BIP editors should provide guidance on how the proposal may +the feature clearly and comprehensively. Reviewers and BIP editors should provide guidance on how the proposal may be improved to progress toward readiness. Pull requests that are proposing off-topic or unserious ideas or have stopped to make progress may be closed. -When the proposal has been assigned a number and is complete, a BIP editor will merge it into the BIP repository. +When the proposal is ready and has been assigned a number, a BIP editor will merge it into the BIP repository. After the BIP has been merged to the repository, its main focus should no longer shift significantly, even while the authors may continue to update the proposal as necessary. Updates to merged documents by the authors should also be submitted as pull requests. -#### Proposed[^proposed] +#### Complete[^complete] -When the authors are confident that their BIP represents a net improvement, is clear, comprehensive, has a working +When the authors have concluded all planned work on their proposal, are confident that their BIP represents a net improvement, is clear, comprehensive, has a working reference implementation (if applicable), and is ready for adoption by the bitcoin community, they may update the BIP’s -status to Proposed to indicate that they recommend adoption or implementation of the BIP. Where applicable, the +status to Complete to indicate that they recommend adoption, implementation, or deployment of the BIP. Where applicable, the authors must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill omissions in the specification, add test vectors for edge cases, or address other issues discovered as the BIP is being adopted. -A Proposed BIP can only move to Deployed or Closed. Any necessary changes to the specification should be -minimal and interfere as little as possible with ongoing adoption. If a Proposed BIP is found to need +A Complete BIP can only move to Deployed or Closed. Any necessary changes to the specification should be +minimal and interfere as little as possible with ongoing adoption. If a Complete BIP is found to need substantial functional changes, it may be preferable to move it to Closed[^new-BIP], and to start a new BIP with the changes instead. Otherwise, it could cause confusion as to what being compliant with the BIP means. +Complete is the final state for most successful Informational BIPs. + #### Deployed A settled[^settled] BIP may be advanced to Deployed upon request by @@ -271,7 +273,7 @@ separate BIP.[^new-BIP] ##### Process BIPs -A Process BIP may change status from Proposed to Deployed when it achieves rough consensus on the mailing list. Such a +A Process BIP may change status from Complete to Deployed when it achieves rough consensus on the mailing list. Such a proposal is said to have rough consensus if it has been open to discussion on the development mailing list for at least one month, and no person maintains any unaddressed substantiated objections to it. Addressed or obstructive objections may be ignored/overruled by general agreement that they have been sufficiently addressed, but clear reasoning must be @@ -281,7 +283,7 @@ has rough consensus per the same criteria.[^living-documents] #### Closed[^closed] A BIP that is _not in active use_, may be labeled Closed when its authors have stopped working on it, no longer -recommend the proposed approach, or no longer pursue adoption of their completed proposal. The reason for moving the +recommend the proposed approach, or no longer pursue adoption of their Complete proposal. The reason for moving the proposal to Closed should be recorded in the Changelog section in the same commit that updates the status. ##### Draft ↦ Closed @@ -290,12 +292,12 @@ BIP authors may decide on their own to change their BIP’s status from Draft to progress, sees accumulated feedback unaddressed, or otherwise appears stalled for a year, the community may move the BIP to Closed unless the authors assert that they intend to continue work when contacted. -##### Proposed ↦ Closed +##### Complete ↦ Closed -BIPs that had attained the Proposed status, i.e. that had been recommended for adoption, may be moved to Closed per +BIPs that had attained the Complete status, i.e. that had been recommended for adoption, may be moved to Closed per the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within four weeks. To successfully -oppose the move, at least one of the opposers must become BIP author for the BIP to remain Proposed. A BIP -can also be moved to Closed by the community if it has had Proposed status for at least one year, there is no +oppose the move, at least one of the opposers must become BIP author for the BIP to remain Complete. A BIP +can also be moved to Closed by the community if it has had Complete status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -317,14 +319,14 @@ reasonable to return the Closed BIP to Draft status. ### Changelog -To help implementers understand updates to a BIP, any changes after it has reached Proposed are tracked with version, +To help implementers understand updates to a BIP, any changes after it has reached Complete are tracked with version, date, and description in a Changelog section. The version number is inspired by semantic versioning (MAJOR.MINOR.PATCH). The MAJOR version is incremented if changes to the BIP’s Specification are introduced that are incompatible with prior -versions (which should be rare after a BIP is Proposed, and only happen in well-grounded exceptional cases to a BIP that +versions (which should be rare after a BIP is Complete, and only happen in well-grounded exceptional cases to a BIP that is Deployed). The MINOR version is incremented whenever the specification of the BIP is changed or extended in a backward-compatible way. The PATCH version is incremented for other changes to the BIP that are noteworthy (bug fixes, test vectors, important clarifications, etc.). The version should start at 1.0.0 with the date the BIP was promoted to -Proposed. An example of a Changelog section can be seen in +Complete. An example of a Changelog section can be seen in [BIP 352](https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki). After a BIP receives a Changelog, the Preamble must indicate the latest version in the Revision header. @@ -333,7 +335,7 @@ Preamble must indicate the latest version in the Revision header. The BIP repository does not track the sentiment on proposals and does not track the adoption of BIPs beyond whether they are in active use or not. It is not intended for BIPs to list additional implementations beyond the reference implementation: the BIP repository is not a signpost where to find implementations.[^OtherImplementations] After a BIP -is advanced to Proposed, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual +is advanced to Complete, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing this BIP can be observed in [Bitcoin Core’s doc/bips.md file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). @@ -454,7 +456,7 @@ For each new BIP pull request that comes in, an editor checks the following: * Motivation, Rationale, and Backward Compatibility have been addressed * Specification provides sufficient detail for implementation * The defined Layer header must be correctly assigned for the given specification -* The BIP is ready: it is complete, comprehensible, and technically feasible +* The BIP is ready: it is comprehensible, technically feasible, and all aspects are addressed as necessary Editors do NOT evaluate whether the proposal is likely to be adopted. @@ -492,7 +494,7 @@ mentioned in the [Changelog](#changelog) section. - Status field values are reduced from nine to four: - Deferred, Obsolete, Rejected, Replaced, and Withdrawn are gathered up into Closed.[^closed] - Final and Active are collapsed into Deployed. - - The remaining statuses are Draft, Proposed, Deployed, and Closed. + - The remaining statuses are Draft, Complete, Deployed, and Closed. - BIPs no longer get rejected solely on grounds of not making progress for three years.[^rejection] - A BIP may be set to Closed by its authors, or by anyone if it appears to have stopped making progress for at least a year and its authors do not assert that they are still working on it when contacted. @@ -590,13 +592,12 @@ feedback, and helpful comments. This put an onus on the BIP authors, and frequently led to lingering pull requests due to the corresponding BIPs’ authors no longer participating in the process. Many of these alternative implementations eventually became unmaintained or were low-quality to begin with. Therefore, "Other Implementations" sections are heavily discouraged. -[^proposed]: **Why was the Proposed status retained?** - Some reviewers of this BIP raised that in a process that outlines the workflow of Bitcoin Improvement _Proposals_ +[^complete]: **Why was the Proposed status renamed to Complete?** + Some reviewers of this BIP raised that in a process which outlines the workflow of Bitcoin Improvement _Proposals_ using "Proposed" as a status field value was overloading the term: clearly _proposals_ are proposed at all stages of - the process. However, it fits the situation best: it does not imply that it needs no further changes like - "complete", is less subjective than "ready", communicates that the authors are putting it forth for the community to - decide whether to adopt it. -[^rejection]: **Why can proposals remain in Draft or Proposed indefinitely?** + the process. "Complete" expresses that the authors have concluded planned work on all parts of the proposal and are + ready to recommend their BIP for adoption. The term "ready" was also considered, but considered too subjective. +[^rejection]: **Why can proposals remain in Draft or Complete indefinitely?** The automatic 3-year timeout of BIPs has led to some disagreement in the past and seems unnecessary in cases where the authors are still active in the community and still considers their idea worth pursuing. On the other hand, proposals that appear stale may be tested and cleared out after only one year which should achieve the main @@ -624,13 +625,13 @@ feedback, and helpful comments. documents that remain open to amendment. If a Process BIP requires large modifications or even a complete overhaul, a new BIP should be preferred. [^new-BIP]: **Why should the specification of an implemented BIP no longer be changed?** - After a Proposed or Deployed BIP have been deployed by one or more implementations, breaking changes to the + After a Complete or Deployed BIP have been deployed by one or more implementations, breaking changes to the specification could lead to a situation where multiple "compliant" implementations fail at being interoperable, because they implemented different versions of the same BIP. Therefore, even changes to the - specification of Proposed BIPs should be avoided, but Deployed BIPs should never be subject to breaking changes to + specification of Complete BIPs should be avoided, but Deployed BIPs should never be subject to breaking changes to their specification. [^settled]: **What is meant by a BIP being settled?** - Since Deployed BIPs should not be changed, a Proposed BIP should only be moved to Deployed after its Specification has + Since Deployed BIPs should not be changed, a Complete BIP should only be moved to Deployed after its Specification has been put through its paces and changes to the BIP have stopped. [^licenses]: **Why were some licenses dropped?** Among the 141 BIPs with licenses in the repository, only nine licenses have ever been used to license BIPs (although, From da246308e4990e17fa18a326675a06640e157632 Mon Sep 17 00:00:00 2001 From: Murch Date: Thu, 5 Dec 2024 19:23:07 -0500 Subject: [PATCH 145/153] Update Status diagram --- bip-update-process/status-diagram.png | Bin 52678 -> 91989 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bip-update-process/status-diagram.png b/bip-update-process/status-diagram.png index c50bc9078599892daca30c783bb2722dd7992a6f..ab37d835409bf702dd9fbc1cdbaa26024937e39d 100644 GIT binary patch literal 91989 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

9g%B0MLg(F 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 J{G7w>{{hw#XoUa( literal 52678 zcmeGEWmMGd7d8yrfQlfEzyK;C(g+em3rKgDN_TfEBS?3*C>_!b0@4!FjdU{t!T`g- zdyeAuzt{cg{raru;e%^=UHs16d!KtB$FU7mkdwf^{owYMD_5{3U%pVfa^)7zl`GeF zF>itYlDO=Tapg*1sN@S_71yclSqxW|@yhkRiGJCXqao|401$`!Nmwkigs_ zL|*VEWX~yKcHW809Id{n_cw|yG$jceI%@9Z&C1G>Enn78mFrA*)V+|W{?;rZCWcCQ zigr)*j}YXg?$QpuX3|ZBrGqr ze5r~eeQJ+|uUIqtyy`W{1x1HhdRg^_pVt}A4$279F@7{bIbon@nWRNN!2EZLD_5?5 z`t%8kPeFmw&(6ap%&wXZ3wAbK)m@y6%r?FOV~wIunplC$;X3AtTY{*4y&X?c0sWR~N$%+Bi@(T5im2HKbgC&e6fhIyF8_nNRW zXYW>C`Dx4TZJl^(DcE^36n3zyiPy>|%T!=U8kWz-cAD;HboFwyG)!|Cr!l<9rQoyT|(l5HkfR_(!~AB2&w@vx$}g*k$O98)wo z(Qm21D7iQ(yQ*DafJ|hae`hT(EU7UfrL{bx%WB;ub3iaV)iu$85GW^{& z`8}bF@6Qg${d7L&z--TGuC1xRe@_;dXLX!SU2*K9w{W>BU!k<1u(0z)Tz5_C3cc3B zILzUN+b)Szhrx(fboLkddME|~%BaKGr!>8H@;nTU{hvgR4TG2&vol&kkP$$!0qdX6-X^Zvu{UW>}SP_4UgM z2@LYtzPyg9kWtnq%Y!-U6drqa`C4Oe4C|6n8rCoy8`m`bmJ6G2bds_@eI@wV%Bro#vo)9F6r_TpIdVd=dE-2)2f7;h)Yf`sFkjb@abGZ} zj4KA>(KNwB!ot*g<@buO{hi%cM23^cnMKmjJn_D6T#jQy3ZIA4%jVzk(Jay80TV1; zTAGf!c)EP`oP5txv+I*Z7TP=(r`&D_`;ig1F*F}7bx77awXq`%64>n$$ocY{$=NEZ z$)Op^+vD}++ml6&+e3M=+k?AelXXV;lONqgCqF4tXg2FPX%-mMXnwZW)NIm;s#nM` z7RcSpyRaVKzgg?N(h$*Uci1XCS?REKMh`Je$c`iEv3SY!+z2>>NAm#X&IJyi^K?l8 zwVI>jH8}g_Ino=BOdVzCQHD9P*S$FzvY+qgq^9XowfC7>zqc`^&hzB7Bi823T85{k_Yj-2M_16Jr7!eDg?` z`$H(3QKxfXn_NtRQOLa=l+f;UEtjdo(jq~=uPrJ|)PAMjrpHWKyyq=SFLGzq=j{%A8n*J25;sm8fj{H<&(VBe@-gbf z<}*&n*5eTnILBzfzw}wEYac&;Y(mHmT$9k|)5_QP3n)w1%9?w2=zgDxoEsZl$0N6s zGjF_$6BP{w4wf*;1l9AV<`>Kfe5zrT916~+<2q_ZO3a_u3O#FI)Ec3NzOHrKdU-E= z-;L%hP?zd;axhlbw<2|a%6Z4%h2wJX%kMT-Uuo98PC6}U9btB-F{Dh&9%GtdW3D}l zPvCG6xoBV{`o^7QbeO+llyi@1c^Rv1xxeV?%T3~p*4DnK63e?*Pgh#2^&JqFrjrek zjL9iKcUu(t&mF#h@ZL3w6yceZC~hosF6wd9v^;I~=7-~pz&rQFFK5U72m&iyD^6|b zS*4rS7FX~{AYWd!BI+w1Btp$D;b1umOqR>a27Axub5kH@i z6S}Tlda^IEDl2PWluxCMRRU|J@&e5(3Nwmnu99C=k1AzXDaQT3-yP4H!}^IdGg&V6 zBfEb7PN$DHSFz~b_K%{*6i%;{nNqjf2D=l?K*Sr!#<+YJ&7JICOvLw>>eBXhbe9|S zh1bN>oMxJB_QCRYy3H0j*{D~0c{n-)DpLAthwEp0CvqPOx9@*88t*S!`EF*gTonqh zOFoEVq&sWx>y?<{kbkHFJc?QF6Cd_tbU z4WlNjuJh)E2yKl0X+xTHyLOpRI`jU~s6iSsr`~zW=ic%0oZHqO@(IsLtqGH;#VfeW z^cHuzX0}13@_1Iw*1vfMM+&bGkK`}QwtS6{eJ~p7U>p`-9L@Jq2LFBa#(tfc{dxwZ zOgGus{%k_n9+{1Jw}V(|yF0!~7JqN_zDS8-GvzttXXAb%YsHBO_jxM?=HG#Z-hT3? z+0oOYAx7QZ9L=LOY2eaI+Nw)Fgh>N59`L8WE19!^o+NK1sWOE3a3e*dz^wW8z()b#qZ?Fm9_)tK6 zudAOzdpX;st6Am1zHP9_A^vg|5yXEiT7;VxD^nLY+gY1rN@kexWW11UR-W%*9JnDp zU$Hx#fQ>E>gGnC=-E@V!aFzAsi+kIMpqZ*Y-Kf?Z_utIadx`JPmUi$<)5T+VsVc8L z=afZqR&!l0mnSME<*d+bGZdCLdl(ICuprg)ljmSYoxbjv+)dmlHhAoY_0ZmKZS_g* z9*U;Se5I_GiOSQclM{)Wp7Bl=Y)`#>EQE5?hMZ7>vdY>d^jL`sJ?^fr5K~@{ov|KX zi1aPHdG);1tdhx_A-aD~eRoH+cPMQw4wRqhAF2#I8Yxfx59^z)Bi1*h1;A6?V-_tD zHAwTp^WLcZa?c6Mz6bWYOlISFhVVWt?zQHR?itkIZ?7B^f?Sq^ntWJ9mbar*v&>~6 z?6CvZA{Nno=JaV6I(d?$`iJi_XI08WYwlbg>v0_J;yi2+|9xKSJ-UU21l&h-VPrCR z@l>~k?k}Ky7FcMRjFOJrZA{8LnTKoEm!|lY3H>VN+vS6Vu~n8^Enh=CO`s}vnMs%+ z(c7VBYTh!2+xm~vWaJ#ZN}DeT<)$t0c5f4vQ}O-@2|V~Ekh_)Vh=E0e#d)3{U@HF z>c_g{lRh7N>Bk3E8#d3S3N*)i(#^^sV4Jse=!`uA?*d=7vUm053Ij@MHFCI)ZR~F&JSm@yO1tLG=WmM?av^e za*AuxcY_x0T^3dZ!itKD^Bl5`_POt`SKf1%LOs}Dj%0eQfc5U!6htBz>u<;rY9WL| z|8}M>tE^Rwm(2;Ai^k=CB8HyrNMvuU6G$ykadkv6>6 zcZu~iva6_hc~4DdF6$Xz5qfmQlvTDNX<#dh(ABf1vC$I{8H%C8OmyC=$vjj^TipnQHk6P6qHMHcm7U8Ad=Tv z&6RdOwH^Xfl5=Tg=`ib}4c+YOqhzL0l){C!YExze1IYn%U?D;MVzh!{nzUM2}gVO77%0h?RHuES*PqHCxp)=5i5HMQ0dA&hYYn2FZ9fkYZlxNrf6EpE z-wePq8{>4Z4S<-WTVCejMsj%kH0^oD6f$w)&;w4@eZ5D$~gsK}gv`Uz5$Rc6#NNIY-phKbS4sW&3jii0rBH{vxpI%=cmTKb8}47!>cdApS* zs$gFHDr^}}y|kH(YzJ1ku;X)Gi*o+esn~;7-nk#wxA>3df1SSx_kmC4sdjZEuX@$j zm<+@0=f;?lj#Ky)RPtiB?XV#iUZ;mk_6ir)yKB^gCnM**M171za1Pa1yiShN^dgB}A9_lgd`!wRg43!R;P9=q#@i<&HCk_{v^!I#U!pveqBIvvvq? z2@*G#MA@*OK_p3JPe6*ZnY)1v3B#k~bMtT-&bF!=(Of_1mR<%DqOwcpc8E@PU ze-Nyd)D6EIJhZoaV=tN+lBY zOr8+(Ocv=>gXlol-YEbqlo|dZLJ}stkR~YDX+Y`n0sUMxR}!=;cA9bbBp6HfZ7`nr zsC;b7@Y>aggW&fd=e#YoPh!v*|CKAQB8yocy{SQRoN+^LS2j#&q{=qP*Ns`X4F=`uK$N*Dtgi;>Dj8UFzoDYfXY3w?-KGwoAB;PY#Qt+4zixc{cD53qoyUY7)9@r&N2*wZ zD`4?$dX4j5ggmtn=Y73$PwTG^x!=5;o9%Ic8HXk`R#UQlQXjn4-b>WHpyy4u<;@_R zHhaYI8t#=wN=*>4I|JQN7E+KrZLm%tm)m;<5=fppWAkoWI7%f-aAdJ%X(dhN2hBv8 zM81!hpZlnnF(qu;weCxML2&_^hQvq-Bp0D)M_F!)jDMNqZ=f5sR941|;nQo01 zXkI-BmaYQLRqu4D{g^Gg`99?p1fW_2GVlC6<`DHezw@%7RYl4LQeETnhdf<%HlgN( zX&QS}s1B_3MY(#eK9MG4^D1A&fx~{+YD5smd{~jgRz!cL*RY2GGM^?t=oGp0(W0bq z#l-mKjYSU5UWN&NwkpH!dCa!brDU()*SOL?d=nfkQxM@MKRKB+ND9+j2pN8MsDAS8 zauX7zr8GVUiBrWwlF7GMqL+({o<4ybW5JuQ_37nOj+L~d06JQ~*wWARwBfgGLs00w+aXDsroejsapGWRa0dS+kLaij}cLa`Q5*s z^Ir>^b%or{Y>Y}z7d$ci%2@YGw;o`?XWXnIkpymO!{1Ib>mRG+FbAL6NpNQ)|^2-KyCt1 zuJ^X});N}y#zwQK330OJ9ze!w8_4*G4;Nb+r*l?{t)3nfxc*8s+AQ~*#a9&`Wv?u1 zw}qxpuW81C#rZ1^^>k~1G`K70`5*rif{95;pt1Arw|Jc9l9A8nN#yswJ{8A?Z~T-A9s7ktH-aY!XG~d8#&lI`zs{-MiY(ooXn<~a ze!eXdo=hniwjH;(&kVU?5u-B`jFI1Rge+KH({5W%AVCeZ>;|4pvex>Bu2BM<^E-Ti zYFNNTuERp}2jR($zjf#bs>+T^*56HUqn-s~vF&!065v3yT*AX3)1iifPGHPRYp@i9r&Zdi7qaDw+yAs|IOeSCF z`qPFd1>kPW>pc0|_2w^omEDMOjx6=X_NatD=?hZFGrIB*N$!h^(nxEld@4= z?1%kF-ab!nEx8ed$ulaGCCsM_%e5)e<}5jhOYoc!T&_9d`1qJIAv?<`ZVOi+|>J1}}xeEac)vs}237IV+*w334OJ?_Q% zV}XEeHk+;m)K-$2c&s)=SSh2G&kjfcn`6Z;57f=hOyWB@ zHd&F)V{1W=U-iBFK!~HplAgR1#mUDJFlC^s8#XpSFSz?h@ z7G#9A-Ctx&uMD63ItNdv@7{m@KJ_h#z05gF6?Y{@$>-Z(&LW4q3zL^2%|kv<-}<&P z(&J}#Hir4p4vQ?X1zAc)w~y_9EAa0}_5D8eW3tzG)f=^Lx+r;l z8=SLmnaQ&s2pio+73)G(sDdz%&c%C)ZW#}LuP*bL|7eKpEFD?;>>5$8ApI(DrG_yR zV+T6}@8?Xu1KcMF%N=QB%((6cd`<1+i$HilSu^fp&d~uIb@JMVGGF!s|Gj{ekUq#j zG5LJw-OhVRT=|2$e-ryhTio$0d5ugq^0FpIv{JthIpR-ocSyX%mFE{vMb4 zPp%QY3VroC@)Q(3_Pi!L(<90=dFhOtOJAQ+$cnyPEoi#yz$on@kg}xh@4+Q%?ao!W zsQI@{=rY*N?iPWQ(z9iGQ|RQV5e8vszGzaP>H1S{Rh^kkDQii{?)TSQ=?D?$@w7!@(@47|*gy!`Meh$&97a)_ zcBa#A{Kb-HuaPyXnNR0yAbL4G2xD*Qe@&`&pu^H`Y>Mx8S!eG@43i#G?q(-mMM7et zp2qcMy8fb9c{7fD(AaG5t+7^Tf9^X_a)u(rQF&%F_0^#My-hRGk%2M?$w)|G=K`F> z+%3OwjdZYDx;Sb_zRYzH73&O+dW~zwg3GN{A>1JMhL7{K5)|{$sd+xfG*0&6adzEv zy8!R~84jGgJ8e3Tj{u2UZyrXz4mD5ApCQ6kxo(oi_V?JJcw}VAW)R3I=&7@!z5=uc zm@&=fc+qZYk<_mO@h_Qa7Mq_I1jc#5dmj^+Ha%9T_oMNXoHZo5Spb`2`Z;1^^)N51 zmAA9iZTPm#o>1SjuDVo)5m@w~e6zQXTJgFjE{VV=x^_PuSdv(|^(d5daq5JlhL8Ae zclQ9lMUs0P)O6@v9$9YO>{VFz5&1Ss710&q(^k|b{pNBbhb}d@SC#v1A!lKhi=}lp06~#0sPVH9??`^7d3+L^h z;z1a-AHsD!W>L!T=zI^Kwb7f|xiEA8N!#!4^g$(elc(aHQxs(r8V3w6P=^iN0YDev zI`-#Wuk8Dpr&uP233w;b_>5La^1JQ+2JnR*y1qcz%gr@g<5YP@N@W<2Gjf64I!J(D z|H#a+5nYH;4o9N4W@Y2bcab7Xb>7upRzsNKJ1TGVL!VFZ$U!EzpFhzlwtO?u?)M5s zE&`ro5aE*tWw-}~rtO2mQ+jBD>3B|77>^Hdi!{|23|>mna~IAjA*0Y`DHl?6vWl+4<+ua6JI z?=|a_-^N%V!ck$=KJ%adG@5ZfyPWq(+cU03QF5d3CPvO@k278Yg*~Cem-PC~Kh|^@ z+?s6G9yGUyKEd}tIXe|#qwdgE_~jDTh7|bC)5P%15E1O*bWhdxCH>0pi!J@kdJ|cg zGIXNpq!IcQk~@hpTA=!iR2?KA%jddVo>hWgmIY|yci?Dq@8;863eYZr-JH*L$k&Dl z-n}3XAnjNS)3MEaQx3ErM-EO*;dm$n>_hRvu|pT?!p&i(IWe24ljE;N;Zh^mbt(ZB zfS`vQhwJh48YVa7t9?#E*PLD{N_$O#!)O2jP$pP;t{HC*0;G*}3V(SNOA+?g41D&c zE^&Y8%Hr@_w)Ejtswd9c11R&g3e&ll_ckwrQn;I zkesaCCB~E!osDLiQwLD(zczXQ58el=Or+`|DH;_260McxkFbMN%7Mv`WZ~VPU=v>k za&BYXS(U?fKkHpX^gi(RE~4yNs&zp+R*j4FvHo%q7*(epv>m^B{bhf4raR1Ly77cI(ccKmTSoyPU-y%v}0314~h z?DLt$x3^<8)Homw<0}KqBRpqJ!_m4r^{y|&NQQcKZ84pUPisNa7k(+< zb_zOYnpNO)l|>#rkV6Z^G55kbO|zDXK5Ae85UZ=;AdmC(k{oJD^;84KQ6^6KG$yVu znJc0sjC8%4QY1GsYOO8ccg&MRi>_t%&ok20s`T;8%=x*Ax6FxP&8uzs2^o+Q^8|7- zgSvQ|&G{UMue3v(u7_J{F2w310-I14t|EB3rK0uHcL1Xug{aRiDfjZ_S*S7eM~xQ5 zxv(IgIStvmT!oE0%!!?b;!hr7oK)ErXHqC(yVVX8dFOw4l@#WDbl@%!a>J(%S8IF8 zfW&{VzJU<}HP2{>Gx?kAQi(w3oGM)t7J8_trEp(x+nvmKpS&5qbsklxU(iwCzivwB zGVxK2&<{4KcU$WP?$jDk+aP!0331~$Zy=!uZpMGD^Wid@+Co^TpD%Wujb=dB4H+S0A3Zva8zVEL7ABC+WX8_V%6OFc}c{Q@Gq72P(azIwQc* zfqSLcoriBi@X%5uRn`n1`#n5L$_v1sl3|Hz8~7N{lo`~U@oL4;D=s1@cR+<)_mTh? zHW=_L5dL!E=QK^oZ)VK_o5U$0zOWa+Q(h>37=R5vKM4B+X@3pAB#<&# z#?TTSO9g2NUrppUfbk>PhjjvH_!s(~Nt@3t$g!3NFzrdjs`GmzhTxplj*NPlO2;(4aQp5272qH@-9rU_9N; zsee=B@Q|zO+XbFT$)~tG?kc|C8VXTgk6ekOFzM_`)SpoO+5E2$V14-6ZG@Y|7NZ!i z(Go`J?4%KzBN-%e>pV8=r8t7;_$cx%#&az&yc)Bkr^>qt?S6n$yxXQY#ZKV`+t4tQcpz!??%LlpwtZkY z?lXT$_GZ9AyVjv_F3=$9G&|qN(s)PztsHx`kw+}<2?gak>bw%b_$odG*70KTxIac^ zmD4Q+$H$x8`X#CG32-l$7}OXO1BWh+9OkAlie(y8Hw@K=LVetcyTNEL%CS}S{i=$R z{ZI9pZIZ&WXPAQ1(A6&xkUS2?`nR4*dzRORrU2EsSr72_6dtRP28V;k-J0*{zuFxX8C?`7jefqghPu< zDv!p+T30wKj_S6?Os$)gwPv#lmzfG39aaV3kyqwzm#&ZP-f|w%9=f8MWc+dCpj(GNBa2Klq7t_-nza6w9-Rs3S9`S|hgJ%fFM&ACLO$d*@ zh7BpD$qKFF(R&Iq14q=r%I!v0LIEb~ul+Jp2gki_Z2*% z8p$k|ytWo*CxZt?2n$=b&nvI7lE+=d20|BzUg z#BZ9{!nh~6>dfR_vig3VdpLj-1=664l{j^1E=?Yz^0fS(FW|MV{&^dGbrfZlnR*rb z&KEreCWyC&B<=K>b)WgcZVJEP9>4rY9o27={Q9UG%AArXf zX+7)Tvjov=Ok6@jurn3=?L%&UgZx53MRt(;p4@|DD5A9-b3)NY6p7xK*#kn;}?K1~3je$FQ*6A2=&R zsrDOPZIPR7mqxoBi&nfci5376-}L<1rix8o-1Ggp-C-p0g}IL#+@`a|hO9x4hapE6 zvT+~=73hybQ@`UyNh}=JDUUaVaj%LHP6H(ik@?51r+n5}qVPqy*KGmM`}u=LKK&KMB3m}i{&X7IOIEK&GL{s4xZX0MV}8=;1i=0NV1|=ON4h z*0ylW-bVS-Xgn3z5BZDD4(99Dz+X5@XYs)Kw<_A~FcA`vTzU zav|xGVQ>6{+B?Ra7Ai5oSYu7(cfNbiJC65bkmk)ofKZK@t7_S%N%N>3j$E^G{vH_k zsLyV&R`a>4L8sh%(UswAyb|5$F+i)KRA{(@Tr3tla=yv{_IqKnyOh%GVX%oyQ za%7K^x$@$7EOZI+s%+c`JTCAN!@8*@dX1-+V+fT$kBqDZCH$gRYplKOH;FY5Ju@(4 zH&tkc@1I$|Mn@Jb3XcI9<81f%b3MwZ^5j!5-ofa9-Spc~mgoj#9_;t2v(}GYD;pi& zvQB{x-*9+p^|i**nb7aRlCd(|Z&Q1B72RsbMlU}2zr|m>+jg9ax{1`$Bfvd3G0QU5 z1VF{f)TjIVBAbvXns4~we9z^(L1xjjXMoXt>o9-KGFvv}L{jOA3CHdOAzN_rAWQrg z%F<)ePd+Fx2719_=>a>ztk0Va!-_1~qvBW9L#{{Yoa`o-0a)^Ai(hbm0eR_I&u@`AL_LmbeL(WI6iL?s3p- z1kiMSr?`$8ws90;@r-# zJ-nZ@OlqYpQi|8hs+ooP53Mr8n+Y5V`avb4FwZ zAYuVUL=E)!LUVQQF`s0pQ`r89V>?$@(BgrWFD?8=(`qbT01=Gg(5HMlkT!FF$gWtQ zmoeb(c3RHO>%Ajf8gXO1Xd30$E=DW3R{F2)*Sq-$&|CM#l$4ZoqZJ>&V1&&Loa1@3 zcE$fLfek7F>PU6Wz!RNS;tc6NNpw-_#=+I)ocSO;9g8NXa<4G zHX3B3pL9ws!=PV~UT!;!!gyTrH7{+K_Fvb!bUrxgZzZ({z#q`IWbcYky-gdoH^N`W zC?LMUf8Hl8(X>5ZE$z+>l@vsR(n892-GeRd$gj(UDSMeK_S()?sD zO4EMx+XC9m%gmzP%PbR>c)WKR)EOTQkk7BeQxFj28a2U}(mT!z-{f+D`pH3wRY4k0 z)BpSrIKyQo* z9G4kLkJQt6>%?~FE9HQyZwhs>0NL7X_uG$UwtASld?J!?x~ZTiy0@p;{G~c|t-N{g z9#$p}TSycU{27%GSeHoR+h3pJSQjb&h@*t4mC#5rs1O8)u>1g`TkmX6sPsnkP-=a& zQFLPM3yc{b|BYeo@(s;er82Yxtq^3dmN81bv+F0ZK$*LEQc@p(g7tjTUT`M_>S3Pa z>C#QMfB59l%5kaROlTGwA;$QrBw*H7TFND%GEdL+RFQnx(^a597Mb*@;c`7DFc9}>`o@#X5D#uL%r`A+B3Sa z6Ws#-B-sjGj~_!X@OwvYiL;aLRD3jA@~>>ZS4Tb&`^bK=rsY0GfYzqT+87}<-HV}; zbld0Ta#9~cyAo7>WEqD_?JmCfQmVt#JkO8+h%yKRp`sY*f}v0YPV3(VLJ858+S5A2 zGFFO$_k)lZRHUeIm=as^?mUn7g0Q%GGP;c-@9;MVyoSrrxJE8lyn*2)BW^EGJx2?) zIxuMJ17R=XZosSV2(+qqc3Q30MDB&X%;&|_U8BTzp=*FhO;X%*GQ4vsAJn}{AV7eF z8FX3uzCpv1fj~r(zgiWS7h2W)%ckNHf4t;|3^3_Cj(SgAJY5!R-UgnO?%HpB;^r|~ zJ^sLy8B_jFJl1D&t--wWZ2)QUXrhab&5XP>g`?o?s0g7hJ4b&U`B;eu)@xHradYzQ zJTG&>wWa9jbdNZfYYN8%Rf}i^w!_qju3Cwju(Rd7PJarQc%9rXy>s^|U=n+8I^@*F z_bQiNp{hbFb z9gkqgMUAt0o+JZ6-8xOW&&ht+{+bX=W+%n#tkOAzT~JDn(zT;eC_SG;wwegc_VwPXQu|I!Pnb<)&rj|KzS;1p(NJmJGlM8hZF#Vl4r z96bt-L6egzK!jX<#MN>4^f*eovlr-v2)bL*%{2%-F-^*nI%d&Z&hf+9A&x8y%Z&po z2guo8QT{OA%6x^tf%3}xco0HslSp56n%sXm;!|w=62^XS^rD4TN-Nx$;YGgfuZxk8 zD``$wYE=`0Fqo2_?~|wx(;kXU$)n1=FN!PwsAoY|;7yq&6;a@i5G!*1a?24$KiQ9%vJT;hEgw9iSKWy^T!ZXHte+ zUg&D~4kjgM&vglyP^fO(0-gq4!Wfwi6f|MAJfOb*cVR%%e;Q)ZUdF>CF!#;Q&nry5 z_Dz{bV){p*HQ~T66X;Nu@M9Sm0gXoCUSlQNFZTXCBH)jp=vF1DM%k;nff~Tg_KwQ< zgRJ$K+yQh5iDlc`0u^LBO|ZyDWJC<^R_Xlc9gItB1FeO2N*X~Jei)7iB+8S^O0@#3 zLt-4BkOHl;oLmAlk-D`v!Rumq-!XkD0BYi@QlduvW+}_{-^4dnUO$0+0s=d>?694r zwbO*^5=b=YCRnqZUOTIqe%?%1-#jEYmai$<(TRol?oSqvgE6xPbX#aX6Z8}Gm%a8& zDg(_-Wk3-{kss)g3{oIrlzwEgfW~4P)BS$ej<8Mm-bA)M1>w=%aJ^Z+f7W=#cQKol z0B5L}B3|z4lz~i%?1MZ}Sl@}>gwt)(&jgx6JC&5pqB;#g9dmfnbI z1fF-^UwQ`KbD~rJ-6TSr0H?w%jInwTD6CvwkI?FW7jab$$R*278a6qywRo5*6KjD zHop?l5l%{Ce?LPdg$7**gFY~xLZChq2)qo#SFRA)z0Y*bh(mPqLMlfT^eE~TrI^AE zs?C3Jf1(LvP@`vx?v2@>P-nUr28m&P?E%crZ{^2zGU$<@lVLEQS-MmD^3Wby>AgRb zmntAluG?rUB$o^wniXt8^0@gNUQ6FgwopL&;soyVCWJx8ax4_iTPxm@&A z;(D4iCuM(~er%7?Y$MLQ&^3>t0>l?v=3bWFr0jB8eU~y3-KAxHjAzU6y9!YuqX5mjWJ#PJAt$O?*{Eu27@s`AKgBwJbmCVg~jE_K7md( z*+`TXA3(X&t+oKCS&i^*);OHgh9J2-GQBknijo_U!{RV;XyTeVrq@aZc5nWq0JI@ug1N)&`1dnR zf_$HrJ<;T*Q0cX!_YH8+5Cu)5E1>P0L)|ay04gd^V~HDl0T1NIyg(9rJSG!`$u7)% zz-ls^V-?}>Kd*dPNCos%51VC_JSV^*WC8z%bnZ^&#m?`5&~z{%*LRH@2uZ(D`T&{f zZqs#;=Rnrf%h|5&j2B6hh3~|(q*DCW!SBGnw?+QHOT&EH)qXuT0|AjnpX|fKZ_e}H z7=U)2bq3KAGR+C#M0qk1_++WpAC)iwDwl!O)DX0&b_3@?5@16DHm~3RA}F#_2AM8c zl=xy-Vg2KA;s3qvIS-S#0SysJSOA`l4CUIWbW22h|0!IQ)!a25id1bfcZ6E?yhL|; zy6C@EC~kJSu^FEM@#|EQF_L=!tnJa076(T4e#-w@bGxcAGbDs$=;`(gSGjmbrRJjn z>uI34bF-{BYAXXwSJKmh6<8UUz&)b;n!#dOj_~FJwa+>ljdyq}yx7(!0NJo!Di1md z4^~b-|K}q&RlukXgEhsS+`Ls5X>^^c()+H09jV%C$FoPfMat~VYOcTeYV1yIHP*CQ zUGhWh9!%=ZE7`??PPMx2soF|Ur|&{8>3%@%7Z2!;ICx1CywnPDMeLqW;~lh&%h6Ms zNCq*H1Jr5%y94g0x$S-cvgny0;Q-sA&pgF4vj z1I91E(hyz`dSxxE(-EtN;a14QUGn`}AmE`*jay?E1K48R+Q9bh6Oy@hUx1?A+SUCz zDzN}c9^rvZV}8R~6L=Ws|225^n#>U?XkHGmcan*9RS%6Uhm`mB7G2vN&Kd88Ob_^2 zn0Kv7=jpc@%oFvI^#EdCbZ)+$B*T~y$gv<9E-kd-2cw00Z0kJM`uwYkKNZI5KzaH< zCru$7SrkrBOOr$b{qxGEtGQbSARW9O;ORT=VAbgFB*pR{@l+uE$oo(^9&y4tBZ{7cp%nEev|WYv4HcJ%;G&cBEPIuL6v_kKZ6Lze6(j{mc4E09#x^4QPdc^?`1?nJ(*1R~Hs^fUei#mOpFLJ(GJtqRunC>hd_F!(@1q!`aZcf8NLj)S>u^;uY>5k`XSRO7sw)>vQBk;*i z20SMQ&1{d5@6SlY!+*(~14Ys7Y#Y^t_j6{-IEtyJb(fjVQlskh&G)!V&!FzaGqt1* zF2bLKjG+B?o9jgXyO$ZlZ;LGzPab)7MCkD9#YxL`aYf<1@e>I91|z8jk_YN=Q9`P+ z-I5@@%w0aX?7aWLk~mHmS0{lgj>9QtNbG%J#1F=?dBr)2;0`H#jlus5 zpDs5`U4N!l3j{jnd75**mw>;cZhRNE2aqs(8{A*7{-q!t1#|x;!|yv_QXryMUpIa-u?a~Vbop{ zc>9sIrvlsFD7CPbq0R;)c_Iz^z0^AlS>?f1!0v+dmT|HC^OK5*a!Y3082Ww8jW^T zQWn#qG%Gq<)BX4FsuVpY3f}o??)3i0rYLV--Wz81>9!CyzP;kh4lZ9JCGGmYsxX65 zlA^TF21(`;l`SMdw!nJ1o@eE*(DT`mlA6lXsD9IY-8jXif`X?$t@W2(aaSHn(MC_3 z72V^~YQ*~zeI#nYfb(%>5HCbA=eVTQhmf3#do#T_OD>z{^5QdCDMC(W2SOC_MVtq{ zEy@5B0r#1ES$6}A~BCfz=UL4_?PovWACtp^KNoyjZWWm{O+AmxheDX<7YD~ zO0$YeHjxj%Y72@E%p@;=*;FgQ6*|{VawzmRwN#(PsxO=LhgOWz{Jy?RTULmOZKZpc zPoKqqW3zvIQ%Vt%)z3EN-uzW=f+bW@UPX21=(-kuQJ+)c^|SGxo2GXdrqzd|F30~B z8-_I(~{y_^451-C*&J^*e}_a6uJ`f2$GV*?2X5#G+FaC$|0y97cV~4cupRL6Kvd z`!BD)QyVx9w_|0(`n!+}MoUdYXI0pbTU&U0Je|~ll6?4 z)6yTC?`e6(1??&~C6zNrz=a!E9C}vVj4cZO?}R^R7{pp#jF}!#@Q zs(AeO7k#V7s3GAl>|sttZ01R@D`87#DaKcCuQjK;i;=y5Rm9pc7aw=ouRFNOz`)Ry zSvmWB-2G-pZm=nJhHbHhx>?bx#O?bb4<5pm|Jzn@K~d4{7zq*~UO=3@UUN3#G}2u` zgd2Lp?i^|60K;7nyJ&Rf{_l!EJLcvEdd+j2zwo`++t-nM_>2@cm2J$rSZz2<*2pm2 zfqYG(g7$L7#?dmg)eaPgbW6Fi)Vz!rSx$xT#;zv?jE(*On7Zn)Ccn2oBo!nS2}wl} z15vs|1yrO<%87u)9NjIgl1fMkf^+&DZ^E~I= z`MK-N`UsD1pt{r|b!3+EQ01g20}_@Wc+3A)g-o7*WEbJ@?jctay_KvHGRo}%Yw)a% z$oR)DLYByX`Wo~yeEb;^6{uNC?k8hby-c34hsz+__0$`%wlYr$Zd?f;W<9FGWs%y z6^Q{R9X%ck)0h8v&38UelX4=-L_YL4s#woWS6}ZaNRMoy)ypJxzR6DR4L$cOM~;!e ze?rtH4`?(!ZndM7J3wLBP*^GXag=l-;X%uOB>~wWHpoY&JZ%kZgO%zDyVHZNXEj<> z7;=1_Ul*FsWf&P5sq1%?$7fZ#1Q2|EbJppbJ!kyFhyJ(s2f8{s-mT(#CDN(E(EUm^ z*hnf9>Epn8aXG;WPG$?nfPxWcv%=~By`M~1Uw>urM=d26tMX1>Ufv!rKY1)CLNgS< zw#Cd7L{(dS2KX}j>j3R(?{H9zIEZv@XMz(i(Tus8lk z8HLKq$ydo?Io=7Qkgj)_w%xl*G919XU=05mBEEBj%L18X#_%Xn!=lHkS2IRnZKVPh zU6&xHRz=0{7`d$~ryPd4{&%>uF4$U3Z?WECxL(?yr5|`>m<#k4)8y;;Q}nTZ$fcDu zInD^6-oRGl{^?8qTN@ax+JzlPmpMYM>iU~?r*sr8ZAc^kw7BYar0AJu-)AuVoqrp$ z^5C$sc`<{SxOl<-(vZNRTtfdV$eB6u-c_Z^U1cMU@!Fbvn`*B9|LlxB^+VthYa;hQ zI1FdgbGYU0&{@eqG+EkZ@56S|fGQfb<<9@JVd;C$cNX2`gp^eI(py)Z^b3}SFZt)5 zd(#EADdJU1>9W$2=3ILK`%iBfIs!5`VJ1Xh=sN0S6@KVtcuwAFU_#PRNm!AJLDsR- zhv}aI2|_e~9P@(}y;NFC#}A9^2_%7~LT%pdBe*5LOnT!Y&h0)2%74aD9#RPyQ)^pa za2MS}#o?6pceg2gl&t^#m#rDOnZkF#uhfS8lh-8fA;wN;PNf36Gb>^EmJ(%-_VHA( z__5?)R4Q9WQE<9modbqG=|9i%Fd-?s!)nJqsJD7IToW}I3z-ODD|uoA=Z_GLi*cz- zp|<`{u%9QxCB-ARoH9qs$z8wstRe~@WNan~U-hqg8SdlqLz61)Zih{Z*^h${W#U({8s&5p(o`Z`2)({w4miL= z`YslK)U6aCKOe(fKKV87-X(AKj;;*?WICSPaKl`Bb8&}lbjN_2^c^_i}kvV z;c05!5I$WaB@-WZplL2?nEc28^bz8JF6N=mkru#S3whz}1DGn?ff0HI8NpOI!y;_!KU2YYA<@%Hg>vlOS;-1nr%IXdQ4;@y@Y0e<*)s~$ ztWoV!1OI7-l~dVL>41$pPpUy08+=CLCW*YSq5e^?73?u!lu*%#+`m^=#Fb?84Wjd; zISjbOBP%I;$RW+&BGIPoJ6c5dpH*yBL-%i&dOSmntY#w@;SF5r=P~DtMnozuLV~3F zY~Z^Q(s40*X6)^I4E!fp*q`Yt5L-ivOOnO1BNMeT@udFi>^XxX6G$l;alIA%hp@#aLkG4qU=MJ3Kt{?4f7lmDFsee#kM*VLGFHOV8kuJKxkTl(Q z)q#sD6|GIUAX2RrAz{3nQGV5L$kF!;L!Z+X9$V4>b`o&)LnlXsCJ*&e`os!?g0)Eg z<|+9thiP{$7|h`deY0k=u`&m6TF2&|yD&0xe#N%J&_up{n7Qp~ln&9Iyd?7nV+NAy z*&*-5&zXjd#=ZR~0na+k9i_|)n=Tf~@}={j&+8Xp{@exD(#oI;PG}KFkLGH#vYPGw zlg55NgS7AB=w;)iL@90h1(I|Z*7I^5R$huf=uJ~Gxvl^7Q+W6o7#SAbGEcgk z=r`$*Lio%|l8$9*uNB-6=(2fn+4L~!-#$VgT*hf3BqNz-9iYJYCUu zUtY^Bx_(LWLu2f61Uu34kosqg4v6cSY?H^0jG?=_()v?Q9HqsT3!LKU*Z!#w)2xeZ z-~D_sll=#h-jITdbFK8e^CE2hQ$bPre{$z981uw+LKEio+&?liDjcZxI}&;Pf+X(I zQO!X_81;=lF(Q0F;Yn;GEfE?6pQn^_-Er6xQOS{X1~O5NM!z+wsImE~LBwg#T{ z?na>11qh!BfLh^tgf{>fpW z$hH9_b(E$Ioch|matI{px8x{^Qo)~?dt{lTY-S^a|EZ|rmBf{b%+b*v)>MgP?RS^h z>e%?nARWpu7Y{&LY+dE(g`eB?R~{zp`261ZYbV}yOyqRqj)3+$wjw=|fy6CWqPNl} zfo#Umx@KY@G29OV$hCW7zlO!kb zo}VAn9|(Z>^Ho%-t(ROcQDlF!p6kbtK@Q@REcw$zGB5X{I*uj9-?bnk<2M_*8b|4P z$ys6~p+^RJa8>(|1)w9zxR@smh)PVcRQ0eg@b?tc%DixiBEEchEWZ8uE1-#HhZQZOw3& zks*yOb2YEH7#SQ-2B~1wH?m{}_7Zr4opisR!JZl@(O?it<)}+@x3KIdu2^IH*hl5Q z1E7kjj4x|+bOx9-d01|7@xdEEEGwJG4W9P=Ev{lSCu~ANkx|PlD9nXZ`6Oy*ETC=s z$aPU!^`=$Q<)TljfV@czkp78^s@<)U`|3*63@fO^c8Pq}-D~C$JGc3VC!~5YbP0r* zSp(?AQ#sd@z6&ctfZu1wYhk~f!ctM+DDcY9Uzt%tG8a9gt%k$ks;WI=5^qmr(2DOE z5Sz$f>uwiB2?P7V$JC~CR8lZvqM0MO$u<9$4?j241SM(y=^n{_{0!fjykHL1gY@+w zMgy3MzV0C4=ZghNw0)wMfMMA4qG*`;rAfquAbF&>cxdKH4r{_#QSqmkagk>TKs1_e zu0(uL!3jwp1NJns5kRDoDl9Yz>G~RT2Shrz*(Hv@)Sn%Gcakl$muBqq#;4KIJm8|z zWd>@s_7GoLfrijk=%Iqgiwlb0QBRH9oZgjiJUJ7;i*Q@nrn>f*PcgmBNz{=3XRMi# zyD)74gWjEsth9{AN1FVwlkdMi{Ouar>!b#KgZC9_nFsH80aL%pMq4lwS7!A zE}~F`YK(I(%8j~h+Nu{A1lzSrzT=@d{?bG&85M}5BJ{Z6%N1iQi08@I}d>g<~JL@t_p7l;+FC1K5Qg0^CW#VVGM_3iDGs`n|0tKc%<55I*ss->GIQZ zj-0`soxg&PeN8Dqw)Wy@Fwi zJi(1&4}4Q|D}6Es(0TmYbPZU7PplTYy#n007U4AgR~7_=JRwv9FV*%?ghO@Bz|*Xk zni)<$5WE!q@Q1HWMN&-W(40yp_5vB`xnDrpV19>bpYfI9$ z*g1~r7p)J%jb`!Dt4amxq|Vays_#f3^eF%?9_?%;hH(%ID)b0p?3~^gxWoVC9zWrq z{U7R=p$9#CGeonHO$y;=pMTnr^m&UwNV+O-zak`l`FJt+yC(*-AiQm}c1+4(w`hWD zYj3F<(nI{$jrDbHidJFq5bhUOe{YZ}pFluwei7A}Qh_)TntQIo-nJD!lt3Nig^SI& zFi?H5DhL0sQ!{b2>?iku^j`v*w_z)h0)N^NV5$>-Z@6Cry6V3~1f3Vn&RWewOleLo z2J{!?9b&Apm0nKzI>eZTRxukM(ycl)0#TCxVpb)31q$P`Er2wS;Fj4>grh6^iT0Pu z+IoNMxAnt5>@Kh}?Hmqb;A0qh>%|Jxi7?Itl4kL9fH~lghAa{KZ=Le%`DP$_2UxUh zVC$?nbam?vzc=9`Z2}>4j|{npEBysQ{2>upsoXroXuYE&%}F>5LIQbAbWDJtV)|WN zqv0g!A#4LyB)$KfQTf;&`k&)%em$CBH-HWVw&h|ouq_bb5~A}NEqxnghQ&&v&COPj z#Z|VuB@NVvu(fQ_XW||(fBPHC$B@ncTvqIU{D6(elJ(mPPkmx=2pG_E<=kjVrJmOw zV(5H?*^Z!6gj=QIEYwVl>ApDq!j?Z~f>!xhmi-5Z23TO#fNnL0{ANjjuV>7FWA~Hs z`J75dwx`5(>rdFR=xV$$@477ZtVTUdEkHdYGvtmc1Mp7+hN`!M`?-t4FLuTplQzA= z`5}K*2k{gY;s{;kSY!LIS>`4bktbQ(t3O!EKMaf>s;X*V(LSehednejHE5qj7%NBc zjjVq!5jeNuo{~vJq^11wak7n&Mc7CIP#R`MG;mfRt&}lf*mG-cT^{WaDM(xh$;t}6 zyC`K?uoYg4Vu3fWa97GV#=tJ?PvDAlX%+_&Z)9vi=|B+S^gJ!mxap^^DmX|c_p zX86ZX5yQ zC-JweQ-H2*b@V-6gQ%lsh5PmR(mx1|)9n)M8)fnM{B1 zzd<rx_z~0m%WrS=y=PD++AxSb>)?d!ty$(!wj{5~ zv)R`@#ikNi@IG0?Q4*fuaGa8w*WW^33ta+BHS{=0MknN<7sGu_oouU#DC8(1+Lzqh zV{b|vtrp1+ffOAkzNXcAds&`a9y|c)3K&Hvr9+uOPz2BJag7#Xs;FXSUeEeN?U#nS zXy*ERi3HMLyCj{(_ZC9r7au7I;BNn54yH>sOAc1oj?Gt(D5W6g)WwOLk(E@t4&DtG zLc07%Z5-DHPLIZRaL~4`n1{=J_p9%@)Rf+VopCV1&_`Z`K;WTj+HW(ch*J^%=W;52 z%yR{(lv3GDojA^&#vq8PzrQawv!Lo-!piI-5XgjHG;FsCX{@5DBX#4Lnvg{3Q5yBu zPi}^&cIt68qGPhHcjO}6Mc$mH?zC*vG=tgLGz^uypjw-pp!Ty}1= zUk6=nbf5~xz)8;y_5r#25QhI4&`98c zH902}@hmSpY>k(bK;86`=#3)*<$p%4`)70sNxQ>awNIY9?wInpdfl`gw;UtM8b00_ zv;1E6ZluozWlD%YF7RY^^d!Ua_OtdB{q&l*;xEFgUycO>2$;s2skYH1zrBq))9&Dk z>VQD{S7o&U<#iH6C{N!1#(@L>g^KzU{0lh=9|1#Fi2tSnIA+j)?>fCMmrnQg4*I(jhs$PsDEg_zWK$g70c-W1 z7R>89H76-VgOiGm@9nz(vG`h{*xU2poMZPE*_7A6@}U!Jth}>MIC{oYjUOy&w|0O) z9&`Oa=3oikhph~)fy^IH(lJc4RYWZf(4&N;FUUdvpFH(H%No5BCXW7Y1$#?C<@;9? zh6$(oqri=?=@o#HIvydE{5otWlCEcNFuHp{_j^saHFQt?{`BZrgS8L%GTZT&g`FDO z6E6VCuxb$4X`P(CPY4AW87ty~BPWWJC3dV{w3hl{O?vQEc37Y2-|vJPVEZd%fypMa zlZwvpcj&_u6QHsF@q~L#Uv~mYMKXz{DdG}~4Fe(km@%?^bZ4LJcv?g5Tu z>9lK(h@tz;^P zW$}81j#5O?o1cw+17wi&Z$wgCN6A|iTo3>6Xd73Nn(7t!_1S`?pTs2{a&APnjhvzu zbaEv+)+9W2y%|*Faxkj07WN zADJ~&ix#Dmezb9`v`5BPAaIYa9R#0zhq4&P@zk^V^{tdwyNgSwAR6_LWu!ZFz1Bvi z*@QCEcKgIe`>(44yK!7;S0w!O@i-kqnat6?CjmlM|BNFVE!Vl`QOQ4FnmkMDzr{vc z1F1iG^`HQ@t+9eEFi?H^n+rE_^<@J4pjvC->U4gCOdUelz(lgnBW=?98W*+!zi%U% z1Ip3I1?lu}M7(oIhk(XDwo0#TcnWig0FZ#)1eh_X*IBw}zN>HKcYWp(e{|-0&Hpz4UI5c3S-}xPzE)$XDyo#aTx+8rc^Lx19&9~i4W`se zerCML@pa~zL6q25RBM2~Y7=keuN3uzuc zC!)`@9^+~9gi-`B^H^*do0(nApe8>|nl@M~_xnD{xYexIVtfa3)YGQXX!JSXtJm{CVphugq-_a@INaMT+A+TwKQ6}( zF0MUTR3=4=4{ltU(w+9SM^h(W4e7TjyYPw(B9GUJoO?Zdgy$XNToX{{)asxA<+EO_ zv;K8W*2{CcPR}bd1c7RZTEUyRg>U!D;2GD}TWPm_(^h`F6pQBhyg&SgOY(Df;{3SO zaEQ)-32POD8qBGFgMV{tuF3HTJ+k&I$u8fZm7JwRo^Iz@KFc-HZnU*s-!b`A+AqoN z{-G}NuAj`5ls%zAYjUjIE5dE*65h*C3M;-Af0wkuES&WUXu3iiPP0S3&Npq8v1L~W|>pNvUZyy zvJJ-eX_I%xM;q;8KX!@I-OG7x#RX#+XH!ysZZld;ujRYvOfHyWeOfmE0{oDIZnynF&C(f6h#T{R|ru6mE{+YMSb zA=c_dYWNXjND=*K(T3+QzcP|7UGiP~W@bYwlM@8<(uX=U?hcl#+=I_AXO%ackCMBw z{?PFB!!PABD^4Eh4TC)StNj~$^NmP&HO+Ot2hq>DXYR&4ULF6LENFd;s1fq_11Zk# z+s-ul&=r-Ga4jIf53^|L)bV=|Xy5Oa*Oy4tkw7$zKUOUjypLQ?pKGowDZ%y1p@vi7 zBTwDGnjW58%bk$BAe{BZxeA3z@4diTf3)eicHpE=UCGaSm;R;mckFyf_Nmuj`yNU5 zCfxSr?iV$`3u8@WaAi9!w%YU25tfV6inG6GhpI1E-#|`OT<#ZLsQhr#xl4Zs0aYWa zLzfW{?Isg_eYeLxK8MDV#@F-BVa4@*e-3*MfO@qAR#DM$esnb&oqrT++rJL($a)r0 zrCYo%-*P7LEiVFVkjXGM|5kXx-29!QHa}T?o624f5_xjll>g(wlWYZwomPqn0*cE|8=D_G0*yqW5n}l zl;c5ZW#0RkD}tVvw_F9MHKOl4m=Hi5{&8pDKm}^G=d^2vW@lgM+A%i2m=&T;BcjJ_ zVy~15=hcRCOwWHEhF#Tvx*0`%G+NveD45^ldzc1gJ1|^Dv=Z|Knr0DZ&==tiC3hD? zjp4uoXf*jA9z6wwPzHoRITr#jKaARJOxTsPRDeK$ue~YlzLRxLJ9R!W>Kcrm>@=Mc z4fexGv%uB})Nx>@p%!y{D;w$LG-_tW#Z=x0H^QkczVKJxHH> z?R-n@0DmFj(|nP!s2EnZr2eb0NLEatN_0&TFeZ7OuEs|{3R6<|^`E(Zs`lJ#wXTlS zJioR0Wbl$j2-P&RAswK)~ zhI{K{*RYl&yZMiYi^JNxPgqh#uyL`4x&yi$)g&w27(vs=;hVIbfvdcX?SA4@Q2W_Aoz(v#Yi!+||m4?VJwL zc?=@Xj%D&zDk&CEc4rKqdoEmmDC;-Y>gCuO=#kUdMRVW0EAy9s_T1(1LFgTrX+iF`J6~v!nABXjN30UnZse1iwSMH9Z@9eG9#IrdCQ=U6> z%hNo`ZGIM`rA_w7(|6M@Vp>i}dd#q)xbaT^y_%df&sP(NI3!41&P#MO_9Z!3j=EaB zM&6lwec&nEQT54SByaSx=ar`&^;nbYs1Ecn zUD;U)WFo$r*G%}w==+$an?VJD&riLwIgDMm)GA z&6id72{EyXsjX_&Jq^*Q0tVA_7=dVdNO^tas6YVTU$&ExA|MVb8uIS_Pu-)Z%2m(_ ze^qtOOch#*z(G_3u2#H0+rdMtcKAZ(VW{__^!|BUHcoU+nn&A)^)9%mBQS*0PuhO% zJN4e8XK~pY?9-ouA2j|IicB1?`Q8z zBC7QkE98xCI(g=J4~bZe`uifxBffWtyj7gwbJ~6sy>1QLDX4qDp6(qGR2QK+Vw?)V zYNmRcY#joDQ2%^CHX}D$M6s7E1yoqLrLEqm)dJJo<>k`);j`p$)@lRnN%~>D=Bcx5 z*M>%emVYI@4~`P578nvBKTWrQST(KM+3)TyXCiC#a3&N^b}qdMsb-ZZl-<4?7yMdC z+0i^g`kR^gC{-}`XVrdBfM^WhyiJ>Ql_4R7{Z5)ZbN+YULju!c9>%%Y4nE4$yi{~u zc`J35dZ{&!Ng$66fh{kwUZ!n3I<#94p=Di&V0XwA!)3=HzrQA}->61D(1aUS$5};i zxoM+)c-O={W;*dDSu^vFoO7>0z6nTI+^rBP^Y4`sIbEI1oE_3TcJ-Ui;6TClY{=c; z)O|FEQx-{SGPQ2KQbmAC@=CHn)1Ow%wDI+}BLUyFPl@Oz4*l)eCrPaKc-8DL`|A&?+S(*l4ta5G|whJNxb{%uUkwC6ZGVigtEyndt&G5_X} zPS;oHgDO2-Fly%(lFlt2{G9!B+>mH+aN?ot_0SI-tEa_~OD}$?j_^3Gc23Ovx`T>{ z=+++6w&3hL+{HJDy)&LDV&2$()!LfiYf_>zh1CLZRv4smh zH`kyZTw>Z`U)6dAQY?t#MpgUVakz_yu6NICU1G!H^-Rcasylu?0QVWC%bYFKTZuT} zv2$O~3EbtkGNR^6Ogg%`S3I(;eK&$F3AaYMQmwBr8IzX~z&<2p+fdqx$d>NADIg_Q z`OR_c&fHYF`XjGGmD~GuVt%U)pH-@6hVKm#zRlW!a~xJCFb==GPl@A|=G%1~mIECK zCgF&42;DfXcnhDXn>Qipnuq&4Qu&RIM?-uZL1GcCF=+d#zb%52&#&h{c#Q1ZY>eM^ z`vIBLmguvuA_qz2bp967#J7A)J{CXjx8i$~W%AN}I*em?f4}Sf#m1R((cWS1SC@#K zUn>Ji;yac!`>7amxU$ksb5+0LhbY3B=3xW+#x)I8e)ydl^yZcp58Gx$eYDz9{L*X> zd+KKOP^1ce*EF!?W^T_FZfo^9g_@N6A37IYL4l}keq#nC11*4ib-poqhHn|2hmAG=SWWTnu+0ALPOYk8!F98 zxI>(fqD^f(**mg4*LD8gs@--KxHxj-w)EQe_e%l8#88dsG9qNNoj0o=xDyfT7r3(I z-WLBojxU^_T*T%Sq~eH4#t5U(Zxfs^D-J!kf~mmOCiy0lEBmG^Gh$VC#d_2S$<7N) zq>w5KN;7IKS&DZb2XbHJ-Lg(ruHa3NnQpw?J^wrL*Y~1bF74TrwxXQUEIxa^a1-K~wNa{4*!qd(bkq{#zR3EmEy)F*c$jNI5Kc_p4!r!-+XE~iIQ>^I+jF9#4(tU zUAdumqAm?x@3aa|RzgM_zPntbtlEnxxrII$3s@c>VoLoe3m=$vi+mM>=(k`_i>peN zZ4lsJa#&3iPg+lB>}ys^{auX^>Y=|}Us&n#0)};Sart@sHLg4N9jHocWP9RP_F8Le zYe#}_1^n86z^M2qsW&(JXWSp@D=3~`P`9S%WYl)I2OueH+O5MMMm-Taq$a_Ob=co+ zkhF8>&g9(e*-I-h*F=Rxm4lco`w;K*q20pemzeSSOIG}z=7#%>*V=GItUOrii67BL zrcm;}R6SqeawhZFWOuAe&)rmw#@f$E`7aHk?nO$?DddGxjZVCzVp!~yB;#*r0)>;w zbkJNdO2Tdm;kysSTBy}^Q}x?ClimE5$}(RT-wn%#gM+eRj|_hXDj|uRq`*mQJeg|- zzXT<-DM@w?av(c?73+{a?WKZTm$#Yj+WTDX_QwL1CDWE@$)4tBnAyf8X`63;<8w%q z130HB#sTB96U=%k6x*=THDp~Kb0=pGz97rLaq<29h`kgDyi(3cw#fEgzjhe6o=)>E zQgWPSM{5D}qKJ)G9lm2~^gXyXb~IMPb{=mRc^eWN)98aovQ#O(yRM@G-WTKBIu=O}vK^)mco5tS9?n}(k? zu_iPU8ao3dcPxGcgx?-BgvHCH;J^SZf5$`utG4ag%7}zdCckyBvbO|o4uIy6k`9sp zO)j?f#)_ZCTuKpirMFv+X>USe-vBY$YIQ~Pe-sO()qI^*Woy+9F|LJNLf%d{qOLFZnmMb0KUuFlaQA zZsIi&C>>Fjv@b(|7HD;PJm|f4Nr|go0Clr>g2<8z7xz0(`&a|~ZEYL~bvJp}c7J5x zwVmcI)x53@?F9jVm$0ram)tkMAn!HbuiuxG|?8<*cLjCD}GH*Sw#PiMbRhFSBSY~&DmU|)IBJbX{B-1vUD zkM$V#+V40M@g#`G3t*gTv_VL*nV#x)Ka>WC^o3vGNMlqKQR&<>Uy4>R1?9kmEhbAl zqBENil#Z^Qof;~`5uzwpQ_sRNsY0uhhvUK@c-hOpU z;m6-(%A9*|eodx<#0+oR5HU|PqPv{BD%cZ!OERTKqujYdz}>3M%{fZW5}t!wmlLg} z4Vt>Pg-b1n5Xy38t3h9G?IoV4WU{y#kj`1$jw$5p7BT z=-g|vQ+|@-yCv-wuYa3G$xcbl51TdcM2U-I^w*6r`Q3fp<eEu>$*6=PX4vqkQQt$)KjrF<~KT*S+KC-~gV z2qayH7&Nn1l&^;P9@c|EZfM|4-l#tZO&5@Kzu5!2p%^(YSLa8Ea z%e$)ljQU-EJPl>40>28ROb?l;IXc7>z5-kcRggl*%g83ss=duHtRQZ8ySZsWx@{a( z6hS74hE6M!59%?&Ci&H^7aE7kzfX%4sC;?vtJ;Br1T*uq@`E{@Yfeas{s^pz!?FZ< zCB}?8J4Z>KED19ek&`X@et^YvqDXyB1>j1KZ`zI}=7?c|ovd=%CD$wIHTd2bB*=@B z!tVzp9_{F71%%$gUY$$?;Con>V!Tb}ypo>}w1rgI^R`=|%7H6^&oS)z3Jf%Rk5~D_ zI@?;REJqx-A?X|i1qEyz6(4MoQ`XL}v=~QjTty|*XVNJ-iGnK4VF+cG-k`(n)OJ*g zi=&MvS7M{GWZNHo!sbmptfa9cS<2~!jb!R955zH)(nzYn;*;-b*#-U0L2Ld=spm~4 z*`2JCxz*L1olA13jQ)1$lt8EB@+!|Rlv+$vBxXYI(I>_)gG8!Ru`Ye~^upbR1bo@| z@6CU0f#V5@Z4x)|@_4@{$mU2!YVJ|y`* zuJW7w_8FPYoSR+Edj#Tz*Y%s3j74so`q7896d+O0uZMDJU7=Tbq&hTWbAIu_=Ax z1;;Kue?;fF-1bKiHZmNbEe?)?VBWT zGjc_*OAyFt=$YcXYR1b7*I3Qmgxc!GpRB{sc=@TBhduU z7d^L~*^U~KzZgjUaTnOx*|(V+`U>4+=`D<2h^)ZF>CPf1ygaB>t(oEjKGdp2>Z z5YpkQ4knXx`Q#uzBmM<%j?Sy9ay0^d9X)sA29!Z-zpZ59*Qhs4T2E0$_yDjUVEGIHeWZ&hf@r+141Z;-tJ6IK96kB#rmuWD zy~1(7ADhgBuM|39tfOqlf!JaZGH|vWv{Pt&+23B?n&jrNpKqW35y}g;n!ixbxNvY4 zRr5ju#U$Lt?RLnee+MG}kfY9Z+QpJs3j)P(zM=K8k86Kt?o)`|w_A7r2Ab|uB$I~Pt z%j-bfX%HxzF#<_ly%aDArks-JygJVjdp*q32H0mDKtb+JCMo16GiPBBV#Bq2Ow;>$ z21xy@^s1Az1XjX_HHVBdX&igbdY&O}R|7Pqp`mif)1IkwLMNrt*!yA6L92LC#ME*L zw(dYq4wk(pF~ZIY;rlfEJc_$%B2{+hw(K2EM%~z}s2u-HI-FIJ6RbQ+u!D2ZsQm&B zq$?_%^G@5!mAMK6BJy(!X%SOU&FDI7=3f~2VNfKf#T?W!$qL4~ex{<+cpml~isoun zH(aPw`MdsH^%fIeRGA#|Rvt*kx;KaIA%12Sl-JN1hx9^wpQIdDck63*FC2Unkj1-C zm`w}6yu!sYnZCb+Np@wo`tZBZQjhWA9O~HVKm&C$fb@l3%Qg`>=Ie z!ngsFzCB`F-ctpx>zawCW$Z3%%!%DE1p{t>5wE+=2fBmc?FWS2B7Zu>-Ibk?K5<6S zco54xS>ec}_tT(;FLoeHv-2^FFNInxMO5*HqQT*5BmUd&nu|Nk%N< z=~B$Sj!nrq6)ydB<{WB(iOb@v3*T2wyNhOP-Eq{A$6BFJZ&d{bk!-jh)PdGEzBxkZ zufr7^ud(=GKDn-1Spdet^q<|Lm%W+qt`Ig?;4~=8UzV1ajWol~arJq?CS{U9 z;Go-d6`_#5|FqKEcfi-*pvqkB1OBL`w*53H>*Wek(Je?{Sn%dWH7ttzRZZ{(5};e* zZw|%uZ$tRNwTjWs`}&~eSxdKal8)FzQk+Q(TDXfUldP}Yp_T5daPf_X??=^q0`+gu zv_S@@r!xGE#i}g)Xa6FUB0;OHiMzd4V`SCm`;^Q(lpjyKMZz2jmVGHtK#fp7PQjh~ zDyjf7*ZgQeR=&EIFK`Mfj4yMyoTA-bB0+OekMC)<5ngLwpt zpyd^0tS0qdi7D=lX))Bh?K82s?0C3YqKl|B^PlnEF~`XBvQsBVd-J}nvyfMo!k z1R5G)&pC1{D=W@6az%XJAxXcmvogMgS6HOJgI@$rC*W6b{Iu> z|9d*)IJ?R!f>ni#t`z#bk_D;!8}wwg9m<>I)!{yle}e8d8}w;>WmA-_qaS+a%Y4}! zflJyweRq`&Ml1~Ho};7tBG}q$d==I7%jpGMl;Cq8QV8E*ub+X6{Pmq8;^cENaWapk z+^1j4D1JwVFm1rH+1ZmEd-EPK21WOz zij1(iZCTlkMcl9VJ>2)WA42nZ+ID~V4HErltHCdX9ozqPq4Au%v^$|8Z#mI?4n;z` zpCdU$dG_KgF(K}T2r_E$a9UHrsyJ0)xB8?Pr~PK8k$;Ws9>Y~WA&TbP+=qD8*FSlC z+kQb+>@SleE3Ti{#$MsMXZ!6l6kXFOz~Lg-Xw(rU`H-7$z;wm8IM0jM@}CdrH>&o=S?sl3}iv)W^(?6Ip>J8g8wE@T%6 zE4Un0n@Cs(_38xaYu4RH2Z)SUW^+8dUUm(&f`g(9M=A-wHda50BiTf3K8o4TLhR%T zM|r!`Kcw0{)Ng%Ct%`VYhHjxgZf(kS+#+GxknuzJbZNo0ce(re2$uK`O3 zhIjf(Cc~>P9tLND4w!R-3zPoRpZxFwJkNM!2{zjShmC&N{T%0{Z-%P7C2aco*LMo; zrAdRPAJFjh=O>FUmMfF(05s)6le^`;`(Af_{#pR#v@#XUkPkSO z=-UB?+?#x@!Yh+8x$_lOl>4aP!JkPj+8enEu2NXO)Wb`h`T-P)a{F?=hutOB2cE+v z&7cSL(5EV?==_^wlOI?%XXEv>j+WYyVlSTy^zs;rNS9RoZ4Z zZ2249J=s{BIe2fxn^@AOWVNQx)`r?_1SGz$y3VnvAQkEqchDs>!xz*BfXGd*v%{wK zmF7RbJM~F3EqVNrWZHYIL{Yyrf$pDcE{8GYNLIGms^5Fp&fIq!Bw-lNn;jw^euUpP zT$i6kWQIqxNLxK$LS4Ou`JLy!`NF+1cn2)^;|VoT?{3$A<&#~vfluFRa_za5 zsBa|s?LgZl^px6~pxkctpSzASu9toueU)3G!w+%pDrcLGNoL3c#O|_U7E$WOrmVWv z*IXjpdQl|#pvU=FHP=zi(J;TMeDQLq?6lxvKOrlddk}XfQM5%IH(u5UrUwksb&&t$ zPC+R@&d|R9Ia$jF$Xr_0tUp(5q!rx@_AB*y9z)yv`94JsHpkihCGs|~7J@zMb92pM z;DQyQ$%m3tS)?A@xpR5+nWa_6W$VrT7;*0gdzYrhygZ*T_f4{QAF1j(-Cu=wGAf&b zHoH;&M_$s2*$*dll%95^ZB9ACRd75r+v4X^gm*CR%k~M+m9l?!9_&7Hn~ry(Nv5II z6L=hPr?ax?v*6AkznNC*#9+K;r1nd9Zg{`_MSc&Cj$zqd^|aWej7L>BO;w5^yd7bb z9?wYGJe~=Xe+W;BhSRW0=MHErXYHsjOsi=(H}`)IY%n@N-RKiSICa+B8HG^RDDhg1 zW+gn+qTzCe4o(=R)D1t`yBY!JsObjpj>xy$WF2+;tsHH#M9BG$z3?03!i64ML-9PB zG+>?&OuWU!ODA*(yjQ@1AzXta>Rar@rfBS77*EIoL?=l@nju z#Usr(GRv)tV~*5bc8n!Sw`d7uCMvkQt@VJefsUC*7gYv zFUISK1^y&^s)|4K?wyad+g55_f4-v1)3hp{fanO^o%tZ7 z5wpX*+EE%^5=5g4$MmS))J`QN?tT!Fb|gOq)0a+4(z}6RG*m5WE;XMkOu_OG$vrZ% zSp5*5)N$c2F&B#}@#&q>+M2^_`UEwYb1 z68>dr2O!uNmp?J!1`^xe3tfr)-KH%2%fsGr)GAQq zCTCAwT1ox7Ia+_`?AlEj1=(4;DmCgW%?gds<|dHHFZ7>}oV2su#tk~8jZ+Bz(a}yF zJNNy`Hz(tz_2;9cyG#|cyJk@@qrySyEPYO))jDod6=XBDEQ;~mbC0!mW9+YOxmy&k z#lW0L(~k^~ZI^GY?@;jEk;9ye!diu6mKVNtDL&3f*(y-I7E z?|rp4b7Trc5fCWNafWO8%Z%Vz4VBftmqjBD*u6S=R%c#K#t{ldb(NS@jP{%_YdtPJ z>H7eM|4Ti6{auGf+N$bjCb~M!ubsOr)l{4aK5k;3cwiAb!(Q{vDQJ_(zr6PC;D(IT z_C2#qI@`X#y0y+n6!3&!@ggFk%6`SxVW&7O2`<;7*o38{ z5sEKSZjF$1(@v|`zp%n0J?gFNvzY6pycAw0g&v*?qdpdw7E)4Y1!UqX7h8c4vAKJe z{94YwV(ux`?zJBinr&Iqen)Q1lO`hKwsrTq{3o+Ur%BMcG*c`~11pk55p-kFy(i|d z_2^Z(str6aembg88^+7nyhL)MXY{k)gvS!~IOC$?Su0X`q5P5(f*_PK`9Q1oV@sfg z%Hm6G=B?<-VV^e3Cni@o{tjL@dI+4}7gbdm#xJA|rJ5v(seif?WZB)NHdVGmb{kNu zllOxu%R+*JI21ts@qtKv$-$;H0(<5A!{h*Kd4kTz^V<>@wmEt0^4WG>(ru>MQ}3-q z1eNVNsNUR}Yu+MZj_MsL<TEM7^6^t~?<*>bqBl zIDB$U#B3-&F-!A$@lA59=b=@}VfWDC6LL!jtpL`G9rexKOxhegT-q9-&#v;tbDQp~M@R%tra(_Qr*5w6qhXj;r zRpSZ~F%m5~{H;V3AXUAyI$h^;__j?`c|j_tTY3Vxw^kxs)orf)I1((<2*P?VB0`Or z#C+RXD%<>iO@jFnF7pM_6VJsbYB+h#wx)PPGAnm!=kr}0d+#m2(DmoqzWqY;o6A*lT^F3Sekj}4BciANt&11A>|PBLc?5$62gkF!W^9qq&~XxLgOl* z?{Z!}Xx0j`jG#AY;M?9xl5uiOU*~p0`dDv$o$O-2dbuPKH2Kmna{fvcxjI}W$m|Ll z^g1vyzjPi)#NGNft>YdiVRK(8j8X8n6$p#o@q(aE56G_w!g%_V?8k$4hm9BsfQS4iVN^kCO=oB_PC~_1Q!aG!4Ff2Fi9By28MZ-PX?(@REmcR?@vhPRopdGM ztW=}Dhjc0}-1~=Lpo}n^-2!%WTn|KZvODgeGrn^uv^6?+S6oaUC;C!Tzb+3yFucT^ ziA4~g#4FA8b$Mw%KCqv$^tC*&Ofh{aNN1B{>oRSWN`GqNGG72y2FV4*pqaBj85kI2 zbkhs&Q<^XFqSTpx-~H7=kB zT~$ou6vpCn1{?7aSLm|U)1KMPKj)<@hJLfjKz)=bXWRd^R%>S3)EW4=Gtm>RRamCl zuNjJ{@KN`enK5Zc8NfEV8NWW;yXzDwTjq`!40dVHC_|inlN}f3gqzaVE84N2n+n;# z?VXl%)kC8(DMM=obT9VUzu&Nt?UbD?_jC1-K7S@T>)NW^lTgft3k`PugR$%XwfEkC zO*P%SFy0nGL{L$XDjEevDT4F_1Sz2-RjP(sgL;{k&Z;yrg;7!BvrpmeHCgpfM{!GcP zFVJivrWH3(1r6j~dQjcTe0b7K83}Qn)=r}EX+%9Zks!Nhv9eUTd&;z7#dN5*I|OOp zyj`)i2Coyt+86`~v^8A3P8Kpe|1;`T|22i%ih$%?ihJ_u&w$a>L3ws%=FS9Hm8K1@ z=`*jDCzxHgbrm0e%R+Te0rw}W%3!Lq`4(Qs^eEDuLLJB41T`g?buVmxyUk}K;x|{A zfX;HQ=yS)@G{2h((=9(gj*9DX*r|C*K!?zt3>19NjEmDDd}UMcE6_y?p32 zw$j#Rm$oH`Oe=P-l5|@5wP44>^6LO*)aX-rAO1j%P!sC+|I47l-}43;g~E|9wYTF| zXSQ$!1il?!t@mCIMr#!b8TG&l3PVqItE8+hvVJ5E7!;hn zKkewz)$XlQSJ8)$p>4=_k~zjwO>2tc5)3hW%vYiFGyR&plx$R28BXS(XG;}t8+QwC zH2WPr8T4D`axFTku+Ta@D}CQ(d0;QR_XVrzns1RyGrSok>hk(eBq?o-6&v5zt>$}` z8c(w8{=~Ub?oDow)AA{9-wDw@-TN6PLii(~=veZ(V|`7F{KGZ5JL}dI_gI_7D;|~1 zeV7XL4fhZXOW)hBUUyp2%i@5im7)Y|%hXMW_oZd;h<8A!JfB90jQI2Zu8h2$SM_%4 z)iW?s<{!Vkw}ZQ!IrUYFf33~>GrcU&H@euEkRHyiAAsIXE0y0P(HwkD)*kR)j`?xb z`>99aLghcBNR^?*dBstrl()XYR(v$Lz8O}|%&EqTx~!+_PKzoXxY371kvdNZqs>sH zvpBS$=Kr)$WxHHUxODcajXEY_}wE{oG9 z`d;{l&u05|B(O^+x6buz%8V0U`+N0cj`P?2qd1j@85Vqfo1&pZ_~SzDota`0dL$L^ zd&a8YYofN`W1B@>hKWUKRaPSn57tl52C*GE4W6a~R~BFYB0)B5Ox zFA%rp#EPM^=(ae{wphTO1*vKQISnPLIWv;Y4=bhNF(Ok0mHsj#> z#`+tIbRjVJ(U#m3EHLag6wVLA2V=_W$SeXl zIIZdec5q&`d=rR?-00^S!5L8~Qj?y1^raUgI5ZmbRo{t6$nsdNhv!x|I{Q0{l(o@| z%Mi}fYvq%3pK37)u?za_oaBU&?VPkQ}@j*p=VZj<*Dv7T+0JiMfl`?f&3ySnQSy^2{LBXEID2u2bH*;WphY2&Eag-CI*Se~Akzz+w{nYd;lO#R0 z?K{n}S;^}5$KmqhwQ}d?C9f7#{hsZW)U5yECdo9u=@Y!ZKpym7mKoR_<;|nRFLB2O z{W;#|?cTPZ>rQMIFj>rEDYZk#IW|0c?cVnV^hP-zUJo+CG;9pyNX1C9oX&1dNug;C zcndMdhIKP2dJE*lM6PDD?0qWcLY3FGFMSX;DaK1=dH?6|%j);1+}u-DT)v}&tuO{q zn-O$M6z8`8hU=xH8X_~fsEqn9+HRGeq?wn`KYyYt4m#*$)!dxknpi`mlk$aK^oq?tPYL{yz*%9lr2a=90h6|HzYNV(e}iTt1yKS zf-X^M0VfvAIZZGd{>f{R!-8l^>p<2Q%5&wMI3Lg3#6%lZimLWa)r5eZ0ST+ z)UR-K3#|>jCTwR#^lTILXFr)&MG|5kk$=2+lM|T~Ur{`E zOsOl7s5=YI3rK&@V({#cJE7fsdcs-FEH`T#@4Mk5@qA``Zp288uziy>^?}rrcJHF2 zloJWJhu3WTi*IsOXstCB`Ko)hf0&hHt}8D2<~$kxr_yCb$|R#r|K*m4FB-Q!#GX21 zmwl+ZA(+}Noq^8S>4E0&3PtZb%GTs1*pjvBy6&~fLa2Ug9jOO$_?bUuY8@ie%Jl}O zBFjwHC)|FX{DKZhW-(XGE%y*-`WUM5n4NYRH(GvJewdZ%QLu=0;`G{Sl#RVw5-?55 zt70b+20bFXy{|GnhQkwiYcaz@9Mew-Gti;nNk0v$1zpH4sR%wt#TxtcP{AwuT+uDDlYL62S>CgNBn{#ik}+Jh*=r^;kB z&0z1IW;4fMAvkNsF42U?+P`gq8Q6B!X>d+aIRl@q{LK1QS(9x@Zc`Ecb0%=oTzp$R z;F=P%Wo?%xh@h-_O}bBBKcSuEteNRFI=161u>A?X_p*Sl3`501(&)RkU0Y3b5*m@D zMurCwB!b@>r3ejo!MBb1Mjl(Jv7_`>I8Phyih8!RY)a;qS!~{B3pL$NDa#_91g|0u zIfC$hA`?ygGUX4bYG-;v>1YC>KLYH=n^VJG9=*^P- z8w$&*r0;?^slp4bERy;k1^p4&b~!&is=}2jTCMr8ao=tsiXJ#dmpr^gySe*GVNyB8_SuFvsB{B_yd=H^sdbg)efUTxj!u~fD*H|`T}a2qpkZ5chQWho8k zBNnfTz7`HnXe9==wb$IQyBJduA+#OPBzN(1lZC&PbK~TJmcFOK5XB^htFFwYGhsAi z$tV9^BW$0dAQr>tack4k&~v=Jg`!)eez05McmqH=P^F5;zy~WN*olf|K*6jC-I*DeL)qYQ`b_BUH-yPtg^V~xAp=%S9rtD`L!x133GuN7>qfpfcMkJ``k05=D) zZ9X|UiCY0DT?(Qp5c`jH-%?+b2r>0RWVh;&_V{k)YqZWGHSaYe7DYVkfpRqOyWWx3 zB|1{o{M=j%v<_!$qWfI&rE9Fs0n&8-<_gT~m>}%d8JLl%Znd^u#f%m>2Wt8bMf!&C z0TqOruKcRt%!e~Ib{d243!f%lnIu@=0S}bzgzn7iRB|Bihgjsp_|e7mtZ`9EvU)e$ zMw{jYb$YmNfmyB+XQ@b>r8$`8sYM;TmL9Uh-8+!_jrP3|k@7HABT?QQ&|iX&t^Iu8 zYP&aUkpF#ZQ=OJK2tD9|QlcsBORpxqI_dHdxUJ$t-E`fkjvT8L8t6^h=<;4296&Zz z0%5{-iup+k+4F%%G?#UUktR4q8?%P{qH_o3BZ&akQ0{J@t;{eDQeFBk5Ddk|%zum! zUA~7}zbQ=~r9xjnPMNoE@~w>79U3`OH60-l|jmllTjWoOn`$e{(*B`i;un z5H`mLSMl8DKrm&OfM7Zi2YILWsZws~>+7=(+n>YDx!O}cl?XT|MJKa*+qqHjT^RtP zDHDn`ZPa+&ssbhYLC3+_nJaHeV(NBQqV~zDu``{i54EEdoj~J(>Qa!mue2F}#_(O& zJ38+!Hp*HVz5SB%&cV?!{}nq8bK%mbDPoQS1JV8^de#?;*II+Qtp|C#eGm^rl>d7r z&D&_v*E9f#I_U0TWXo;dtBZ)*8rdFeuXMgJ@p{yw-~(%JSp?`G+I@)xX0#{E<9e`|+~=fx&nH94I%3NO>E!py%zB<%X3yBJN+^iEc5Xk9 z0dYzS7vL#fn#;afq-%|{zY!p}yyfNbd#fdwD?ztL)^+lee2{>lm+Kb(z7{R59&e$` zQopZ6Kx)7^?Ux3V+2dOc&a=m~4gRyobPX|*TOL$cSvuvA8~~DZwNf@Jr_+_Ij`yix z`=fioUhdo7s)?dxIIg^3*)-SxL6NFN#`2nY76HD)Q|qhHNQ7*YVP)uKLNbY$Yw@yC zCAsfb^tbFHK{|7*OUy={4dCRc6WmCm=sdd;L zT&l_lPpH2h-AxJgKyKK&X&DG|=tSa#T#K6a8(tMd4&fr%A;Xt02wP4w#j zV9uQ2-k7SvQo9q5*0uL?-(eWYY3R<_QOZB6YxA;~FSbBW$_0MXIYIztc|24dA^PFk zQ;(xv98hho9{Wv+-DZ6wJ#Jy5oSMBk22DEA-3qE-ihebW__^ z=U>XJzlQ4dUk2FHp4NBJ?jpNnHqqZxF%-_LR1jC{Fx`9>vEr$*maJs$VH+=>3*zMj zGI(SbbKwbn<&?{-EnWuClGOeBwQi9s@|2|Q=d;sP*ewT!h8zvoh@)04gQwuA)qomGo>BG;~Dvp661Rpvf;0Br8-I{J)oqqe37&p~sU zsw(ACb9Ojs<37|K7wQSX#b>eoIzAt*=h%^U9L@C@x|r%#SXkrO$A*c2=}3`kehoiS zh)3?VQlZgS0}!fi;f>{-aH_%~L-cxmTen8C*WNo5JkmY;tf+kn24z1z7)Wejb0z6Y z15ow`=)CPKVH6mgClL~-eZ2uQdu;Uu5aH{0U0+43+*VF`<8>%&i+6?S| zK77W)I|w;AX=PCN$d4!+af;6m;=Sxf6E67nY;IHROckxWomc1BFZ+P1vE{^ZxLeEM ze(|XEDZVQ+-cno3D$oO;mt?7JGuhrEX+p?R$ISTo(ngy<-7P;=54fn6_yi2?eQU_= zvysWk(*=dIMwS>95wY2%qcQRG#jjjn1IbrUjFEodlEl=XJ z=!aXjGapGkvsKvh#wRE1JwRwZwSs2((we}hq>N4DTcqggENMI`xDryQ~Ws2Pk5?H3OZf+r(T5JovLY{$DONbe}ElCXX4N}9@jrDT`;Y^ z&9m({%~VsRRjZnkYM2#v*x|C(Gp3zfU8||y%YL?6XG^eJ&z2>{BpO;4H&eJ8gz6|q z*LEVoJBNAg8#af{q>*2FAw1c!7e-llf!wz!7rNi?nkC0f!u^;{THtDHgPS*F$H3Q{ zZGD+=RNX)pV1*ytU7zD0x!Uf`1zSv&WJl)*cZ;l5d4{`cv5Z4}>yMA!JgW{2HV(B4 z${hQErU`#W`sdh&b!+GB8%j@yHNwlWSI0HnyQPy?9_Q1sdjYg)D1CE(*U@$4VTjS= zsa!oCv)@mIP?69fnW{T4DSj1Y56{I4jzL4qJ>CGlUWs}y&+M>KsXOG<84InSvsVIs zug3h+m$p%p&f6-_XF*jz`{?9GSnMcGyEk>Jl4SYK>)~SV@`Y_;r_CiVLqEy&kSD7h zVsU5-)gh-YQQJb#X)Rf4pMArXL&K>zH`>pW_-)Lag4Jef&E|naLE(F0ywjV@zfQ80 z!QuQ5&l6Y#Kp|I8l(6oXs4=eE@J{s!$X=mB-)kIugGOwU_1DJYvgY)6VtSq!AhuTO z-yB+L5wD=JEx^~gE+vhuZBY~mXRTsw^!N%fST50hpVdOIDfqKJtN@xPe{QE~iNRb! z7ARppjr~aF==`6UTXJ{u7@gY?i$#!jOPJ%T4sOc~P+)I1DCPQ4{23Z6+S96B-l-n9 zR`Xa(<5dzW=~>$RQ*Wc`VJ)k0rNxaYaQ-JRTGwFW_37Rt7+0PgyO+E66P1iPb;TG}N>q5A2AF|7vey=T@nn|Fzlkb!}UKLs{TZ zHGttmR~0MW#Qtb08716KwUJwjdC%!)CAx3PzVZ;cS3B8saUayv$hLCpoxdN{MX0kE z8i9dw82%D7Ju+~t$G>jT&{&lr&QzTZP9Y=tk5Pup-LQ0h_Y$DzK|wBSz?X&>JtTc< z{_%jG{jANk(dYYqPs{zFfguOB51eDw>czcOBpRfORn~;VXI4_X%jX3&HhRXbYx3qS z&epTU==v>~%W2Tjq9m_-=j~#ZLrUhKKio#(O_MpnGfvH-=YL*YO5pysGanfiudz2` zII_!oGr4q2dM&&LkhLQJRLY!vQ-vf4^9{~HEo3LHz_H#ChO*_m%qs5}aMNt1FJW|{ zH2&AG#lRssDB@;uy}qY{O3SA=f{W_Y=;gY>RFcO1x5ek-maE% zHa5vx39d~+-S^yq+rt0_PBO02i$)e zR;y`+i433Ow=4%YBB4`16g-|(t=gWENPY~&;9=%B|Fck8*j;hw)#E)Q(t~b3rfI` zdzQ~dOM_gtcgX@qh}X^WjMhhwLO0NRLoZ7*`gfSC&oW_=w^MI<1Bu_`1k6Xj{ie0L(_%&JECLei-H-JU zNe-?E#I8pl;yd53h>6AbR64gJ%A8=yT?=+rEI2@vCj9ZIG4M#(5fyR8c5{7QZ;}l- zt{>u|Z?|Xg@mz(-&Z5(<^UnI1-Zjl}l!?>?68r8Z4tb`&B(wj(foiWImZ%(Sk zsgLz%BO6(@h`Ex+_(2m>gT`Jp`d~DyxZ1C_zKo_K zyO}*c!k77{VsI)UgF+DJa8F1-b>&Vkk{L3#26evk$c_9=kJQb(zi5-(8dJIsvz$*$ zdhm`cMQ)0PH!jmrX@Da8+4!c#X$9+`c=pmWo0`qEm)mc-kG4t~oNmQvWvj6Q^#%lD z6`qESQ=LLtWN4LQ`|;1Az^VMOrT;$vQ+)Nx;B^_s60ac)0k}oJvimCeTcmuiO3!kwiQ=^U%w7ekH2N$VVyiaFY18XJC8gq+E6yctsGsX)hvv))z)gFZEz-R zIR`7lkh+TPkt#kez{XOoC9_vlHufGk&IeIVdl^e6|9q9jGWqAS50~Xp?A)aM5|!DU zII#a#}|ANj1a`oeJ8vENx8SkoN-#sX>Gqu$hEmDs{SBKd%e-Wc zlt(!@73MWB^U404&tjq#4!>@I6q@9UETc&UbL;$b<+n+JY0HvG(A)MyDnIHOl@4pP zo)>)O4IV#zWWHj3pqy9fv|@ckDRvt8Qs38Oe=NhL{bJUa%NGTH3$MlJ1Z!-+Mv`(t;Jb={6|E8}N^LAe%=yMOK4HQtFiz{Nu-#3a!p?ktWjgpH0DO-?m|GANKOo|d; z{w0;X`Rn~SO3y(}Ec{d#mYn#ljd(M^>H=Z`Dgun;&Ya6!^!bSz)56_%t@q*E4UoY1 zTCNimaL!ueqpB?=IBWPJ^?~ahVyaIo!O@fnAK$?q=@aRI>G;hf04rL+3D z)<(f@%gNEv>Y5}_2YM|CN|Np8L8NdA`|VM?d)e0fbNmnlKCHc^Gmxq1CNF#U+u24U z>#&}ESEc`1W(;v$6|VmsSA#IjT8Fs->8)fP|MwZ*U8{`t@EP0 zRS&JKSQHE`G_RX52Vj@0A+-82^CfOCRCigELD`4IvCHQEe+oY&-Y#}gZ~1K?t`Xts z7tae?vR9mhBNAREGz@c?)lKcx6lQF_q~C8tlqD&HTH1%WrOJQB{v7sGE^UAwe#b|c zG?dY%(TChd9<|;8ZT}=!$b=&IQer8!Kl+1!u@e13;<((ulh=}wSrn6(ida)%Zbp=; z-fIJAB;A~kPW;UUTc;!S95lhA`LTx_xN2AGU-i+jy@KPH91CH;-qp|x4bQhnPS^Hp zN}WoL44b-wWoc#580kaKj!ye|R@Xa#JE#*)7t+STYGH)_#4kh|J5uZDWPDXnb7X3H zMX=j_oEV;qw+Q9`tMdS*GE`vvVC~WC)xq*9H5_7WY-}oS{wdlrrMq$GP|)6e1ph0G zNX(Dy|JOs3EbsTh_lBUqJR3e^eS|N;6RNX6UTEwvn?S+N&>oLRL^T2Il;J(V#shJf}Zz+>O zOUWN2p!oS8)9Q{a1e+n;Hc9OWl#iu9nxj^FM^vq|Eb6hXGzXt zlj%cW9V&LK;2FCM?M?<2^b@G1+x*`-+S_aWJ4f5qWz*xOU71C~l$dBNtshq66bOG( zrQ^4^J1lPb@5gml^~yP$zfz=MAdz&w8~xTRi7?VBZ)^k$%XD^7IQhlR?5RhD>3}iI z*H#M+PclPAY{_mh_OH&3ExT9eih$BdLiCLo(%m_aB#zSe-;RdAmSvy#+_6B==K|&% z0_D6)LG*KU0#;*Xl|K1j<^;z$LggFHy&-{~^aR}_blVEBoe#xrEk>+>YVOd*K-%eV zJWz1a4N##qdKL(D_kpM5KYx6Er?qXXnH`?S(t_B<@(mB%2MWmNVv&*8yK^he&IjiY zn)&7|6R9Oj>}zSi3u|ahzl%^P`aWVY4Q!Hnwg;*+;%mR#`ZhVQQ>Z?3Evf|zZZ>m3g)k2q!e5+McN|TX9e7Y5IiBqUp0as>mFTXUnk#SF%*}xPEGU_S)*hI)G$NkQ_OCgH?!{%LX^R3zEs89c3Rdn2}M_b*7e|FhKzuLVzVO*L^u z8rrv+?9!3^V2^;bANNPrq6dq?*K=EiG?IT~CKl+*TiM_bBEw6A2ZUxio^{_oGj9@r*O763syCTNYvy{fQM!ZPXNKacR0@ByA;*QG@UJB&OvhTRz$O<0wl$eLM zxAjeV&@`;NF{JA`1XzWDsq1K=AQsICr(B1y{kQam!%%@vsr}IsGBESYx^yjo9g+R} zFV2tC`HH->{d$3+x3MwT-}#ApG(<@Wm*084tBdjq(2_$Z{>wu zS5c@czLe71cvp|nq#>Uc;5)9n3UWB&zk_f>eE)?w-KmcO8=bzi-(VxC9qC{l*#Pi& z7x|?Ti`&A=4-5gzT!(@^0=;@*lgJiBpf`qI+v<-3>cw;dQ1!TGDdRfoL<^cL5i|>#L_$=&fB$m@iDb1~a54sC_Jy#Y@ zJc|j2B_^p)=~m3mOzCm%kh6Uy4mS(nY7(9xR2e>WN%>*W6=I}M#g+uN9A*fHIjxx5 z;Fj0duN=RY1L`2*`>vAA$s)7#<^ELza^1m4#E++t%Nx2Waoz_lR!DTj0Y59C)@#g8 z9<{%7?p!JrlKOm(gw70$yv%iWH!$55&Uxg>XoAkr1)pB!hr!1PPx9zY*Q?v2^dN)+Ss9uvl>qr+B z95yHqR)#`~X!yfQ4IhhC=hO5oVLP{2`%*CAK~sF3@CO7fVUwCXll#t5LK=&s?#IoP zj$ldl$!ut?aoXe&oG~xJ_O82yj7)_hQH{p>*@_^|D$LmV#uh1fY)-lJ{oXEUt^35G zgy9rTA4zIsZA_DtzE31cb3GZEaWS^)cqx0l@r+K5Jt5aHDNB7Ap1GuyFrUUYOouBodr-jRv0ki!-EpSqAvhDS)(? z(U}_}nC$Rr`r z09L^RkSQJ6-Q8Wu1~1dSZj!W7?V6M1+P{WigeJ5erA{RfuY9K%&%f~m`i#23+LR$( zu#_*1O&WO}@G%0rb7-0`7*??HT}uUb!cHR#6QR*es))M@;=7QmSm3BnrXVq+mEHfm z=BVI7K4LLJ=Q4oFY0_wt&)fImS0)yzLi6}#vC4>qLnZA=rbR6z4Pd{8(1q%a_}v6< zj9bYGpn=-GyTG1xc2b^ACxxeb4+wPy@6k$iH_*4m#$#RP+WHR%SCOC>gR1-7L^Tri z78W<3wzg`R8Se@pl8gxkK;j_dxY{q&iD7sgbn*uE*6SHji2pHHc@it-GJex1h5AK0B0w7FbAQBL52c?leb&IvO>fR+^vy zoOV86Pb{O;N za2|T{ig!oEE|!u;3K*cUQh|sF#@$UjkoxX~FV+V@-_!`(Soa{N!$TC150mCSA0gmc ziG&1x#5>~ot;TePfw>PXo6f9YGxIg&=tj~2=laQyY=g+*3~tw_2x=E`t%-;P=;P$@ z2dhjV(jsYfbSOKu7sd!a4NT8+TP^c-0bSZy)_@x}eVNKEfqKE)AGsehl^v-vCbPTu zGIc@l$ez)}GbILC9@5dtsUQim5&vx`NCvq`%Rwuuw8S`S5~+uGLxRd^oPst#Bc4)G zdBTuWd!rw9+oRn2CiAzCxs18;MsMj#kvEVAqa7H(=Xs0S_CRd=%O0z&2c3|x3@(um=! zCUTEr6Zv$p1^dwr;$KuaEd%4ax$tsxofI5afn$cE$uJYOdH@$iC%a^TUJKFhhS$6( zTDlu^E)xCJw^nf1@HWJIgqUucWo`<};a}^5o{)9a!%^3*a27}0Sx-uVHwWo@Su7*oHCD}Ed0!>0a}V+FUS)Bf^G2y;hf!^Uj@(Q@*Akm z20*JMI@5#Y!$@Uhn3s*D)aS_MxuSYAS@FL!hqhJ%k1w`vHumGiY)`7+Cr%));b&H3 z<~A#)$yG|{Ij$OzNqrW<=unX> z&R?g-9yE1R^PaO)!J$(wh%i3n5aB}=8NltjJc=zFo--vnk2kQGNlrik{?L~LfxrBB z*}+Ov%@*sc2*{}6-XNDt0~<3adSV=b@Oo(^N?2KB1_s)HPY<~8gvLmGUf?6d5%%RH zA!DiO#&a^eAYkCLoS0`n!T^u@FswA#t-Ib(30q!bC3A+FFPR?D2T5VT<=h*M7cx!e zUVfk1&V{!7EcI)DReI}*>XETn0bg~tjHv>qP1_c01;CH!S^X6A`}(D*x!VFbKz;Wf z4Z>yF*t}LvwoC3Bti`VTzdiVrci# zLSDbjg@0U6(0y1;ErTH%1`vPl$IMV=HhBar?5dI>_GGu5lff1w3LxBYfW@5t=d1=e zvhtr-56QUN*e7-n(Sd+cYGn<2B8|GUBhll!)d7kt7F}fZT@Ce&(W;ZyX|Is&RGsragzLDP?~j)e}+1 zR_IkG;|5;R_HO@Wik?G{9!0)F{NN+H&Ycysz}G?WAUYas$>=)z%Jc0M%skuU$%0fU zmKZy_Jus3SOLAx2$cK)l|BsiNiCZK7g$2=+B_p`CU2}WivBHgNKdMO^qea;?Uo@Bmi9Im<--eS8b*xzGXB8%J044>fxiKIa zDj*O1Yn;SavW&4Vz%o@f! zI5{;yp@uM{h;W9Ax59TVdj{2aphKq zKOF|MH4aKkfLy};k#FdNgqE<&$c;Yc|M5yfj_pWqEv{ooXTQ##9K`htIiuVK>y+WZ zkEh%Wp}3LWU$X9ArU`N*Wj3{?Z#NRM=o1)E^M^fj2aFqR{-ACRjYsxWDi8h7n=)^F zuY~?314y^tpm@nl>u!RJG+@`QZ*Z1Ve*x<;`0z595fDgkS)dOHE{7x$RUrFu_J@dr zlR_+Qqni%>G!=q6!)=h2@?9P(2prFwJLJhWR7DI=4ngr&_Hyq++Vs4AY>(N0q5St3 zzOkggX&(re3^Qi7uo*9&a|-i>vSchZu1Txz78EV0Y8z2&9>=`_(o63(}z}0?w%RS4-Y)rrjWB-6U`+r56Pf HuRr~NG4Q?R From e0c3515938220aa04fd0a8c64c0630d333b199e4 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 9 Dec 2024 18:51:30 -0500 Subject: [PATCH 146/153] Improve description of Sections --- bip-update-process.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1d694b947b..ffc9634de4 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -87,13 +87,13 @@ a dedicated section. * Rationale -- The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe related work and alternate designs that were considered. The rationale should record relevant objections or important concerns that were raised and addressed as this proposal was developed. -* Backward compatibility -- BIPs must include a section describing any backwards incompatibilities and their severity. - The BIP must explain how implementers/users should deal with these incompatibilities. +* Backward compatibility -- A section describing any backwards incompatibilities, their severity, and instructions + how implementers/users should deal with these incompatibilities. * Reference implementation -- Where applicable, a reference implementation, test vectors, and documentation must be finished before the BIP can be given the status "Complete". Any or all of these can be provided either in the BIP or as - auxiliary files. + auxiliary files (see [Auxiliary Files](#auxiliary-files)). * Changelog -- A section to track modifications to a BIP after reaching Complete status. -* Copyright -- The BIP must be placed under an acceptable license ([see BIP Licensing below](#bip-licensing)). +* Copyright -- The BIP must be placed under an acceptable license (see [BIP Licensing](#bip-licensing) below). #### BIP header preamble From f4e5881ccdcfa5cc675dde6e9754203ec83fcb78 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 9 Dec 2024 18:52:52 -0500 Subject: [PATCH 147/153] Improve Preamble instructions --- bip-update-process.md | 50 ++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index ffc9634de4..a1a82f56f9 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -101,30 +101,30 @@ Each BIP must begin with an [RFC 822-style header preamble](https://www.w3.org/P marked with "\*" are optional. All other headers are required. The overview is followed by an explanation for each header. ``` - BIP: + BIP: * Layer: - Title: - Authors: -* Proponents: + Title: + Authors: +* Proponents: Status: Type: - Created: - License: -* License-Code: -* Discussion: -* Revision: Version number of this document after a Changelog has been introduced + Created: + License: +* License-Code: +* Discussion: +* Revision: * Requires: * Replaces: * Superseded-By: ``` -__BIP__: BIP number, or "?" before a number was assigned. The proposal must not self-assign a BIP number. Numbers are +__BIP__: The BIP number, or "?" before a number was assigned. A proposal must not self-assign a BIP number. Numbers are assigned solely by BIP Editors. -__Layer__: The Layer header documents which layer of bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for +__Layer__: The layer of bitcoin the BIP applies to. See [BIP 123](bip-0123.mediawiki) for definitions of the various BIP layers. -__Title__: A short descriptive title, must be less than 50 characters long. +__Title__: A descriptive title of up to 50 characters. __Authors__: The authors header lists the names (or pseudonyms) and email addresses of all authors of the BIP. The format of each authors header value must be @@ -137,28 +137,34 @@ If there are multiple authors, each should be on a separate line following [RFC __Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors of a BIP. The proponents header uses the same format as the Authors header. -__Status__: The Status field can take the four values Draft, Complete, Deployed, and Closed. The +__Status__: The Status header takes one of the four values Draft, Complete, Deployed, and Closed. The [Workflow](#workflow) section below describes the statuses in detail. -__Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. +__Type__: The Type header specifies the type of BIP: Specification, Informational, or Process. See the [BIP types](#bip-types) section below. -__Created__: The Created header records the date that the BIP was assigned a number. +__Created__: The Created header records the date that the BIP was assigned a number using ISO 8601 (yyyy-mm-dd) format. -__License/License-Code__: See the [BIP Licensing](#bip-licensing) section below for a description of the +__License/License-Code__: The SPDX License Identifier(s) of the acceptable licenses under which this BIP is available. +See the [BIP Licensing](#bip-licensing) section below for a description of the acceptable Licenses and their SPDX License Identifiers. +If there are multiple licenses, each should be on a separate line. + __Discussion__: The Discussion header is used to point the audience to relevant discussions of the BIP, e.g. the mailing list thread in which the idea for the BIP was discussed, a thread where a new version of the BIP was presented, or -relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: link", e.g. +relevant discussion threads on other platforms. Entries take the format "yyyy-mm-dd: URL", e.g. `2009-01-09: https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html`. -__Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. +Multiple discussions should be listed on separate lines. + +__Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. The value is provided as MAJOR.MINOR.PATCH, e.g. "2.3.1". -__Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. +__Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. If multiple BIPs +are required, they should be listed in one line separated by a comma and space (e.g. "1, 2"). -__Replaces/Superseded-By__: BIPs may have a Superseded-By header indicating that a BIP has been rendered obsolete by a -later document; the value is the number of the BIP that replaces the current document. The newer BIP must have a -Replaces header containing the number of the BIP that it rendered obsolete. +__Replaces/Superseded-By__: BIPs may have a Replaces header that contains the number of an older BIP it renders +obsolete. A Superseded-By header indicates in turn that a BIP has been rendered obsolete by the later document with the +provided number. #### Auxiliary files From f839c53c8698e4648bd8004c79ca48c0597436e2 Mon Sep 17 00:00:00 2001 From: Murch Date: Mon, 9 Dec 2024 18:58:48 -0500 Subject: [PATCH 148/153] Make several minor improvements --- bip-update-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index a1a82f56f9..a113b0f042 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -23,7 +23,7 @@ evolving needs of the BIP process. BIP 2 is over eight years old and was written when different concerns were pressing to the bitcoin[^capitalization] community. The BIP process as defined by BIP 2 thus far seems to have been fashioned to facilitate the design and activation of protocol changes. In the past years, BIPs more often describe interoperable features beyond the base protocol. The community has had multiple debates about the role of -BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goal. This +BIP Editors, and some aspects of the process specified by BIP 2 that did not seem to achieve the intended goals. This proposal sunsets aspects of the BIP 2 process that did not achieve broad adoption, reduces the judgment calls assigned to the BIP Editor role, and delineates the BIP Types more expediently. @@ -58,7 +58,7 @@ any BIP. The repository records all changes to each BIP transparently and allows complete copy of the archive. The BIP repository is not a tool to track acceptance[^acceptance], adoption, or community consensus on BIPs, beyond -providing a brief overview of BIP statuses (see [Workflow](#workflow) below) to visitors. +providing a brief overview of BIP statuses (see [Workflow](#workflow) below) to the audience. ### What is the scope of the BIP repository? @@ -176,7 +176,7 @@ convention. * A **Specification BIP** defines a set of technical rules affecting the interoperability of implementations. The distinguishing feature of a Specification BIP is that it can be implemented, and implementations can be compliant with - it. Specification BIPs should come with or refer to a reference implementation. + it. Specification BIPs should come with or refer to a reference implementation and preferably provide test vectors. * An **Informational BIP** describes a bitcoin design issue, provides general guidelines or other information to the bitcoin community. * A **Process BIP** describes a process surrounding bitcoin, or proposes a change to (or an event in) a process. Process From f08d0796e0f57aaec884d22d3b8f8c33aee212a8 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 10 Dec 2024 15:46:56 -0500 Subject: [PATCH 149/153] Rename Proponents to Shepherds and describe role --- bip-update-process.md | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index a113b0f042..1e9951e556 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -38,10 +38,21 @@ Some BIPs describe processes, implementation guidelines, best practices, inciden the bitcoin protocol, bitcoin’s peer-to-peer network, and bitcoin client software may be acceptable. BIPs are intended to be the primary mechanism for proposing new protocol features, coordinating client standards, and -documenting design decisions that have gone into implementations. Each BIP is primarily owned by its authors and -represents the authors’ opinion or recommendation. The authors are expected to foster discussion, address feedback and -dissenting opinions, and, if applicable, advance the adoption of their proposal within the bitcoin community. BIPs may be -submitted by anyone. +documenting design decisions that have gone into implementations. BIPs may be submitted by anyone. + +### BIP Ownership + +Each BIP is primarily owned by its authors and represents the authors’ opinion or recommendation. The authors are +expected to foster discussion, address feedback and dissenting opinions, and, if applicable, advance the adoption of +their proposal within the bitcoin community. + +#### Authors and Shepherds + +Authors may want additional support with the BIP process after writing an initial draft. In that case, they may assign +one or more Shepherds to their BIP. Shepherds are stand-in owners of a BIP who were not involved in writing the +document. They support the authors in advancing the proposal, or act as point-of-contact for the BIP in absence of the +authors. A shepherds may perform the role of an Author for any aspect of the BIP process unless overruled by an Author. +Shepherds share ownership of the BIP at the discretion of the Authors. ### What is the significance of BIPs? @@ -105,7 +116,7 @@ marked with "\*" are optional. All other headers are required. The overview is f * Layer: Title: Authors: -* Proponents: +* Shepherds: Status: Type: Created: @@ -134,8 +145,9 @@ The format of each authors header value must be If there are multiple authors, each should be on a separate line following [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822.html) continuation line conventions. -__Proponents__: The proponents header lists additional owners of the BIP. Proponents stand-in for the original authors -of a BIP. The proponents header uses the same format as the Authors header. +__Shepherds__: The Shepherds header lists additional owners of the BIP. Shepherds stand-in for the original authors +of a BIP. The Shepherds header uses the same format as the Authors header. See +the [BIP Ownership](#bip-ownership) section above. __Status__: The Status header takes one of the four values Draft, Complete, Deployed, and Closed. The [Workflow](#workflow) section below describes the statuses in detail. @@ -348,7 +360,7 @@ file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). ### Transferring BIP Ownership -It occasionally becomes necessary to transfer ownership of BIPs to new Proponents. In general, it would be preferable to retain +It occasionally becomes necessary to transfer ownership of BIPs to new owners. In general, it would be preferable to retain the original authors of the transferred BIP, but that is up to the original authors. A good reason to transfer ownership is because the original authors no longer have the time or interest in updating it or following through with the BIP process, or have fallen off the face of the 'net (i.e. are unreachable or not responding to email). A bad @@ -358,7 +370,7 @@ BIP. If someone is interested in assuming ownership of a BIP, they should send an email asking to take over, addressed to the original authors, the BIP Editors, and the Bitcoin Development Mailing List. If the authors do not respond in a timely manner (e.g. two weeks), the BIP editors will -make a unilateral decision (which may be amended should the original authors make a delayed reappearance). +make a unilateral decision whether to appoint the applicants as [Shepherds](#authors-and-shepherds) (which may be amended should the original authors make a delayed reappearance). ## BIP Licensing @@ -540,9 +552,9 @@ this BIP are updated to the corresponding values prescribed in this BIP. The Author header is replaced with the Authors header in all BIPs. -#### Proponents header +#### Shepherds header -The optional Proponents header is introduced to distinguish the original authors of a BIP from later successors. +The optional Shepherds header is introduced to distinguish the original authors of a BIP from later successors. #### Discussion header From 2de85d28e51fe3ca870cc41fad02a467d1c6db42 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 10 Dec 2024 15:56:17 -0500 Subject: [PATCH 150/153] Move paragraph on rough sketch to Ideation --- bip-update-process.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 1e9951e556..add341c9d0 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -223,16 +223,16 @@ research, or that an idea is guaranteed to be rejected based on prior discussion tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest to the bitcoin community, the authors should work on drafting a BIP. -It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the -overall proposal. - -### Progression through BIP Statuses - As a first sketch of the proposal is taking shape, the authors should present it to the [Bitcoin Development Mailing List](https://groups.google.com/g/bitcoindev). This gives the authors a chance to collect initial feedback and address fundamental concerns. If the authors wish to work in public on the proposal at this stage, it is recommended that they open a pull request against one of their forks of the BIP repository instead of the main BIP repository. +It is recommended that complicated proposals be split into separate BIPs that each focus on a specific component of the +overall proposal. + +### Progression through BIP Statuses + The following sections refer to BIP Status Field values. The BIP Status Field is defined in the Header Preamble specification above. From 313c967405bb7df30b5157103d53c32d6021ffe1 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 10 Dec 2024 16:23:38 -0500 Subject: [PATCH 151/153] Amend examples for Deployed status --- bip-update-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-update-process.md b/bip-update-process.md index add341c9d0..04e590d43e 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -283,7 +283,7 @@ Complete is the final state for most successful Informational BIPs. A settled[^settled] BIP may be advanced to Deployed upon request by any community member with evidence that the idea described in the BIP is in active use. Such evidence includes -for example: two or more projects having deployed support for the BIP in mainnet software releases, a soft fork +for example: at least one project having deployed support for the BIP in mainnet software releases, a soft fork proposal’s activation criteria having been met on the network, or rough consensus for the BIP having been demonstrated. At that point, the BIP should be considered final and any breaking changes to the BIP should be proposed as a new From 299bfd16f7a6b3425ca154a5cfd0aef0a432df75 Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 10 Dec 2024 16:24:06 -0500 Subject: [PATCH 152/153] Clarify role of License-Code header --- bip-update-process.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 04e590d43e..27935d75e4 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -389,12 +389,15 @@ In this case, the BIP text is fully licensed under both the Creative Commons CC0 GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of *either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. -It is also possible to license source code differently from the BIP text. An optional License-Code header is placed +It is also possible to license source code differently from the BIP text by including the optional License-Code header after the License header. Again, each license must be referenced by their respective SPDX License identifier shown below. -Each source code file or source directory should specify the license under which it is made available. It is recommended +Each source code file or source directory should specify the license under which it is made available as is common in +software (e.g. with a license header or a LICENSE/COPYING file). It is recommended to make any test vectors available under CC0-1.0 or GNU-All-Permissive in addition to any other licenses to allow anyone to copy test vectors into their implementations without introducing license hindrances. +Licenses listed in the License-Code header apply to all source directories, source code files, and test vectors +provided with the BIP except those where a LICENSE file in a directory or the file header states otherwise. For example, a preamble specifying the optional License-Code header might look like: From daa559f462a2fe02ce097bb85124e0886d512bff Mon Sep 17 00:00:00 2001 From: Murch Date: Tue, 10 Dec 2024 16:35:12 -0500 Subject: [PATCH 153/153] Address remaining nits from self-review --- bip-update-process.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bip-update-process.md b/bip-update-process.md index 27935d75e4..cd5594b9d2 100644 --- a/bip-update-process.md +++ b/bip-update-process.md @@ -169,7 +169,7 @@ relevant discussion threads on other platforms. Entries take the format "yyyy-mm Multiple discussions should be listed on separate lines. -__Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. The value is provided as MAJOR.MINOR.PATCH, e.g. "2.3.1". +__Revision__: The Revision header indicates the version of this BIP after a Changelog section has been added. The value is provided as MAJOR.MINOR.PATCH, e.g. "Revision: 2.3.1". __Requires__: BIPs may have a Requires header to indicate existing BIPs the new proposal depends on. If multiple BIPs are required, they should be listed in one line separated by a comma and space (e.g. "1, 2"). @@ -265,7 +265,7 @@ submitted as pull requests. #### Complete[^complete] When the authors have concluded all planned work on their proposal, are confident that their BIP represents a net improvement, is clear, comprehensive, has a working -reference implementation (if applicable), and is ready for adoption by the bitcoin community, they may update the BIP’s +reference implementation and test vectors (if applicable), and is ready for adoption by the bitcoin community, they may update the BIP’s status to Complete to indicate that they recommend adoption, implementation, or deployment of the BIP. Where applicable, the authors must ensure that any proposed specification is solid, not unduly complicated, and definitive. Subsequently, the BIP’s content should only be adjusted in minor details, e.g. to improve language, clarify ambiguities, backfill @@ -314,7 +314,7 @@ to Closed unless the authors assert that they intend to continue work when conta BIPs that had attained the Complete status, i.e. that had been recommended for adoption, may be moved to Closed per the authors’ announcement to the Bitcoin Development Mailing List after not being opposed within four weeks. To successfully -oppose the move, at least one of the opposers must become BIP author for the BIP to remain Complete. A BIP +oppose the move, at least one of the opposers must volunteer to become the BIP’s author or shepherd for the BIP to remain Complete. A BIP can also be moved to Closed by the community if it has had Complete status for at least one year, there is no evidence of it being in active use, and its authors do not object or fail to respond, unless a new author volunteers within four weeks. @@ -355,8 +355,8 @@ they are in active use or not. It is not intended for BIPs to list additional im implementation: the BIP repository is not a signpost where to find implementations.[^OtherImplementations] After a BIP is advanced to Complete, it is up to the bitcoin community to evaluate, adopt, ignore, or reject a BIP. Individual bitcoin projects are encouraged to publish a list of BIPs they implement. A good example of this at the time of writing -this BIP can be observed in [Bitcoin Core’s doc/bips.md -file](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md). +this BIP can be observed in Bitcoin Core’s [doc/bips.md](https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md) +file. ### Transferring BIP Ownership @@ -631,7 +631,7 @@ feedback, and helpful comments. Where the many Status variants provided minuscule additional information, the simplification is more valuable and the Changelog section now collects specific details. [^acceptance]: **Why does the BIP repository no longer track adoption?** - BIP 2 made an attempt to gather community feedback into summaries in BIPs directly. Given the low adoption and + BIP 2 made an attempt to gather community feedback into comment summaries in BIPs directly. Given the low adoption and corresponding low information quality of the summaries that resulted from that feature, this BIP instead intends to leave the evaluation of BIPs to the audience. [^markdown]: **Which flavor of markdown is allowed?**

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�uHfjv}sm%G2j>(Usr)+;)8rb#no>yZp& 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 literal 43273 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