cdocutils.nodes document q)q}q(U nametypesq}q(Xtest frameworkqNXlist of integration testsqNXintegration testingqNuUsubstitution_defsq }q Uparse_messagesq ]q (cdocutils.nodes system_message q )q}q(U rawsourceqUU attributesq}q(Udupnamesq]UlevelKUidsq]Ubackrefsq]UsourceXw/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/implementation/integration-testing.txtqUclassesq]Unamesq]UlineK(UtypeUINFOquUparentqcdocutils.nodes entry q)q}q(hUh}q(h]h]h]h]h]uhcdocutils.nodes row q)q }q!(hUh}q"(h]h]h]h]h]uhcdocutils.nodes thead q#)q$}q%(hUh}q&(h]h]h]h]h]uhcdocutils.nodes tgroup q')q(}q)(hUh}q*(h]h]h]h]h]UcolsKuhcdocutils.nodes table q+)q,}q-(hUhcdocutils.nodes section q.)q/}q0(hUhh.)q1}q2(hUhhUsourceq3hUtagnameq4Usectionq5h}q6(h]h]h]h]q7Uintegration-testingq8ah]q9hauUlineq:KUdocumentq;hUchildrenq<]q=(cdocutils.nodes title q>)q?}q@(hXIntegration TestingqAhh1h3hh4UtitleqBh}qC(h]h]h]h]h]uh:Kh;hh<]qDcdocutils.nodes Text qEXIntegration TestingqFqG}qH(hhAhh?ubaubcdocutils.nodes paragraph qI)qJ}qK(hXbWhile each of the individual components of the DataONE system are designed and tested independently, we also need to design effective tests of the full system functionality. To fulfill many of the use cases, many of the components in the DataONE infrastructure need to interact in a sequenced manner with particular inputs and outputs. The integration tests are designed to allow individual components to be exercised in these particular use case scenarios with known inputs in order to verify that the correct output is produced, and that adequate performance, reliability, and scalability metrics can be met.qLhh1h3hh4U paragraphqMh}qN(h]h]h]h]h]uh:Kh;hh<]qOhEXbWhile each of the individual components of the DataONE system are designed and tested independently, we also need to design effective tests of the full system functionality. To fulfill many of the use cases, many of the components in the DataONE infrastructure need to interact in a sequenced manner with particular inputs and outputs. The integration tests are designed to allow individual components to be exercised in these particular use case scenarios with known inputs in order to verify that the correct output is produced, and that adequate performance, reliability, and scalability metrics can be met.qPqQ}qR(hhLhhJubaubh.)qS}qT(hUhh1h3hh4h5h}qU(h]h]h]h]qVUtest-frameworkqWah]qXhauh:Kh;hh<]qY(h>)qZ}q[(hXTest frameworkq\hhSh3hh4hBh}q](h]h]h]h]h]uh:Kh;hh<]q^hEXTest frameworkq_q`}qa(hh\hhZubaubhI)qb}qc(hXsIn order to run these tests effectively, we need a testing framework that can be used to encode and execute the tests in an orderly fashion and to capture the results of the tests over time. This will allow us to trace changes in the test results over time. It would be useful to provide a synopsis view of all of the tests, showing which are passing and which are failing. This testing framework must be able to execute processes across several different languages, allow a multitude of clients to be configured to load test Member Nodes, and allow a multitude of Member Nodes to be configured to load test Coordinating Nodes.qdhhSh3hh4hMh}qe(h]h]h]h]h]uh:Kh;hh<]qfhEXsIn order to run these tests effectively, we need a testing framework that can be used to encode and execute the tests in an orderly fashion and to capture the results of the tests over time. This will allow us to trace changes in the test results over time. It would be useful to provide a synopsis view of all of the tests, showing which are passing and which are failing. This testing framework must be able to execute processes across several different languages, allow a multitude of clients to be configured to load test Member Nodes, and allow a multitude of Member Nodes to be configured to load test Coordinating Nodes.qgqh}qi(hhdhhbubaubeubh/eubh3hh4h5h}qj(h]h]h]h]qkUlist-of-integration-testsqlah]qmhauh:Kh;hh<]qn(h>)qo}qp(hXList of integration testsqqhh/h3hh4hBh}qr(h]h]h]h]h]uh:Kh;hh<]qshEXList of integration testsqtqu}qv(hhqhhoubaubcdocutils.nodes note qw)qx}qy(hX~This list needs to be segmented to show what tests need to be passed by July 31st, versus what tests can be deferred to later.hh/h3hh4Unoteqzh}q{(h]h]h]h]h]uh:Nh;hh<]q|hI)q}}q~(hX~This list needs to be segmented to show what tests need to be passed by July 31st, versus what tests can be deferred to later.qhhxh3hh4hMh}q(h]h]h]h]h]uh:Kh<]qhEX~This list needs to be segmented to show what tests need to be passed by July 31st, versus what tests can be deferred to later.qq}q(hhhh}ubaubaubhw)q}q(hXbThe metrics need to be parts of the tests. Are there things in the metrics that we're not testing?hh/h3hh4hzh}q(h]h]h]h]h]uh:Nh;hh<]qhI)q}q(hXbThe metrics need to be parts of the tests. Are there things in the metrics that we're not testing?qhhh3hh4hMh}q(h]h]h]h]h]uh:Kh<]qhEXbThe metrics need to be parts of the tests. Are there things in the metrics that we're not testing?qq}q(hhhhubaubaubhw)q}q(hXCodes: Integration tests were ranked as High (H) or Low (L) priority, where each person had 10 high and 10 low votes to assign. Unranked tests were considered Medium (M) priority.hh/h3hh4hzh}q(h]h]h]h]h]uh:Nh;hh<]qhI)q}q(hXCodes: Integration tests were ranked as High (H) or Low (L) priority, where each person had 10 high and 10 low votes to assign. Unranked tests were considered Medium (M) priority.qhhh3hh4hMh}q(h]h]h]h]h]uh:K h<]qhEXCodes: Integration tests were ranked as High (H) or Low (L) priority, where each person had 10 high and 10 low votes to assign. Unranked tests were considered Medium (M) priority.qq}q(hhhhubaubaubh,hw)q}q(hXYHow many failure modes do we want to test? Need a Failure Mode Effect Analysis (FMEA) to prioritize the test cases to write against. Comment on FMEA: Assign, for a given failure mode a score of 1-10 for each of a) how likely is this to occur, b) what is the cost if this occurs, c) how early can the failure mode be detected, d) how much does it cost to mitigate the failure mode. Idea is that you multiply across the scores and prioritize accordingly. A failure mode that is very likely, is catastrophic, cannot be detected until it occurs, and is easy to mitigate prioritizes to the top of the list.hh/h3hh4hzh}q(h]h]h]h]h]uh:Nh;hh<]qhI)q}q(hXYHow many failure modes do we want to test? Need a Failure Mode Effect Analysis (FMEA) to prioritize the test cases to write against. Comment on FMEA: Assign, for a given failure mode a score of 1-10 for each of a) how likely is this to occur, b) what is the cost if this occurs, c) how early can the failure mode be detected, d) how much does it cost to mitigate the failure mode. Idea is that you multiply across the scores and prioritize accordingly. A failure mode that is very likely, is catastrophic, cannot be detected until it occurs, and is easy to mitigate prioritizes to the top of the list.qhhh3hh4hMh}q(h]h]h]h]h]uh:M h<]qhEXYHow many failure modes do we want to test? Need a Failure Mode Effect Analysis (FMEA) to prioritize the test cases to write against. Comment on FMEA: Assign, for a given failure mode a score of 1-10 for each of a) how likely is this to occur, b) what is the cost if this occurs, c) how early can the failure mode be detected, d) how much does it cost to mitigate the failure mode. Idea is that you multiply across the scores and prioritize accordingly. A failure mode that is very likely, is catastrophic, cannot be detected until it occurs, and is easy to mitigate prioritizes to the top of the list.qq}q(hhhhubaubaubeubh3Nh4Utableqh}q(h]h]h]h]qUid1qah]uh:Nh;hh<]q(h>)q}q(hX3High-level integration tests with prioritized votesqh}q(h]h]h]h]h]uhh,h<]qhEX3High-level integration tests with prioritized votesqq}q(hhhhubah4hBubh(eubh<]q(cdocutils.nodes colspec q)q}q(hUh}q(h]h]h]h]h]UcolwidthKuhh(h<]h4Ucolspecqubh)q}q(hUh}q(h]h]h]h]h]UcolwidthKuhh(h<]h4hubh)q}q(hUh}q(h]h]h]h]h]UcolwidthKuhh(h<]h4hubh)q}q(hUh}q(h]h]h]h]h]UcolwidthKuhh(h<]h4hubh)q}q(hUh}q(h]h]h]h]h]UcolwidthKuhh(h<]h4hubh$cdocutils.nodes tbody q)q}q(hUh}q(h]h]h]h]h]uhh(h<]q(h)q}q(hUh}q(h]h]h]h]h]uhhh<]q(h)q}q(hUh}q(h]h]h]h]h]uhhh<]qhI)q}q(hX1hhh3hh4hMh}q(h]h]h]h]h]uh:K-h<]qhEX1q}q(hX1hhubaubah4Uentryqubh)q}q(hUh}q(h]h]h]h]h]uhhh<]qhI)q}q(hX8hhh3hh4hMh}q(h]h]h]h]h]uh:K.h<]qhEX8q}q(hX8hhubaubah4hubh)q}q(hUh}q(h]h]h]h]h]uhhh<]qhI)q}q(hXJuly 31qhhh3hh4hMh}q(h]h]h]h]h]uh:K/h<]qhEXJuly 31qq}q(hhhhubaubah4hubh)q}q(hUh}q(h]h]h]h]h]uhhh<]qhI)q}q(hX\hhh3hh4hMh}q(h]h]h]h]h]uh:K0h<]qhEXq}q(hX\hhubaubah4hubh)q}q(hUh}q(h]h]h]h]h]uhhh<]qhI)r}r(hXUse case 36 (resolve)rhhh3hh4hMh}r(h]h]h]h]h]uh:K1h<]rhEXUse case 36 (resolve)rr}r(hjhjubaubah4hubeh4Urowrubh)r }r (hUh}r (h]h]h]h]h]uhhh<]r (h)r }r(hUh}r(h]h]h]h]h]uhj h<]rhI)r}r(hX2hj h3hh4hMh}r(h]h]h]h]h]uh:K2h<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj h<]rhI)r}r(hX8hjh3hh4hMh}r(h]h]h]h]h]uh:K3h<]rhEX8r}r (hX8hjubaubah4hubh)r!}r"(hUh}r#(h]h]h]h]h]uhj h<]r$hI)r%}r&(hXJuly 31r'hj!h3hh4hMh}r((h]h]h]h]h]uh:K4h<]r)hEXJuly 31r*r+}r,(hj'hj%ubaubah4hubh)r-}r.(hUh}r/(h]h]h]h]h]uhj h<]r0hI)r1}r2(hX\hj-h3hh4hMh}r3(h]h]h]h]h]uh:K5h<]r4hEXr5}r6(hX\hj1ubaubah4hubh)r7}r8(hUh}r9(h]h]h]h]h]uhj h<]r:hI)r;}r<(hXUse case 2 (query)r=hj7h3hh4hMh}r>(h]h]h]h]h]uh:K6h<]r?hEXUse case 2 (query)r@rA}rB(hj=hj;ubaubah4hubeh4jubh)rC}rD(hUh}rE(h]h]h]h]h]uhhh<]rF(h)rG}rH(hUh}rI(h]h]h]h]h]uhjCh<]rJhI)rK}rL(hX3hjGh3hh4hMh}rM(h]h]h]h]h]uh:K7h<]rNhEX3rO}rP(hX3hjKubaubah4hubh)rQ}rR(hUh}rS(h]h]h]h]h]uhjCh<]rThI)rU}rV(hX8hjQh3hh4hMh}rW(h]h]h]h]h]uh:K8h<]rXhEX8rY}rZ(hX8hjUubaubah4hubh)r[}r\(hUh}r](h]h]h]h]h]uhjCh<]r^hI)r_}r`(hXJuly 31rahj[h3hh4hMh}rb(h]h]h]h]h]uh:K9h<]rchEXJuly 31rdre}rf(hjahj_ubaubah4hubh)rg}rh(hUh}ri(h]h]h]h]h]uhjCh<]rjhI)rk}rl(hX\hjgh3hh4hMh}rm(h]h]h]h]h]uh:K:h<]rnhEXro}rp(hX\hjkubaubah4hubh)rq}rr(hUh}rs(h]h]h]h]h]uhjCh<]rthI)ru}rv(hXUCompleting the loop: publish data set, be sure it is retrievable exactly as submittedrwhjqh3hh4hMh}rx(h]h]h]h]h]uh:K;h<]ryhEXUCompleting the loop: publish data set, be sure it is retrievable exactly as submittedrzr{}r|(hjwhjuubaubah4hubeh4jubh)r}}r~(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhj}h<]rhI)r}r(hX4hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXJuly 31rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj}h<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:K?h<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj}h<]rhI)r}r(hXkUse case 1 (get). Note: need to test for non-existant ID's, test access control, test for malicious contentrhjh3hh4hMh}r(h]h]h]h]h]uh:K@h<]rhEXkUse case 1 (get). Note: need to test for non-existant ID's, test access control, test for malicious contentrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX5hjh3hh4hMh}r(h]h]h]h]h]uh:KAh<]rhEX5r}r(hX5hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX6hjh3hh4hMh}r(h]h]h]h]h]uh:KBh<]rhEX6r}r(hX6hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:KCh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:KDh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX'Can a downed CN be revived/repopulated?rhjh3hh4hMh}r(h]h]h]h]h]uh:KEh<]rhEX'Can a downed CN be revived/repopulated?rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX6hjh3hh4hMh}r(h]h]h]h]h]uh:KFh<]rhEX6r}r(hX6hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX6hjh3hh4hMh}r(h]h]h]h]h]uh:KGh<]rhEX6r}r(hX6hjubaubah4hubh)r}r(hUh}r (h]h]h]h]h]uhjh<]r hI)r }r (hX\hjh3hh4hMh}r (h]h]h]h]h]uh:KHh<]rhEXr}r(hX\hj ubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:KIh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r (hXJTesting for invalid input and known problems such as XSS and SQL Injectionr!hjh3hh4hMh}r"(h]h]h]h]h]uh:KJh<]r#hEXJTesting for invalid input and known problems such as XSS and SQL Injectionr$r%}r&(hj!hjubaubah4hubeh4jubh)r'}r((hUh}r)(h]h]h]h]h]uhhh<]r*(h)r+}r,(hUh}r-(h]h]h]h]h]uhj'h<]r.hI)r/}r0(hX7hj+h3hh4hMh}r1(h]h]h]h]h]uh:KKh<]r2hEX7r3}r4(hX7hj/ubaubah4hubh)r5}r6(hUh}r7(h]h]h]h]h]uhj'h<]r8hI)r9}r:(hX5hj5h3hh4hMh}r;(h]h]h]h]h]uh:KLh<]r<hEX5r=}r>(hX5hj9ubaubah4hubh)r?}r@(hUh}rA(h]h]h]h]h]uhj'h<]rBhI)rC}rD(hX\hj?h3hh4hMh}rE(h]h]h]h]h]uh:KMh<]rFhEXrG}rH(hX\hjCubaubah4hubh)rI}rJ(hUh}rK(h]h]h]h]h]uhj'h<]rLhI)rM}rN(hX\hjIh3hh4hMh}rO(h]h]h]h]h]uh:KNh<]rPhEXrQ}rR(hX\hjMubaubah4hubh)rS}rT(hUh}rU(h]h]h]h]h]uhj'h<]rVhI)rW}rX(hXXUse case 6 (synchronize). Note: what is needed for reschronize and recovery from outage.rYhjSh3hh4hMh}rZ(h]h]h]h]h]uh:KOh<]r[hEXXUse case 6 (synchronize). Note: what is needed for reschronize and recovery from outage.r\r]}r^(hjYhjWubaubah4hubeh4jubh)r_}r`(hUh}ra(h]h]h]h]h]uhhh<]rb(h)rc}rd(hUh}re(h]h]h]h]h]uhj_h<]rfhI)rg}rh(hX8hjch3hh4hMh}ri(h]h]h]h]h]uh:KPh<]rjhEX8rk}rl(hX8hjgubaubah4hubh)rm}rn(hUh}ro(h]h]h]h]h]uhj_h<]rphI)rq}rr(hX5hjmh3hh4hMh}rs(h]h]h]h]h]uh:KQh<]rthEX5ru}rv(hX5hjqubaubah4hubh)rw}rx(hUh}ry(h]h]h]h]h]uhj_h<]rzhI)r{}r|(hXJuly 31r}hjwh3hh4hMh}r~(h]h]h]h]h]uh:KRh<]rhEXJuly 31rr}r(hj}hj{ubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj_h<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:KSh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj_h<]rhI)r}r(hXNDo the Java Stacks and Python stacks return the same thing for the same objectrhjh3hh4hMh}r(h]h]h]h]h]uh:KTh<]rhEXNDo the Java Stacks and Python stacks return the same thing for the same objectrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX9hjh3hh4hMh}r(h]h]h]h]h]uh:KUh<]rhEX9r}r(hX9hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX4hjh3hh4hMh}r(h]h]h]h]h]uh:KVh<]rhEX4r}r(hX4hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXJuly 31rhjh3hh4hMh}r(h]h]h]h]h]uh:KWh<]rhEXJuly 31rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:KXh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX!Does CN metadata replication workrhjh3hh4hMh}r(h]h]h]h]h]uh:KYh<]rhEX!Does CN metadata replication workrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX10rhjh3hh4hMh}r(h]h]h]h]h]uh:KZh<]rhEX10rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX3hjh3hh4hMh}r(h]h]h]h]h]uh:K[h<]rhEX3r}r(hX3hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:K\h<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:K]h<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXBroadly, test node failures, including CN and MN. Mostly concerned with read access at this point. MN1 submits data, gets replicated to MN2, MN1 goes down, test access to data even in the absence of the owning Member Node.rhjh3hh4hMh}r(h]h]h]h]h]uh:K^h<]r hEXBroadly, test node failures, including CN and MN. Mostly concerned with read access at this point. MN1 submits data, gets replicated to MN2, MN1 goes down, test access to data even in the absence of the owning Member Node.r r }r (hjhjubaubah4hubeh4jubh)r }r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhj h<]rhI)r}r(hX11rhjh3hh4hMh}r(h]h]h]h]h]uh:K_h<]rhEX11rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj h<]r hI)r!}r"(hX2hjh3hh4hMh}r#(h]h]h]h]h]uh:K`h<]r$hEX2r%}r&(hX2hj!ubaubah4hubh)r'}r((hUh}r)(h]h]h]h]h]uhj h<]r*hI)r+}r,(hX\hj'h3hh4hMh}r-(h]h]h]h]h]uh:Kah<]r.hEXr/}r0(hX\hj+ubaubah4hubh)r1}r2(hUh}r3(h]h]h]h]h]uhj h<]r4hI)r5}r6(hX\hj1h3hh4hMh}r7(h]h]h]h]h]uh:Kbh<]r8hEXr9}r:(hX\hj5ubaubah4hubh)r;}r<(hUh}r=(h]h]h]h]h]uhj h<]r>hI)r?}r@(hX!Use case 16 (log CRUD operations)rAhj;h3hh4hMh}rB(h]h]h]h]h]uh:Kch<]rChEX!Use case 16 (log CRUD operations)rDrE}rF(hjAhj?ubaubah4hubeh4jubh)rG}rH(hUh}rI(h]h]h]h]h]uhhh<]rJ(h)rK}rL(hUh}rM(h]h]h]h]h]uhjGh<]rNhI)rO}rP(hX12rQhjKh3hh4hMh}rR(h]h]h]h]h]uh:Kdh<]rShEX12rTrU}rV(hjQhjOubaubah4hubh)rW}rX(hUh}rY(h]h]h]h]h]uhjGh<]rZhI)r[}r\(hX2hjWh3hh4hMh}r](h]h]h]h]h]uh:Keh<]r^hEX2r_}r`(hX2hj[ubaubah4hubh)ra}rb(hUh}rc(h]h]h]h]h]uhjGh<]rdhI)re}rf(hX\hjah3hh4hMh}rg(h]h]h]h]h]uh:Kfh<]rhhEXri}rj(hX\hjeubaubah4hubh)rk}rl(hUh}rm(h]h]h]h]h]uhjGh<]rnhI)ro}rp(hX\hjkh3hh4hMh}rq(h]h]h]h]h]uh:Kgh<]rrhEXrs}rt(hX\hjoubaubah4hubh)ru}rv(hUh}rw(h]h]h]h]h]uhjGh<]rxhI)ry}rz(hX^Test that invalid documents are properly logged on harvest and that logs are machine parseabler{hjuh3hh4hMh}r|(h]h]h]h]h]uh:Khh<]r}hEX^Test that invalid documents are properly logged on harvest and that logs are machine parseabler~r}r(hj{hjyubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX13rhjh3hh4hMh}r(h]h]h]h]h]uh:Kih<]rhEX13rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX2hjh3hh4hMh}r(h]h]h]h]h]uh:Kjh<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXJuly 31rhjh3hh4hMh}r(h]h]h]h]h]uh:Kkh<]rhEXJuly 31rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Klh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXBConsistency Check on CN's ( Test that the checksums at CN's match)rhjh3hh4hMh}r(h]h]h]h]h]uh:Kmh<]rhEXBConsistency Check on CN's ( Test that the checksums at CN's match)rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX14rhjh3hh4hMh}r(h]h]h]h]h]uh:Knh<]rhEX14rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX2hjh3hh4hMh}r(h]h]h]h]h]uh:Koh<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kph<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kqh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXEUse case 9 (MN-MN replication): includes testing replication policiesrhjh3hh4hMh}r(h]h]h]h]h]uh:Krh<]rhEXEUse case 9 (MN-MN replication): includes testing replication policiesrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX15rhjh3hh4hMh}r(h]h]h]h]h]uh:Ksh<]rhEX15rr}r(hjhjubaubah4hubh)r}r(hUh}r (h]h]h]h]h]uhjh<]r hI)r }r (hX2hjh3hh4hMh}r (h]h]h]h]h]uh:Kth<]rhEX2r}r(hX2hj ubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kuh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r (hX\hjh3hh4hMh}r!(h]h]h]h]h]uh:Kvh<]r"hEXr#}r$(hX\hjubaubah4hubh)r%}r&(hUh}r'(h]h]h]h]h]uhjh<]r((hI)r)}r*(hXCLoad testing to determime the break points (how far can we scale).r+hj%h3hh4hMh}r,(h]h]h]h]h]uh:Kwh<]r-hEXCLoad testing to determime the break points (how far can we scale).r.r/}r0(hj+hj)ubaubhI)r1}r2(hXHRelates to risk register issue that CN's don't scale to handle the load.r3hj%h3hh4hMh}r4(h]h]h]h]h]uh:Kyh<]r5hEXHRelates to risk register issue that CN's don't scale to handle the load.r6r7}r8(hj3hj1ubaubhI)r9}r:(hX"What is the target that we should be able to handle. Suggestion is that we want to be able to handle 100 Member Node traffic. This may not be a big issue until we get to handling high frequency updates (e.g. sensor data). Thought: look at the milestone 3 metrics and test at 5x that number.r;hj%h3hh4hMh}r<(h]h]h]h]h]uh:K{h<]r=hEX"What is the target that we should be able to handle. Suggestion is that we want to be able to handle 100 Member Node traffic. This may not be a big issue until we get to handling high frequency updates (e.g. sensor data). Thought: look at the milestone 3 metrics and test at 5x that number.r>r?}r@(hj;hj9ubaubeh4hubeh4jubh)rA}rB(hUh}rC(h]h]h]h]h]uhhh<]rD(h)rE}rF(hUh}rG(h]h]h]h]h]uhjAh<]rHhI)rI}rJ(hX16rKhjEh3hh4hMh}rL(h]h]h]h]h]uh:Kh<]rMhEX16rNrO}rP(hjKhjIubaubah4hubh)rQ}rR(hUh}rS(h]h]h]h]h]uhjAh<]rThI)rU}rV(hX1hjQh3hh4hMh}rW(h]h]h]h]h]uh:Kh<]rXhEX1rY}rZ(hX1hjUubaubah4hubh)r[}r\(hUh}r](h]h]h]h]h]uhjAh<]r^hI)r_}r`(hX\hj[h3hh4hMh}ra(h]h]h]h]h]uh:Kh<]rbhEXrc}rd(hX\hj_ubaubah4hubh)re}rf(hUh}rg(h]h]h]h]h]uhjAh<]rhhI)ri}rj(hX\hjeh3hh4hMh}rk(h]h]h]h]h]uh:Kh<]rlhEXrm}rn(hX\hjiubaubah4hubh)ro}rp(hUh}rq(h]h]h]h]h]uhjAh<]rrhI)rs}rt(hX4Does an insertion via a MN replication request work?ruhjoh3hh4hMh}rv(h]h]h]h]h]uh:Kh<]rwhEX4Does an insertion via a MN replication request work?rxry}rz(hjuhjsubaubah4hubeh4jubh)r{}r|(hUh}r}(h]h]h]h]h]uhhh<]r~(h)r}r(hUh}r(h]h]h]h]h]uhj{h<]rhI)r}r(hX17rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX17rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj{h<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj{h<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj{h<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhj{h<]rhI)r}r(hX>Serve up data from a replicated MN when home MN is inavailablerhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX>Serve up data from a replicated MN when home MN is inavailablerr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX18rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX18rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXIData and Metadata re-synchronization when MN and CN come back from outagerhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXIData and Metadata re-synchronization when MN and CN come back from outagerr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX19rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX19rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjh<]r hI)r }r(hXJuly 31rhj h3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXJuly 31rr}r(hjhj ubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r (hUh}r!(h]h]h]h]h]uhjh<]r"hI)r#}r$(hX\Testing authentication and access control. Includes testing actions that should be rejected.r%hjh3hh4hMh}r&(h]h]h]h]h]uh:Kh<]r'hEX\Testing authentication and access control. Includes testing actions that should be rejected.r(r)}r*(hj%hj#ubaubah4hubeh4jubh)r+}r,(hUh}r-(h]h]h]h]h]uhhh<]r.(h)r/}r0(hUh}r1(h]h]h]h]h]uhj+h<]r2hI)r3}r4(hX20r5hj/h3hh4hMh}r6(h]h]h]h]h]uh:Kh<]r7hEX20r8r9}r:(hj5hj3ubaubah4hubh)r;}r<(hUh}r=(h]h]h]h]h]uhj+h<]r>hI)r?}r@(hX1hj;h3hh4hMh}rA(h]h]h]h]h]uh:Kh<]rBhEX1rC}rD(hX1hj?ubaubah4hubh)rE}rF(hUh}rG(h]h]h]h]h]uhj+h<]rHhI)rI}rJ(hX\hjEh3hh4hMh}rK(h]h]h]h]h]uh:Kh<]rLhEXrM}rN(hX\hjIubaubah4hubh)rO}rP(hUh}rQ(h]h]h]h]h]uhj+h<]rRhI)rS}rT(hX\hjOh3hh4hMh}rU(h]h]h]h]h]uh:Kh<]rVhEXrW}rX(hX\hjSubaubah4hubh)rY}rZ(hUh}r[(h]h]h]h]h]uhj+h<]r\hI)r]}r^(hXTesting that system metadata is properly validated. Resilience against a "loco" node with malformed metadata (both operator error and malicious users)r_hjYh3hh4hMh}r`(h]h]h]h]h]uh:Kh<]rahEXTesting that system metadata is properly validated. Resilience against a "loco" node with malformed metadata (both operator error and malicious users)rbrc}rd(hj_hj]ubaubah4hubeh4jubh)re}rf(hUh}rg(h]h]h]h]h]uhhh<]rh(h)ri}rj(hUh}rk(h]h]h]h]h]uhjeh<]rlhI)rm}rn(hX21rohjih3hh4hMh}rp(h]h]h]h]h]uh:Kh<]rqhEX21rrrs}rt(hjohjmubaubah4hubh)ru}rv(hUh}rw(h]h]h]h]h]uhjeh<]rxhI)ry}rz(hX\hjuh3hh4hMh}r{(h]h]h]h]h]uh:Kh<]r|hEXr}}r~(hX\hjyubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjeh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjeh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjeh<]rhI)r}r(hX!Use case 12 (User Authentication)rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX!Use case 12 (User Authentication)rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX22rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX22rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX Use case 13 (User authorization)rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX Use case 13 (User authorization)rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX23rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX23rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r (h]h]h]h]h]uhjh<]r hI)r }r (hX4Use case 14 (system authenication and authorization)r hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX4Use case 14 (system authenication and authorization)rr}r(hj hj ubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX24rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX24r r!}r"(hjhjubaubah4hubh)r#}r$(hUh}r%(h]h]h]h]h]uhjh<]r&hI)r'}r((hX\hj#h3hh4hMh}r)(h]h]h]h]h]uh:Kh<]r*hEXr+}r,(hX\hj'ubaubah4hubh)r-}r.(hUh}r/(h]h]h]h]h]uhjh<]r0hI)r1}r2(hX\hj-h3hh4hMh}r3(h]h]h]h]h]uh:Kh<]r4hEXr5}r6(hX\hj1ubaubah4hubh)r7}r8(hUh}r9(h]h]h]h]h]uhjh<]r:hI)r;}r<(hX\hj7h3hh4hMh}r=(h]h]h]h]h]uh:Kh<]r>hEXr?}r@(hX\hj;ubaubah4hubh)rA}rB(hUh}rC(h]h]h]h]h]uhjh<]rDhI)rE}rF(hXIntegration tests across multiple Member Nodes and Coordinating Nodes. For example, inserting documents at the same time but in different places to ensure it works and we don't have deadlocks showing up.rGhjAh3hh4hMh}rH(h]h]h]h]h]uh:Kh<]rIhEXIntegration tests across multiple Member Nodes and Coordinating Nodes. For example, inserting documents at the same time but in different places to ensure it works and we don't have deadlocks showing up.rJrK}rL(hjGhjEubaubah4hubeh4jubh)rM}rN(hUh}rO(h]h]h]h]h]uhhh<]rP(h)rQ}rR(hUh}rS(h]h]h]h]h]uhjMh<]rThI)rU}rV(hX25rWhjQh3hh4hMh}rX(h]h]h]h]h]uh:Kh<]rYhEX25rZr[}r\(hjWhjUubaubah4hubh)r]}r^(hUh}r_(h]h]h]h]h]uhjMh<]r`hI)ra}rb(hX1hj]h3hh4hMh}rc(h]h]h]h]h]uh:Kh<]rdhEX1re}rf(hX1hjaubaubah4hubh)rg}rh(hUh}ri(h]h]h]h]h]uhjMh<]rjhI)rk}rl(hX\hjgh3hh4hMh}rm(h]h]h]h]h]uh:Kh<]rnhEXro}rp(hX\hjkubaubah4hubh)rq}rr(hUh}rs(h]h]h]h]h]uhjMh<]rthI)ru}rv(hX1hjqh3hh4hMh}rw(h]h]h]h]h]uh:Kh<]rxhEX1ry}rz(hX1hjuubaubah4hubh)r{}r|(hUh}r}(h]h]h]h]h]uhjMh<]r~hI)r}r(hX8Threshold tests for heartbeats and other status testing.rhj{h3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX8Threshold tests for heartbeats and other status testing.rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX26rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX26rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX>General penetration testing (WebInspect as a specific example)rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX>General penetration testing (WebInspect as a specific example)rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX27rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX27rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX<Use case 17 (CRUD logs aggregated at CN) Not impmemented yetrhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX<Use case 17 (CRUD logs aggregated at CN) Not impmemented yetrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX28rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX28rr }r (hjhjubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjh<]rhI)r}r(hX\hj h3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r (hUh}r!(h]h]h]h]h]uhjh<]r"hI)r#}r$(hX1hjh3hh4hMh}r%(h]h]h]h]h]uh:Kh<]r&hEX1r'}r((hX1hj#ubaubah4hubh)r)}r*(hUh}r+(h]h]h]h]h]uhjh<]r,hI)r-}r.(hX.Use case 24 (MN and CN's support transactions)r/hj)h3hh4hMh}r0(h]h]h]h]h]uh:Kh<]r1hEX.Use case 24 (MN and CN's support transactions)r2r3}r4(hj/hj-ubaubah4hubeh4jubh)r5}r6(hUh}r7(h]h]h]h]h]uhhh<]r8(h)r9}r:(hUh}r;(h]h]h]h]h]uhj5h<]r<hI)r=}r>(hX29r?hj9h3hh4hMh}r@(h]h]h]h]h]uh:Kh<]rAhEX29rBrC}rD(hj?hj=ubaubah4hubh)rE}rF(hUh}rG(h]h]h]h]h]uhj5h<]rHhI)rI}rJ(hX\hjEh3hh4hMh}rK(h]h]h]h]h]uh:Kh<]rLhEXrM}rN(hX\hjIubaubah4hubh)rO}rP(hUh}rQ(h]h]h]h]h]uhj5h<]rRhI)rS}rT(hX\hjOh3hh4hMh}rU(h]h]h]h]h]uh:Kh<]rVhEXrW}rX(hX\hjSubaubah4hubh)rY}rZ(hUh}r[(h]h]h]h]h]uhj5h<]r\hI)r]}r^(hX1hjYh3hh4hMh}r_(h]h]h]h]h]uh:Kh<]r`hEX1ra}rb(hX1hj]ubaubah4hubh)rc}rd(hUh}re(h]h]h]h]h]uhj5h<]rfhI)rg}rh(hXyDoes a MN data/metadata insertion prevent a race condition, even if insertion deviuosly tries to trigger a race conditionrihjch3hh4hMh}rj(h]h]h]h]h]uh:Kh<]rkhEXyDoes a MN data/metadata insertion prevent a race condition, even if insertion deviuosly tries to trigger a race conditionrlrm}rn(hjihjgubaubah4hubeh4jubh)ro}rp(hUh}rq(h]h]h]h]h]uhhh<]rr(h)rs}rt(hUh}ru(h]h]h]h]h]uhjoh<]rvhI)rw}rx(hX30ryhjsh3hh4hMh}rz(h]h]h]h]h]uh:Kh<]r{hEX30r|r}}r~(hjyhjwubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjoh<]rhI)r}r(hX2hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjoh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjoh<]rhI)r}r(hX2hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjoh<]rhI)r}r(hXzTest that the ITK libraries work properly on all supported (advertised) OS platforms, hardware, and software combinationsrhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXzTest that the ITK libraries work properly on all supported (advertised) OS platforms, hardware, and software combinationsrr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX31rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX31rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX2hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX2r}r(hX2hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX@Race condition: What happens if two MN's submit the same thing?rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX@Race condition: What happens if two MN's submit the same thing?rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX32rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX32rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX1hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX1r}r(hX1hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r (h]h]h]h]h]uhjh<]r hI)r }r (hX3hjh3hh4hMh}r (h]h]h]h]h]uh:Kh<]rhEX3r}r(hX3hj ubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXTesting the logging and auditing functions. Ditto on the reporting functions. There should be unit tests for this within the software stacks, but this needs to verify that, for example, a Member Node action is logged at the MN and at the CN.rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXTesting the logging and auditing functions. Ditto on the reporting functions. There should be unit tests for this within the software stacks, but this needs to verify that, for example, a Member Node action is logged at the MN and at the CN.rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r (h)r!}r"(hUh}r#(h]h]h]h]h]uhjh<]r$hI)r%}r&(hX33r'hj!h3hh4hMh}r((h]h]h]h]h]uh:Kh<]r)hEX33r*r+}r,(hj'hj%ubaubah4hubh)r-}r.(hUh}r/(h]h]h]h]h]uhjh<]r0hI)r1}r2(hX\hj-h3hh4hMh}r3(h]h]h]h]h]uh:Kh<]r4hEXr5}r6(hX\hj1ubaubah4hubh)r7}r8(hUh}r9(h]h]h]h]h]uhjh<]r:hI)r;}r<(hX\hj7h3hh4hMh}r=(h]h]h]h]h]uh:Kh<]r>hEXr?}r@(hX\hj;ubaubah4hubh)rA}rB(hUh}rC(h]h]h]h]h]uhjh<]rDhI)rE}rF(hX3hjAh3hh4hMh}rG(h]h]h]h]h]uh:Kh<]rHhEX3rI}rJ(hX3hjEubaubah4hubh)rK}rL(hUh}rM(h]h]h]h]h]uhjh<]rNhI)rO}rP(hX8Performance testing (particularly as a function of load)rQhjKh3hh4hMh}rR(h]h]h]h]h]uh:Kh<]rShEX8Performance testing (particularly as a function of load)rTrU}rV(hjQhjOubaubah4hubeh4jubh)rW}rX(hUh}rY(h]h]h]h]h]uhhh<]rZ(h)r[}r\(hUh}r](h]h]h]h]h]uhjWh<]r^hI)r_}r`(hX34rahj[h3hh4hMh}rb(h]h]h]h]h]uh:Kh<]rchEX34rdre}rf(hjahj_ubaubah4hubh)rg}rh(hUh}ri(h]h]h]h]h]uhjWh<]rjhI)rk}rl(hX\hjgh3hh4hMh}rm(h]h]h]h]h]uh:Kh<]rnhEXro}rp(hX\hjkubaubah4hubh)rq}rr(hUh}rs(h]h]h]h]h]uhjWh<]rthI)ru}rv(hX\hjqh3hh4hMh}rw(h]h]h]h]h]uh:Kh<]rxhEXry}rz(hX\hjuubaubah4hubh)r{}r|(hUh}r}(h]h]h]h]h]uhjWh<]r~hI)r}r(hX3hj{h3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX3r}r(hX3hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjWh<]rhI)r}r(hXhAccessibility -- 508 compliance as a floor, but going beyond this to appropriate level of accessibility.rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXhAccessibility -- 508 compliance as a floor, but going beyond this to appropriate level of accessibility.rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX35rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX35rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX3hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX3r}r(hX3hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hXxTest replication policies. (duplicative test of above?) Side issue: unit testing to see if replication policy is inconsistent. More an issue for rule-based replication policies. Precedence of operations may fix this, but what happens when the replication policy resolves to zero replication nodes allowed (or replication nodes less than required number of replication nodes)?rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXxTest replication policies. (duplicative test of above?) Side issue: unit testing to see if replication policy is inconsistent. More an issue for rule-based replication policies. Precedence of operations may fix this, but what happens when the replication policy resolves to zero replication nodes allowed (or replication nodes less than required number of replication nodes)?rr}r(hjhjubaubah4hubeh4jubh)r}r(hUh}r(h]h]h]h]h]uhhh<]r(h)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX36rhjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX36rr}r(hjhjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX\hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEXr}r(hX\hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX3hjh3hh4hMh}r(h]h]h]h]h]uh:Kh<]rhEX3r}r(hX3hjubaubah4hubh)r}r(hUh}r(h]h]h]h]h]uhjh<]rhI)r}r(hX[Usability testing (generally) -- push off to a different category from Integration testing.rhjh3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX[Usability testing (generally) -- push off to a different category from Integration testing.r r }r (hjhjubaubah4hubeh4jubh)r }r (hUh}r (h]h]h]h]h]uhhh<]r (h)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX37r hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX37r r }r (hj hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r! (h]h]h]h]h]uhj h<]r" hI)r# }r$ (hX\hj h3hh4hMh}r% (h]h]h]h]h]uh:Kh<]r& hEXr' }r( (hX\hj# ubaubah4hubh)r) }r* (hUh}r+ (h]h]h]h]h]uhj h<]r, hI)r- }r. (hX4hj) h3hh4hMh}r/ (h]h]h]h]h]uh:Kh<]r0 hEX4r1 }r2 (hX4hj- ubaubah4hubh)r3 }r4 (hUh}r5 (h]h]h]h]h]uhj h<]r6 hI)r7 }r8 (hXKResponse time test (both API and GUI). Relates back to performance testing.r9 hj3 h3hh4hMh}r: (h]h]h]h]h]uh:Kh<]r; hEXKResponse time test (both API and GUI). Relates back to performance testing.r< r= }r> (hj9 hj7 ubaubah4hubeh4jubh)r? }r@ (hUh}rA (h]h]h]h]h]uhhh<]rB (h)rC }rD (hUh}rE (h]h]h]h]h]uhj? h<]rF hI)rG }rH (hX38rI hjC h3hh4hMh}rJ (h]h]h]h]h]uh:Kh<]rK hEX38rL rM }rN (hjI hjG ubaubah4hubh)rO }rP (hUh}rQ (h]h]h]h]h]uhj? h<]rR hI)rS }rT (hX\hjO h3hh4hMh}rU (h]h]h]h]h]uh:Kh<]rV hEXrW }rX (hX\hjS ubaubah4hubh)rY }rZ (hUh}r[ (h]h]h]h]h]uhj? h<]r\ hI)r] }r^ (hX\hjY h3hh4hMh}r_ (h]h]h]h]h]uh:Kh<]r` hEXra }rb (hX\hj] ubaubah4hubh)rc }rd (hUh}re (h]h]h]h]h]uhj? h<]rf hI)rg }rh (hX4hjc h3hh4hMh}ri (h]h]h]h]h]uh:Kh<]rj hEX4rk }rl (hX4hjg ubaubah4hubh)rm }rn (hUh}ro (h]h]h]h]h]uhj? h<]rp hI)rq }rr (hX[Testing validity of science metadata (compliance with standards). See issue in parking lot.rs hjm h3hh4hMh}rt (h]h]h]h]h]uh:Kh<]ru hEX[Testing validity of science metadata (compliance with standards). See issue in parking lot.rv rw }rx (hjs hjq ubaubah4hubeh4jubh)ry }rz (hUh}r{ (h]h]h]h]h]uhhh<]r| (h)r} }r~ (hUh}r (h]h]h]h]h]uhjy h<]r hI)r }r (hX39r hj} h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX39r r }r (hj hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjy h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjy h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjy h<]r hI)r }r (hX4hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX4r }r (hX4hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhjy h<]r hI)r }r (hX)Use case 3 (register -- manual operation)r hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX)Use case 3 (register -- manual operation)r r }r (hj hj ubaubah4hubeh4jubh)r }r (hUh}r (h]h]h]h]h]uhhh<]r (h)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX40r hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX40r r }r (hj hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX4hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX4r }r (hX4hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hXDeployment testing -- can we test that dependancies have been resolved, perhaps a particular issue for the ITK, but also for the various Member Node stacks.r hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXDeployment testing -- can we test that dependancies have been resolved, perhaps a particular issue for the ITK, but also for the various Member Node stacks.r r }r (hj hj ubaubah4hubeh4jubh)r }r (hUh}r (h]h]h]h]h]uhhh<]r (h)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX41r hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEX41r r }r (hj hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX\hj h3hh4hMh}r (h]h]h]h]h]uh:Kh<]r hEXr }r (hX\hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hX5hj h3hh4hMh}r (h]h]h]h]h]uh:Mh<]r hEX5r }r (hX5hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhj h<]r hI)r }r (hXKTest that the libraries can check for dependancies, so that when the library intializes it checks that the necessary dependancies have been installed. Some of this is handled with egg installations. ??what happens if something changes after the installation? Library needs to manage these issues, and emit appropriate error codes.r! hj h3hh4hMh}r" (h]h]h]h]h]uh:Mh<]r# hEXKTest that the libraries can check for dependancies, so that when the library intializes it checks that the necessary dependancies have been installed. Some of this is handled with egg installations. ??what happens if something changes after the installation? Library needs to manage these issues, and emit appropriate error codes.r$ r% }r& (hj! hj ubaubah4hubeh4jubh)r' }r( (hUh}r) (h]h]h]h]h]uhhh<]r* (h)r+ }r, (hUh}r- (h]h]h]h]h]uhj' h<]r. hI)r/ }r0 (hX42r1 hj+ h3hh4hMh}r2 (h]h]h]h]h]uh:Mh<]r3 hEX42r4 r5 }r6 (hj1 hj/ ubaubah4hubh)r7 }r8 (hUh}r9 (h]h]h]h]h]uhj' h<]r: hI)r; }r< (hX\hj7 h3hh4hMh}r= (h]h]h]h]h]uh:Mh<]r> hEXr? }r@ (hX\hj; ubaubah4hubh)rA }rB (hUh}rC (h]h]h]h]h]uhj' h<]rD hI)rE }rF (hX\hjA h3hh4hMh}rG (h]h]h]h]h]uh:Mh<]rH hEXrI }rJ (hX\hjE ubaubah4hubh)rK }rL (hUh}rM (h]h]h]h]h]uhj' h<]rN hI)rO }rP (hX5hjK h3hh4hMh}rQ (h]h]h]h]h]uh:Mh<]rR hEX5rS }rT (hX5hjO ubaubah4hubh)rU }rV (hUh}rW (h]h]h]h]h]uhj' h<]rX hI)rY }rZ (hXUse case 10 (MN status reports)r[ hjU h3hh4hMh}r\ (h]h]h]h]h]uh:Mh<]r] hEXUse case 10 (MN status reports)r^ r_ }r` (hj[ hjY ubaubah4hubeh4jubeh4Utbodyra ubeh4Utgrouprb ubh<]rc h ah4Utheadrd ubh<]re (hh)rf }rg (hUh}rh (h]h]h]h]h]uhh h<]ri hI)rj }rk (hXHighrl hjf h3hh4hMh}rm (h]h]h]h]h]uh:K)h<]rn hEXHighro rp }rq (hjl hjj ubaubah4hubh)rr }rs (hUh}rt (h]h]h]h]h]uhh h<]ru hI)rv }rw (hX Due July 31?rx hjr h3hh4hMh}ry (h]h]h]h]h]uh:K*h<]rz hEX Due July 31?r{ r| }r} (hjx hjv ubaubah4hubh)r~ }r (hUh}r (h]h]h]h]h]uhh h<]r hI)r }r (hXLowr hj~ h3hh4hMh}r (h]h]h]h]h]uh:K+h<]r hEXLowr r }r (hj hj ubaubah4hubh)r }r (hUh}r (h]h]h]h]h]uhh h<]r hI)r }r (hX Descriptionr hj h3hh4hMh}r (h]h]h]h]h]uh:K,h<]r hEX Descriptionr r }r (hj hj ubaubah4hubeh4jubh<]r hI)r }r (hX#hhh3hh4hMh}r (h]h]h]h]h]uh:K(h<]r hEX#r }r (hX#hj ubaubah4hubh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhhh<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4Usystem_messager ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineK0Utypehuhhh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineK5Utypehuhj-h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineK:Utypehuhjgh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineK?Utypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKCUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKDUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKHUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKIUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKMUtypehuhj?h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKNUtypehuhjIh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKXUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r! (h]UlevelKh]h]Usourcehh]h]UlineK\Utypehuhjh<]r" hI)r# }r$ (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r% (h]h]h]h]h]uhj h<]r& hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r' r( }r) (hUhj# ubah4hMubah4j ubh )r* }r+ (hUh}r, (h]UlevelKh]h]Usourcehh]h]UlineK]Utypehuhjh<]r- hI)r. }r/ (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r0 (h]h]h]h]h]uhj* h<]r1 hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r2 r3 }r4 (hUhj. ubah4hMubah4j ubh )r5 }r6 (hUh}r7 (h]UlevelKh]h]Usourcehh]h]UlineKaUtypehuhj'h<]r8 hI)r9 }r: (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r; (h]h]h]h]h]uhj5 h<]r< hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r= r> }r? (hUhj9 ubah4hMubah4j ubh )r@ }rA (hUh}rB (h]UlevelKh]h]Usourcehh]h]UlineKbUtypehuhj1h<]rC hI)rD }rE (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rF (h]h]h]h]h]uhj@ h<]rG hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rH rI }rJ (hUhjD ubah4hMubah4j ubh )rK }rL (hUh}rM (h]UlevelKh]h]Usourcehh]h]UlineKfUtypehuhjah<]rN hI)rO }rP (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rQ (h]h]h]h]h]uhjK h<]rR hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rS rT }rU (hUhjO ubah4hMubah4j ubh )rV }rW (hUh}rX (h]UlevelKh]h]Usourcehh]h]UlineKgUtypehuhjkh<]rY hI)rZ }r[ (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r\ (h]h]h]h]h]uhjV h<]r] hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r^ r_ }r` (hUhjZ ubah4hMubah4j ubh )ra }rb (hUh}rc (h]UlevelKh]h]Usourcehh]h]UlineKlUtypehuhjh<]rd hI)re }rf (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rg (h]h]h]h]h]uhja h<]rh hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.ri rj }rk (hUhje ubah4hMubah4j ubh )rl }rm (hUh}rn (h]UlevelKh]h]Usourcehh]h]UlineKpUtypehuhjh<]ro hI)rp }rq (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rr (h]h]h]h]h]uhjl h<]rs hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rt ru }rv (hUhjp ubah4hMubah4j ubh )rw }rx (hUh}ry (h]UlevelKh]h]Usourcehh]h]UlineKqUtypehuhjh<]rz hI)r{ }r| (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r} (h]h]h]h]h]uhjw h<]r~ hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj{ ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKuUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKvUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj[h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjeh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjEh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjOh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjuh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r! (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r" (h]h]h]h]h]uhj h<]r# hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r$ r% }r& (hUhj ubah4hMubah4j ubh )r' }r( (hUh}r) (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r* hI)r+ }r, (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r- (h]h]h]h]h]uhj' h<]r. hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r/ r0 }r1 (hUhj+ ubah4hMubah4j ubh )r2 }r3 (hUh}r4 (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r5 hI)r6 }r7 (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r8 (h]h]h]h]h]uhj2 h<]r9 hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r: r; }r< (hUhj6 ubah4hMubah4j ubh )r= }r> (hUh}r? (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r@ hI)rA }rB (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rC (h]h]h]h]h]uhj= h<]rD hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rE rF }rG (hUhjA ubah4hMubah4j ubh )rH }rI (hUh}rJ (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]rK hI)rL }rM (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rN (h]h]h]h]h]uhjH h<]rO hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rP rQ }rR (hUhjL ubah4hMubah4j ubh )rS }rT (hUh}rU (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]rV hI)rW }rX (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rY (h]h]h]h]h]uhjS h<]rZ hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r[ r\ }r] (hUhjW ubah4hMubah4j ubh )r^ }r_ (hUh}r` (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj#h<]ra hI)rb }rc (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rd (h]h]h]h]h]uhj^ h<]re hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rf rg }rh (hUhjb ubah4hMubah4j ubh )ri }rj (hUh}rk (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj-h<]rl hI)rm }rn (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}ro (h]h]h]h]h]uhji h<]rp hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rq rr }rs (hUhjm ubah4hMubah4j ubh )rt }ru (hUh}rv (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj7h<]rw hI)rx }ry (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rz (h]h]h]h]h]uhjt h<]r{ hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r| r} }r~ (hUhjx ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjgh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjEh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjOh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj-h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj7h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjgh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjqh<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r! r" }r# (hUhj ubah4hMubah4j ubh )r$ }r% (hUh}r& (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r' hI)r( }r) (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r* (h]h]h]h]h]uhj$ h<]r+ hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r, r- }r. (hUhj( ubah4hMubah4j ubh )r/ }r0 (hUh}r1 (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r2 hI)r3 }r4 (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r5 (h]h]h]h]h]uhj/ h<]r6 hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r7 r8 }r9 (hUhj3 ubah4hMubah4j ubh )r: }r; (hUh}r< (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]r= hI)r> }r? (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r@ (h]h]h]h]h]uhj: h<]rA hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rB rC }rD (hUhj> ubah4hMubah4j ubh )rE }rF (hUh}rG (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjh<]rH hI)rI }rJ (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rK (h]h]h]h]h]uhjE h<]rL hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rM rN }rO (hUhjI ubah4hMubah4j ubh )rP }rQ (hUh}rR (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]rS hI)rT }rU (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rV (h]h]h]h]h]uhjP h<]rW hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rX rY }rZ (hUhjT ubah4hMubah4j ubh )r[ }r\ (hUh}r] (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r^ hI)r_ }r` (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}ra (h]h]h]h]h]uhj[ h<]rb hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rc rd }re (hUhj_ ubah4hMubah4j ubh )rf }rg (hUh}rh (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjO h<]ri hI)rj }rk (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rl (h]h]h]h]h]uhjf h<]rm hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.rn ro }rp (hUhjj ubah4hMubah4j ubh )rq }rr (hUh}rs (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhjY h<]rt hI)ru }rv (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}rw (h]h]h]h]h]uhjq h<]rx hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.ry rz }r{ (hUhju ubah4hMubah4j ubh )r| }r} (hUh}r~ (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj| h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineKUtypehuhj h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineMUtypehuhj7 h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubh )r }r (hUh}r (h]UlevelKh]h]Usourcehh]h]UlineMUtypehuhjA h<]r hI)r }r (hXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h}r (h]h]h]h]h]uhj h<]r hEXeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.r r }r (hUhj ubah4hMubah4j ubeUcurrent_sourcer NU decorationr NUautofootnote_startr KUnameidsr }r (hhWhhlhh8uh<]r h1ahUU transformerr NU footnote_refsr }r Urefnamesr }r Usymbol_footnotesr ]r Uautofootnote_refsr ]r Usymbol_footnote_refsr ]r U citationsr ]r h;hU current_liner NUtransform_messagesr ]r Ureporterr NUid_startr KU autofootnotesr ]r U citation_refsr }r Uindirect_targetsr ]r Usettingsr (cdocutils.frontend Values r or }r (Ufootnote_backlinksr KUrecord_dependenciesr NU rfc_base_urlr Uhttps://tools.ietf.org/html/r U tracebackr Upep_referencesr NUstrip_commentsr NU toc_backlinksr hU language_coder Uenr U datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNhBNUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerr Ustrictr U sectnum_xformr KUdump_transformsr NU docinfo_xformr KUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigr U_disable_configr!NU id_prefixr"UU tab_widthr#KUerror_encodingr$UUTF-8r%U_sourcer&hUgettext_compactr'U generatorr(NUdump_internalsr)NU smart_quotesr*U pep_base_urlr+U https://www.python.org/dev/peps/r,Usyntax_highlightr-Ulongr.Uinput_encoding_error_handlerr/j Uauto_id_prefixr0Uidr1Udoctitle_xformr2Ustrip_elements_with_classesr3NU _config_filesr4]Ufile_insertion_enabledr5U raw_enabledr6KU dump_settingsr7NubUsymbol_footnote_startr8KUidsr9}r:(hWhSh8h1hlh/hh,uUsubstitution_namesr;}r<h4h;h}r=(h]h]h]Usourcehh]h]uU footnotesr>]r?Urefidsr@}rAub.