pathops coincident work
This is working towards fixing all bugs around simplifying the tiger.
This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237223002
TBR=reed@google.com
BUG=skia:5131
Review-Url: https://codereview.chromium.org/2237223002
diff --git a/src/pathops/SkAddIntersections.cpp b/src/pathops/SkAddIntersections.cpp
index bdc7ae2..04f5bc3 100644
--- a/src/pathops/SkAddIntersections.cpp
+++ b/src/pathops/SkAddIntersections.cpp
@@ -508,16 +508,19 @@
SkOpPtT* testTAt = wt.segment()->addT(ts[swap][pt]);
wn.segment()->debugValidate();
SkOpPtT* nextTAt = wn.segment()->addT(ts[!swap][pt]);
- SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt);
- if (oppPrev) {
- testTAt->addOpp(nextTAt, oppPrev);
+ if (!testTAt->contains(nextTAt)) {
+ SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt); // Returns nullptr if pair
+ if (oppPrev) { // already shares a pt-t loop.
+ testTAt->span()->mergeMatches(nextTAt->span());
+ testTAt->addOpp(nextTAt, oppPrev);
+ }
+ if (testTAt->fPt != nextTAt->fPt) {
+ testTAt->span()->unaligned();
+ nextTAt->span()->unaligned();
+ }
+ wt.segment()->debugValidate();
+ wn.segment()->debugValidate();
}
- if (testTAt->fPt != nextTAt->fPt) {
- testTAt->span()->unaligned();
- nextTAt->span()->unaligned();
- }
- wt.segment()->debugValidate();
- wn.segment()->debugValidate();
if (!ts.isCoincident(pt)) {
continue;
}
diff --git a/src/pathops/SkOpAngle.cpp b/src/pathops/SkOpAngle.cpp
index 2da8357..6bc510e 100644
--- a/src/pathops/SkOpAngle.cpp
+++ b/src/pathops/SkOpAngle.cpp
@@ -905,8 +905,10 @@
if (verb != SkPath::kLine_Verb
&& !(fIsCurve = fSweep[0].crossCheck(fSweep[1]) != 0)) {
SkDLine lineHalf;
+ fCurvePart[1] = fCurvePart[SkPathOpsVerbToPoints(verb)];
+ fOriginalCurvePart[1] = fCurvePart[1];
lineHalf[0].set(fCurvePart[0].asSkPoint());
- lineHalf[1].set(fCurvePart[SkPathOpsVerbToPoints(verb)].asSkPoint());
+ lineHalf[1].set(fCurvePart[1].asSkPoint());
fTangentHalf.lineEndPoints(lineHalf);
fSide = 0;
}
diff --git a/src/pathops/SkOpAngle.h b/src/pathops/SkOpAngle.h
index a1ead1e..4099c4a 100644
--- a/src/pathops/SkOpAngle.h
+++ b/src/pathops/SkOpAngle.h
@@ -30,7 +30,7 @@
const SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
index 1c8ab5f..831ce71 100755
--- a/src/pathops/SkOpCoincidence.cpp
+++ b/src/pathops/SkOpCoincidence.cpp
@@ -250,10 +250,10 @@
oppPtTEnd = oppPtTEnd->span()->ptT();
SkASSERT(coinPtTStart->fT < coinPtTEnd->fT);
SkASSERT(oppPtTStart->fT != oppPtTEnd->fT);
- SkASSERT(!coinPtTStart->deleted());
- SkASSERT(!coinPtTEnd->deleted());
- SkASSERT(!oppPtTStart->deleted());
- SkASSERT(!oppPtTEnd->deleted());
+ SkOPASSERT(!coinPtTStart->deleted());
+ SkOPASSERT(!coinPtTEnd->deleted());
+ SkOPASSERT(!oppPtTStart->deleted());
+ SkOPASSERT(!oppPtTEnd->deleted());
DebugCheckAdd(fHead, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
DebugCheckAdd(fTop, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
SkCoincidentSpans* coinRec = SkOpTAllocator<SkCoincidentSpans>::Allocate(
@@ -301,7 +301,7 @@
SkOpSegment* writableSeg = const_cast<SkOpSegment*>(testSeg);
SkOpPtT* oppStart = writableSeg->addT(t);
SkOpSpan* writableBase = const_cast<SkOpSpan*>(base);
- oppStart->span()->addOppAndMerge(writableBase);
+ oppStart->span()->addOpp(writableBase);
if (oppStart->deleted()) {
continue;
}
@@ -426,9 +426,7 @@
FAIL_IF(!start->upCastable());
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
while (test != end || oTest != oEnd) {
if (!test->ptT()->contains(oStart->segment())
|| !oTest->ptT()->contains(start->segment())) {
@@ -446,26 +444,21 @@
oStartPtT->fT + oStartRange * startPart, test, &startOver)
: start->segment()->addExpanded(
startPtT->fT + startRange * oStartPart, oTest, &startOver);
- if (!success) {
- SkOPASSERT(false);
- return false;
- }
+ FAIL_IF(!success);
if (startOver) {
test = start;
oTest = oStart;
}
+ end = coin->coinPtTEnd()->span();
+ oEnd = coin->oppPtTEnd()->span();
}
if (test != end) {
- if (!test->upCastable()) {
- return false;
- }
+ FAIL_IF(!test->upCastable());
test = test->upCast()->next();
}
if (oTest != oEnd) {
oTest = coin->flipped() ? oTest->prev() : oTest->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
}
}
} while ((coin = coin->next()));
@@ -579,9 +572,20 @@
const SkOpPtT* over2s, const SkOpPtT* over2e, double tStart, double tEnd,
SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd) {
+ SkOpSegment* coinSeg = coinPtTStart->segment();
+ SkOpSegment* oppSeg = oppPtTStart->segment();
+ if (coinSeg == oppSeg) {
+ return false;
+ }
double coinTs, coinTe, oppTs, oppTe;
TRange(over1s, over1e, tStart, tEnd, coinPtTStart, coinPtTEnd, &coinTs, &coinTe);
+ if (coinSeg->collapsed(coinTs, coinTe)) {
+ return false;
+ }
TRange(over2s, over2e, tStart, tEnd, oppPtTStart, oppPtTEnd, &oppTs, &oppTe);
+ if (oppSeg->collapsed(oppTs, oppTe)) {
+ return false;
+ }
bool swap = coinTs > coinTe;
if (swap) {
SkTSwap(coinTs, coinTe);
@@ -592,11 +596,6 @@
if (swap) {
SkTSwap(oppTs, oppTe);
}
- SkOpSegment* coinSeg = coinPtTStart->segment();
- SkOpSegment* oppSeg = oppPtTStart->segment();
- if (coinSeg == oppSeg) {
- return false;
- }
return this->addOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe
SkDEBUGPARAMS(false) /* don't assert if addOrOverlap fails */ );
}
@@ -672,9 +671,9 @@
SkOpPtT* osWritable = os ? const_cast<SkOpPtT*>(os)
: oppSeg->addT(oppTs);
RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
- csWritable->span()->addOppAndMerge(osWritable->span());
+ csWritable->span()->addOpp(osWritable->span());
cs = csWritable;
- os = osWritable;
+ os = osWritable->active();
RETURN_FALSE_IF(callerAborts, (ce && ce->deleted()) || (oe && oe->deleted()));
}
if (!ce || !oe) {
@@ -682,7 +681,7 @@
: coinSeg->addT(coinTe);
SkOpPtT* oeWritable = oe ? const_cast<SkOpPtT*>(oe)
: oppSeg->addT(oppTe);
- ceWritable->span()->addOppAndMerge(oeWritable->span());
+ ceWritable->span()->addOpp(oeWritable->span());
ce = ceWritable;
oe = oeWritable;
}
@@ -1141,6 +1140,38 @@
return coin != nullptr;
}
+void SkOpCoincidence::releaseDeleted(SkCoincidentSpans* coin) {
+ if (!coin) {
+ return;
+ }
+ SkCoincidentSpans* head = coin;
+ SkCoincidentSpans* prev = nullptr;
+ SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin->coinPtTStart()->deleted()) {
+ SkOPASSERT(coin->flipped() ? coin->oppPtTEnd()->deleted() :
+ coin->oppPtTStart()->deleted());
+ if (prev) {
+ prev->setNext(next);
+ } else if (head == fHead) {
+ fHead = next;
+ } else {
+ fTop = next;
+ }
+ } else {
+ SkOPASSERT(coin->flipped() ? !coin->oppPtTEnd()->deleted() :
+ !coin->oppPtTStart()->deleted());
+ prev = coin;
+ }
+ } while ((coin = next));
+}
+
+void SkOpCoincidence::releaseDeleted() {
+ this->releaseDeleted(fHead);
+ this->releaseDeleted(fTop);
+}
+
// Please keep this in sync with debugReorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1196,6 +1227,7 @@
}
// Please keep this in sync with debugExpand()
+// expand the range by checking adjacent spans for coincidence
bool SkOpCoincidence::expand() {
SkCoincidentSpans* coin = fHead;
if (!coin) {
diff --git a/src/pathops/SkOpCoincidence.h b/src/pathops/SkOpCoincidence.h
index 436fa82..eeeb734 100644
--- a/src/pathops/SkOpCoincidence.h
+++ b/src/pathops/SkOpCoincidence.h
@@ -156,9 +156,9 @@
#if DEBUG_COINCIDENCE_VERBOSE
void debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugAddMissing(const char* id, SkPathOpsDebug::GlitchLog* ) const;
- void debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe,
- const char* id, SkPathOpsDebug::GlitchLog* log) const;
+ void debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const;
#endif
const SkOpAngle* debugAngle(int id) const {
@@ -170,7 +170,7 @@
void debugCheckValid(const char* id, SkPathOpsDebug::GlitchLog* log) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(fGlobalState->debugContour(id), nullptr);
}
@@ -193,6 +193,8 @@
#if DEBUG_COINCIDENCE_VERBOSE
void debugRemoveCollapsed(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugReorder(const char* id, SkPathOpsDebug::GlitchLog* ) const;
+ void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkCoincidentSpans* ,
+ const SkCoincidentSpans* ) const;
void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSegment* ) const;
#endif
void debugShowCoincidence() const;
@@ -227,6 +229,7 @@
static bool Ordered(const SkOpSegment* coin, const SkOpSegment* opp);
void release(const SkOpSegment* );
+ void releaseDeleted();
bool removeCollapsed();
bool reorder();
@@ -294,6 +297,7 @@
const SkOpPtT* coinStart2, const SkOpPtT* coinEnd2,
double* overS, double* overE) const;
bool release(SkCoincidentSpans* coin, SkCoincidentSpans* );
+ void releaseDeleted(SkCoincidentSpans* );
void restoreHead();
bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS,
const SkOpPtT* testE) const;
diff --git a/src/pathops/SkOpContour.h b/src/pathops/SkOpContour.h
index fa90c45..412fecd 100644
--- a/src/pathops/SkOpContour.h
+++ b/src/pathops/SkOpContour.h
@@ -124,7 +124,7 @@
void debugCheckHealth(const char* id, SkPathOpsDebug::GlitchLog* ) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(this->globalState()->debugContour(id), nullptr);
}
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp
index 3c63683..6a62175 100644
--- a/src/pathops/SkOpSegment.cpp
+++ b/src/pathops/SkOpSegment.cpp
@@ -262,6 +262,7 @@
SkOpPtT* oppPrev = test->ptT()->oppPrev(newPtT);
if (oppPrev) {
SkOpSpanBase* writableTest = const_cast<SkOpSpanBase*>(test);
+ writableTest->mergeMatches(newPtT->span());
writableTest->ptT()->addOpp(newPtT, oppPrev);
writableTest->checkForCollapsedCoincidence();
}
@@ -355,6 +356,16 @@
return fVerb < SkPath::kCubic_Verb && fHead.pt() == fTail.pt();
}
+bool SkOpSegment::collapsed(double s, double e) const {
+ const SkOpSpanBase* span = &fHead;
+ do {
+ if (span->collapsed(s, e)) {
+ return true;
+ }
+ } while (span->upCastable() && (span = span->upCast()->next()));
+ return false;
+}
+
void SkOpSegment::ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType includeType) {
SkOpSegment* baseSegment = baseAngle->segment();
@@ -1300,13 +1311,8 @@
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- oppTest->merge(oppSpan->upCast());
- } else {
- oppSpan->merge(oppTest->upCast());
- }
+ oppTest->mergeMatches(oppSpan);
+ oppTest->addOpp(oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1326,14 +1332,14 @@
const SkOpPtT* refHead = refSpan->ptT();
const SkOpPtT* checkHead = checkSpan->ptT();
// if the first pt pair from adjacent spans are far apart, assume that all are far enough apart
- if (!SkDPoint::RoughlyEqual(refHead->fPt, checkHead->fPt)) {
+ if (!SkDPoint::WayRoughlyEqual(refHead->fPt, checkHead->fPt)) {
#if DEBUG_COINCIDENCE
// verify that no combination of points are close
const SkOpPtT* dBugRef = refHead;
do {
const SkOpPtT* dBugCheck = checkHead;
do {
- SkASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
+ SkOPASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
dBugCheck = dBugCheck->next();
} while (dBugCheck != checkHead);
dBugRef = dBugRef->next();
@@ -1684,7 +1690,7 @@
continue;
}
SkDPoint oppPt = i.pt(index);
- if (oppPt.approximatelyEqual(midPt)) {
+ if (oppPt.approximatelyDEqual(midPt)) {
// the coincidence can occur at almost any angle
coincident = true;
}
diff --git a/src/pathops/SkOpSegment.h b/src/pathops/SkOpSegment.h
index 1b7aad1..a1b5477 100644
--- a/src/pathops/SkOpSegment.h
+++ b/src/pathops/SkOpSegment.h
@@ -108,6 +108,7 @@
void calcAngles();
bool collapsed() const;
+ bool collapsed(double startT, double endT) const;
static void ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType );
static void ComputeOneSumReverse(SkOpAngle* baseAngle, SkOpAngle* nextAngle,
@@ -128,7 +129,9 @@
}
void debugAddAngle(double startT, double endT);
- const SkOpPtT* debugAddT(double t) const;
+#if DEBUG_COINCIDENCE_VERBOSE
+ const SkOpPtT* debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* ) const;
+#endif
const SkOpAngle* debugAngle(int id) const;
#if DEBUG_ANGLE
void debugCheckAngleCoin() const;
@@ -139,7 +142,7 @@
void debugClearOne(const SkOpSpan* span, const char* id, SkPathOpsDebug::GlitchLog* glitches) const;
#endif
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpSpan.cpp b/src/pathops/SkOpSpan.cpp
index 98165fc..162bcad 100755
--- a/src/pathops/SkOpSpan.cpp
+++ b/src/pathops/SkOpSpan.cpp
@@ -13,6 +13,21 @@
return this->span()->ptT() != this;
}
+const SkOpPtT* SkOpPtT::active() const {
+ if (!fDeleted) {
+ return this;
+ }
+ const SkOpPtT* ptT = this;
+ const SkOpPtT* stopPtT = ptT;
+ while ((ptT = ptT->next()) != stopPtT) {
+ if (ptT->fSpan == fSpan && !ptT->fDeleted) {
+ return ptT;
+ }
+ }
+ SkASSERT(0); // should never return deleted
+ return this;
+}
+
bool SkOpPtT::collapsed(const SkOpPtT* check) const {
if (fPt != check->fPt) {
return false;
@@ -177,27 +192,14 @@
fDeleted = true;
}
-// please keep this in sync with debugAddOppAndMerge
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::addOppAndMerge(SkOpSpanBase* opp) {
+void SkOpSpanBase::addOpp(SkOpSpanBase* opp) {
SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->addOpp(opp->ptT(), oppPrev);
- this->checkForCollapsedCoincidence();
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+ if (!oppPrev) {
return;
}
- this->mergeContained(bounds);
- opp->mergeContained(bounds);
+ this->mergeMatches(opp);
+ this->ptT()->addOpp(opp->ptT(), oppPrev);
+ this->checkForCollapsedCoincidence();
}
// Please keep this in sync with debugMergeContained()
@@ -206,37 +208,39 @@
SkOpSpanBase* prev = this;
SkOpSegment* seg = this->segment();
while ((prev = prev->prev()) && bounds.contains(prev->pt()) && !seg->ptsDisjoint(prev, this)) {
- if (prev->prev()) {
- this->merge(prev->upCast());
- prev = this;
- } else if (this->final()) {
- seg->clearAll();
- return;
- } else {
- prev->merge(this->upCast());
- }
+ this->mergeMatches(prev);
+ this->addOpp(prev);
}
- SkOpSpanBase* current = this;
SkOpSpanBase* next = this;
while (next->upCastable() && (next = next->upCast()->next())
&& bounds.contains(next->pt()) && !seg->ptsDisjoint(this, next)) {
- if (!current->prev() && next->final()) {
- seg->clearAll();
- return;
- }
- if (current->prev()) {
- next->merge(current->upCast());
- current = next;
- } else {
- current->merge(next->upCast());
- // extra line in debug version
- }
+ this->mergeMatches(next);
+ this->addOpp(next);
}
#if DEBUG_COINCIDENCE
this->globalState()->coincidence()->debugValidate();
#endif
}
+bool SkOpSpanBase::collapsed(double s, double e) const {
+ const SkOpPtT* start = &fPtT;
+ const SkOpPtT* walk = start;
+ double min = walk->fT;
+ double max = min;
+ const SkOpSegment* segment = this->segment();
+ while ((walk = walk->next()) != start) {
+ if (walk->segment() != segment) {
+ continue;
+ }
+ min = SkTMin(min, walk->fT);
+ max = SkTMax(max, walk->fT);
+ if (between(min, s, max) && between(min, e, max)) {
+ return true;
+ }
+ }
+ return false;
+}
+
bool SkOpSpanBase::contains(const SkOpSpanBase* span) const {
const SkOpPtT* start = &fPtT;
const SkOpPtT* check = &span->fPtT;
@@ -294,7 +298,7 @@
fChased = false;
SkDEBUGCODE(fCount = 1);
SkDEBUGCODE(fID = globalState()->nextSpanID());
- SkDEBUGCODE(fDeleted = false);
+ SkDEBUGCODE(fDebugDeleted = false);
}
// this pair of spans share a common t value or point; merge them and eliminate duplicates
@@ -305,6 +309,7 @@
SkASSERT(!zero_or_one(spanPtT->fT));
span->release(this->ptT());
if (this->contains(span)) {
+ SkOPASSERT(0); // check to see if this ever happens -- should have been found earlier
return; // merge is already in the ptT loop
}
SkOpPtT* remainder = spanPtT->next();
@@ -324,7 +329,12 @@
remainder = next;
}
fSpanAdds += span->fSpanAdds;
- this->checkForCollapsedCoincidence();
+}
+
+SkOpSpanBase* SkOpSpanBase::active() {
+ SkOpSpanBase* result = fPrev ? fPrev->next() : upCast()->next()->prev();
+ SkASSERT(this == result || fDebugDeleted);
+ return result;
}
// please keep in sync with debugCheckForCollapsedCoincidence()
@@ -344,6 +354,73 @@
}
coins->markCollapsed(test);
} while ((test = test->next()) != head);
+ coins->releaseDeleted();
+}
+
+// please keep in sync with debugMergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::mergeMatches(SkOpSpanBase* opp) {
+ SkOpPtT* test = &fPtT;
+ SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+ if (!zero_or_one(inner->fT)) {
+ innerBase->upCast()->release(test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ testBase->upCast()->release(inner);
+ } else {
+ segment->markAllDone(); // mark segment as collapsed
+ SkDEBUGCODE(testBase->debugSetDeleted());
+ test->setDeleted();
+ SkDEBUGCODE(innerBase->debugSetDeleted());
+ inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->checkForCollapsedCoincidence();
}
int SkOpSpan::computeWindSum() {
@@ -413,7 +490,7 @@
}
void SkOpSpan::release(const SkOpPtT* kept) {
- SkDEBUGCODE(fDeleted = true);
+ SkDEBUGCODE(fDebugDeleted = true);
SkASSERT(kept->span() != this);
SkASSERT(!final());
SkOpSpan* prev = this->prev();
diff --git a/src/pathops/SkOpSpan.h b/src/pathops/SkOpSpan.h
index 96a97e0..7c7bf7c 100644
--- a/src/pathops/SkOpSpan.h
+++ b/src/pathops/SkOpSpan.h
@@ -28,6 +28,8 @@
kIsDuplicate = 1
};
+ const SkOpPtT* active() const;
+
// please keep in sync with debugAddOpp()
void addOpp(SkOpPtT* opp, SkOpPtT* oppPrev) {
SkOpPtT* oldNext = this->fNext;
@@ -55,7 +57,7 @@
const SkOpCoincidence* debugCoincidence() const;
bool debugContains(const SkOpPtT* ) const;
const SkOpPtT* debugContains(const SkOpSegment* check) const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugLoopLimit(bool report) const;
bool debugMatchID(int id) const;
const SkOpPtT* debugOppPrev(const SkOpPtT* opp) const;
@@ -98,7 +100,8 @@
bool onEnd() const;
- SkOpPtT* oppPrev(SkOpPtT* opp) const {
+ // returns nullptr if this is already in the opp ptT loop
+ SkOpPtT* oppPrev(const SkOpPtT* opp) const {
// find the fOpp ptr to opp
SkOpPtT* oppPrev = opp->fNext;
if (oppPrev == this) {
@@ -176,7 +179,8 @@
class SkOpSpanBase {
public:
- void addOppAndMerge(SkOpSpanBase* );
+ SkOpSpanBase* active();
+ void addOpp(SkOpSpanBase* opp);
void bumpSpanAdds() {
++fSpanAdds;
@@ -192,6 +196,7 @@
return fCoinEnd;
}
+ bool collapsed(double s, double e) const;
bool contains(const SkOpSpanBase* ) const;
const SkOpPtT* contains(const SkOpSegment* ) const;
@@ -209,11 +214,6 @@
bool containsCoinEnd(const SkOpSegment* ) const;
SkOpContour* contour() const;
-#if DEBUG_COINCIDENCE_VERBOSE
- void debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* ,
- bool* del1, bool* del2) const;
-#endif
-
int debugBumpCount() {
return SkDEBUGRELEASE(++fCount, -1);
}
@@ -222,6 +222,9 @@
return SkDEBUGRELEASE(fID, -1);
}
+#if DEBUG_COINCIDENCE_VERBOSE
+ void debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* opp) const;
+#endif
bool debugAlignedEnd(double t, const SkPoint& pt) const;
bool debugAlignedInner() const;
const SkOpAngle* debugAngle(int id) const;
@@ -230,20 +233,25 @@
#endif
const SkOpCoincidence* debugCoincidence() const;
bool debugCoinEndLoopCheck() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
#ifdef SK_DEBUG
- bool debugDeleted() const { return fDeleted; }
+ bool debugDeleted() const { return fDebugDeleted; }
#endif
#if DEBUG_COINCIDENCE_VERBOSE
void debugInsertCoinEnd(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkOpSpanBase* ) const;
void debugMergeContained(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkPathOpsBounds& bounds, bool* deleted) const;
+ void debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSpanBase* opp) const;
#endif
const SkOpPtT* debugPtT(int id) const;
void debugResetCoinT() const;
const SkOpSegment* debugSegment(int id) const;
void debugSetCoinT(int ) const;
+#ifdef SK_DEBUG
+ void debugSetDeleted() { fDebugDeleted = true; }
+#endif
const SkOpSpanBase* debugSpan(int id) const;
const SkOpSpan* debugStarter(SkOpSpanBase const** endPtr) const;
SkOpGlobalState* globalState() const;
@@ -285,6 +293,7 @@
void merge(SkOpSpan* span);
void mergeContained(const SkPathOpsBounds& bounds);
+ void mergeMatches(SkOpSpanBase* opp);
const SkOpSpan* prev() const {
return fPrev;
@@ -403,7 +412,7 @@
bool fChased; // set after span has been added to chase array
SkDEBUGCODE(int fCount); // number of pt/t pairs added
SkDEBUGCODE(int fID);
- SkDEBUGCODE(bool fDeleted); // set when span was merged with another span
+ SkDEBUGCODE(bool fDebugDeleted); // set when span was merged with another span
};
class SkOpSpan : public SkOpSpanBase {
@@ -445,15 +454,14 @@
void debugInsertCoincidence(const char* , SkPathOpsDebug::GlitchLog* ,
const SkOpSegment* , bool flipped) const;
#endif
- void release(const SkOpPtT* );
+ void dumpCoin() const;
+ bool dumpSpan() const;
bool done() const {
SkASSERT(!final());
return fDone;
}
- void dumpCoin() const;
- bool dumpSpan() const;
void init(SkOpSegment* parent, SkOpSpan* prev, double t, const SkPoint& pt);
bool insertCoincidence(const SkOpSegment* , bool flipped);
@@ -496,6 +504,8 @@
return fOppValue;
}
+ void release(const SkOpPtT* );
+
SkOpPtT* setCoinStart(SkOpSpan* oldCoinStart, SkOpSegment* oppSegment);
void setDone(bool done) {
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp
index 82b93f4..c8ee84c 100644
--- a/src/pathops/SkPathOpsCommon.cpp
+++ b/src/pathops/SkPathOpsCommon.cpp
@@ -485,7 +485,7 @@
// look for coincidence present in A-B and A-C but missing in B-C
while (coincidence->addMissing()) {
if (!--safetyHatch) {
- SkASSERT(0); // FIXME: take this out after verifying std tests don't trigger
+ SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addMissing");
@@ -517,7 +517,6 @@
DEBUG_COINCIDENCE_HEALTH(contourList, "expand2");
// the expanded ranges may not align -- add the missing spans
if (!coincidence->addExpanded()) {
- SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addExpanded3");
diff --git a/src/pathops/SkPathOpsDebug.cpp b/src/pathops/SkPathOpsDebug.cpp
index 212e2bc..d099c4a 100644
--- a/src/pathops/SkPathOpsDebug.cpp
+++ b/src/pathops/SkPathOpsDebug.cpp
@@ -12,6 +12,18 @@
#include "SkPathOpsDebug.h"
#include "SkString.h"
+#undef FAIL_IF
+#define FAIL_IF(cond, coin) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
+
+#undef FAIL_WITH_NULL_IF
+#define FAIL_WITH_NULL_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
+#undef RETURN_FALSE_IF
+#define RETURN_FALSE_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
class SkCoincidentSpans;
#if DEBUG_VALIDATE
@@ -67,6 +79,7 @@
kMarkCoinMissing_Glitch,
kMarkCoinStart_Glitch,
kMergeContained_Glitch,
+ kMergeMatches_Glitch,
kMissingCoin_Glitch,
kMissingDone_Glitch,
kMissingIntersection_Glitch,
@@ -331,6 +344,7 @@
case kMarkCoinMissing_Glitch: SkDebugf(" MarkCoinMissing"); break;
case kMarkCoinStart_Glitch: SkDebugf(" MarkCoinStart"); break;
case kMergeContained_Glitch: SkDebugf(" MergeContained"); break;
+ case kMergeMatches_Glitch: SkDebugf(" MergeMatches"); break;
case kMissingCoin_Glitch: SkDebugf(" MissingCoin"); break;
case kMissingDone_Glitch: SkDebugf(" MissingDone"); break;
case kMissingIntersection_Glitch: SkDebugf(" MissingIntersection"); break;
@@ -580,9 +594,9 @@
#include "SkOpAngle.h"
#include "SkOpSegment.h"
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// commented-out lines keep this in sync with addT()
- const SkOpPtT* SkOpSegment::debugAddT(double t) const {
+ const SkOpPtT* SkOpSegment::debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* log) const {
debugValidate();
SkPoint pt = this->ptAtT(t);
const SkOpSpanBase* span = &fHead;
@@ -594,7 +608,7 @@
}
if (t < result->fT) {
const SkOpSpan* prev = result->span()->prev();
- FAIL_WITH_NULL_IF(!prev);
+ FAIL_WITH_NULL_IF(!prev, span);
// marks in global state that new op span has been allocated
this->globalState()->setAllocatedOpSpan();
// span->init(this, prev, t, pt);
@@ -606,7 +620,7 @@
// span->bumpSpanAdds();
return nullptr;
}
- FAIL_WITH_NULL_IF(span != &fTail);
+ FAIL_WITH_NULL_IF(span != &fTail, span);
} while ((span = span->upCast()->next()));
SkASSERT(0);
return nullptr; // we never get here, but need this to satisfy compiler
@@ -776,7 +790,7 @@
}
if (testForCoincidence(rootPriorPtT, rootPtT, prior, spanBase, opp)) {
// mark coincidence
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// SkDebugf("%s coinSpan=%d endSpan=%d oppSpan=%d oppEndSpan=%d\n", __FUNCTION__,
// rootPriorPtT->debugID(), rootPtT->debugID(), rootOppStart->debugID(),
// rootOppEnd->debugID());
@@ -879,13 +893,8 @@
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- glitches->record(kMoveMultiple_Glitch, id, oppTest, oppSpan);
- } else {
- glitches->record(kMoveMultiple_Glitch, id, oppSpan, oppTest);
- }
+ oppTest->debugMergeMatches(id, glitches, oppSpan);
+ oppTest->debugAddOpp(id, glitches, oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1254,6 +1263,7 @@
#if DEBUG_COINCIDENCE_VERBOSE
/* Commented-out lines keep this in sync with expand */
+// expand the range by checking adjacent spans for coincidence
bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* log) const {
bool expanded = false;
const SkOpSegment* segment = coinPtTStart()->segment();
@@ -1275,6 +1285,9 @@
do {
const SkOpSpanBase* end = coinPtTEnd()->span();
SkOpSpanBase* next = end->final() ? nullptr : end->upCast()->next();
+ if (next && next->deleted()) {
+ break;
+ }
const SkOpPtT* oppPtT;
if (!next || !(oppPtT = next->contains(oppSegment))) {
break;
@@ -1289,9 +1302,6 @@
return expanded;
}
-#undef FAIL_IF
-#define FAIL_IF(cond) do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
-
/* Commented-out lines keep this in sync with addExpanded */
// for each coincident pair, match the spans
// if the spans don't match, add the mssing pt to the segment and loop it in the opposite span
@@ -1309,7 +1319,8 @@
const SkOpSpanBase* oStart = oStartPtT->span();
const SkOpSpanBase* end = coin->coinPtTEnd()->span();
const SkOpSpanBase* oEnd = coin->oppPtTEnd()->span();
- FAIL_IF(oEnd->deleted());
+ FAIL_IF(oEnd->deleted(), coin);
+ FAIL_IF(!start->upCastable(), coin);
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
if (!oTest) {
@@ -1320,12 +1331,12 @@
|| !oTest->ptT()->contains(start->segment())) {
// use t ranges to guess which one is missing
double startRange = coin->coinPtTEnd()->fT - startPtT->fT;
- FAIL_IF(!startRange);
+ FAIL_IF(!startRange, coin);
double startPart = (test->t() - startPtT->fT) / startRange;
double oStartRange = coin->oppPtTEnd()->fT - oStartPtT->fT;
- FAIL_IF(!oStartRange);
+ FAIL_IF(!oStartRange, coin);
double oStartPart = (oTest->t() - oStartPtT->fT) / oStartRange;
- FAIL_IF(startPart == oStartPart);
+ FAIL_IF(startPart == oStartPart, coin);
bool startOver = false;
if (startPart < oStartPart)
log->record(kAddExpandedCoin_Glitch, id, // strange debug formatting lines up with original
@@ -1342,6 +1353,9 @@
}
}
if (test != end) {
+ if (!test->upCastable()) {
+ return;
+ }
test = test->upCast()->next();
}
if (oTest != oEnd) {
@@ -1393,12 +1407,15 @@
if (coinSeg == oppSeg) {
return;
}
- return this->debugAddOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, id, log);
+ return this->debugAddOrOverlap(id, log, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe);
}
/* Commented-out lines keep this in sync addOrOverlap() */
-void SkOpCoincidence::debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe, const char* id, SkPathOpsDebug::GlitchLog* log) const {
+// If this is called by addEndMovedSpans(), a returned false propogates out to an abort.
+// If this is called by AddIfMissing(), a returned false indicates there was nothing to add
+void SkOpCoincidence::debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const {
SkTDArray<SkCoincidentSpans*> overlaps;
SkASSERT(!fTop); // this is (correctly) reversed in addifMissing()
if (fTop && !this->checkOverlap(fTop, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, &overlaps)) {
@@ -1427,77 +1444,63 @@
: overlap->oppPtTEnd()->fT < test->oppPtTEnd()->fT) {
log->record(kAddOrOverlap_Glitch, id, overlap, test->oppPtTEnd());
}
- if (!fHead) {
- SkAssertResult(true);
+ if (!fHead) { this->debugRelease(id, log, fHead, test);
+ this->debugRelease(id, log, fTop, test);
}
}
const SkOpPtT* cs = coinSeg->existing(coinTs, oppSeg);
const SkOpPtT* ce = coinSeg->existing(coinTe, oppSeg);
- if (overlap && cs && ce && overlap->contains(cs, ce)) {
- return;
- }
- SkASSERT(cs != ce || !cs);
+ RETURN_FALSE_IF(overlap && cs && ce && overlap->contains(cs, ce), coinSeg);
+ RETURN_FALSE_IF(cs != ce || !cs, coinSeg);
const SkOpPtT* os = oppSeg->existing(oppTs, coinSeg);
const SkOpPtT* oe = oppSeg->existing(oppTe, coinSeg);
- if (overlap && os && oe && overlap->contains(os, oe)) {
- return;
- }
+ RETURN_FALSE_IF(overlap && os && oe && overlap->contains(os, oe), oppSeg);
SkASSERT(true || !cs || !cs->deleted());
SkASSERT(true || !os || !os->deleted());
SkASSERT(true || !ce || !ce->deleted());
SkASSERT(true || !oe || !oe->deleted());
const SkOpPtT* csExisting = !cs ? coinSeg->existing(coinTs, nullptr) : nullptr;
const SkOpPtT* ceExisting = !ce ? coinSeg->existing(coinTe, nullptr) : nullptr;
- if (csExisting && csExisting == ceExisting) {
- return;
- }
- if (csExisting && (csExisting == ce || csExisting->contains(ceExisting ? ceExisting : ce))) {
- return;
- }
- if (ceExisting && (ceExisting == cs || ceExisting->contains(csExisting ? csExisting : cs))) {
- return;
- }
+ RETURN_FALSE_IF(csExisting && csExisting == ceExisting, coinSeg);
+ RETURN_FALSE_IF(csExisting && (csExisting == ce ||
+ csExisting->contains(ceExisting ? ceExisting : ce)), coinSeg);
+ RETURN_FALSE_IF(ceExisting && (ceExisting == cs ||
+ ceExisting->contains(csExisting ? csExisting : cs)), coinSeg);
const SkOpPtT* osExisting = !os ? oppSeg->existing(oppTs, nullptr) : nullptr;
const SkOpPtT* oeExisting = !oe ? oppSeg->existing(oppTe, nullptr) : nullptr;
- if (osExisting && osExisting == oeExisting) {
- return;
- }
- if (osExisting && (osExisting == oe || osExisting->contains(oeExisting ? oeExisting : oe))) {
- return;
- }
- if (oeExisting && (oeExisting == os || oeExisting->contains(osExisting ? osExisting : os))) {
- return;
- }
+ RETURN_FALSE_IF(osExisting && osExisting == oeExisting, oppSeg);
+ RETURN_FALSE_IF(osExisting && (osExisting == oe ||
+ osExisting->contains(oeExisting ? oeExisting : oe)), oppSeg);
+ RETURN_FALSE_IF(oeExisting && (oeExisting == os ||
+ oeExisting->contains(osExisting ? osExisting : os)), oppSeg);
bool csDeleted = false, osDeleted = false, ceDeleted = false, oeDeleted = false;
this->debugValidate();
if (!cs || !os) {
if (!cs)
- cs = coinSeg->debugAddT(coinTs);
+ cs = coinSeg->debugAddT(coinTs, id, log);
if (!os)
- os = oppSeg->debugAddT(oppTs);
- if (cs && os) cs->span()->debugAddOppAndMerge(id, log, os->span(), &csDeleted, &osDeleted);
+ os = oppSeg->debugAddT(oppTs, id, log);
+// RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
+ if (cs && os) cs->span()->debugAddOpp(id, log, os->span());
// cs = csWritable;
-// os = osWritable;
- if ((ce && ce->deleted()) || (oe && oe->deleted())) {
- return;
- }
+// os = osWritable->active();
+ RETURN_FALSE_IF((ce && ce->deleted()) || (oe && oe->deleted()), coinSeg);
}
if (!ce || !oe) {
if (!ce)
- ce = coinSeg->debugAddT(coinTe);
+ ce = coinSeg->debugAddT(coinTe, id, log);
if (!oe)
- oe = oppSeg->debugAddT(oppTe);
- if (ce && oe) ce->span()->debugAddOppAndMerge(id, log, oe->span(), &ceDeleted, &oeDeleted);
+ oe = oppSeg->debugAddT(oppTe, id, log);
+ if (ce && oe) ce->span()->debugAddOpp(id, log, oe->span());
// ce = ceWritable;
// oe = oeWritable;
}
this->debugValidate();
- if (csDeleted || osDeleted || ceDeleted || oeDeleted) {
- return;
- }
- if (!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe)) {
- return;
- }
+ RETURN_FALSE_IF(csDeleted, coinSeg);
+ RETURN_FALSE_IF(osDeleted, oppSeg);
+ RETURN_FALSE_IF(ceDeleted, coinSeg);
+ RETURN_FALSE_IF(oeDeleted, oppSeg);
+ RETURN_FALSE_IF(!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe), coinSeg);
// bool result = true;
if (overlap) {
if (overlap->coinPtTStart()->segment() == coinSeg) {
@@ -1599,6 +1602,27 @@
}
// Commented-out lines keep this in sync with release()
+void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkCoincidentSpans* remove) const {
+ const SkCoincidentSpans* head = coin;
+ const SkCoincidentSpans* prev = nullptr;
+ const SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin == remove) {
+ if (prev) {
+// prev->setNext(next);
+ } else if (head == fHead) {
+// fHead = next;
+ } else {
+// fTop = next;
+ }
+ log->record(kReleasedSpan_Glitch, id, coin);
+ }
+ prev = coin;
+ } while ((coin = next));
+ return;
+}
+
void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSegment* deleted) const {
const SkCoincidentSpans* coin = fHead;
if (!coin) {
@@ -1614,6 +1638,7 @@
} while ((coin = coin->next()));
}
+
// Commented-out lines keep this in sync with reorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1626,7 +1651,10 @@
do {
// most commonly, concidence are one span long; check for that first
int intervals = coin->spanCount();
- if (intervals = 1) {
+ if (intervals <= 0) {
+ return;
+ }
+ if (1 == intervals) {
#if DEBUG_COINCIDENCE_VERBOSE
// SkASSERT(!coin->debugExpand(nullptr, nullptr));
#endif
@@ -1709,6 +1737,9 @@
return;
}
do {
+ if (!coin->coinPtTStartWritable()->span()->upCastable()) {
+ return;
+ }
const SkOpSpan* start = coin->coinPtTStartWritable()->span()->upCast();
// SkASSERT(start->deleted());
const SkOpSpanBase* end = coin->coinPtTEndWritable()->span();
@@ -1730,11 +1761,17 @@
const SkOpSpanBase* next = start;
const SkOpSpanBase* oNext = oStart;
while ((next = next->upCast()->next()) != end) {
+ if (!next->upCastable()) {
+ return;
+ }
if (next->upCast()->debugInsertCoincidence(id, log, oSegment, flipped), false) {
return;
}
}
while ((oNext = oNext->upCast()->next()) != oEnd) {
+ if (!oNext->upCastable()) {
+ return;
+ }
if (oNext->upCast()->debugInsertCoincidence(id, log, segment, flipped), false) {
return;
}
@@ -1747,6 +1784,7 @@
#if DEBUG_COINCIDENCE_VERBOSE
// Commented-out lines keep this in sync with markCollapsed()
void SkOpCoincidence::debugMarkCollapsed(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkOpPtT* test) const {
+ const SkCoincidentSpans* head = coin;
while (coin) {
if (coin->collapsed(test)) {
if (zero_or_one(coin->coinPtTStart()->fT) && zero_or_one(coin->coinPtTEnd()->fT)) {
@@ -1755,6 +1793,7 @@
if (zero_or_one(coin->oppPtTStart()->fT) && zero_or_one(coin->oppPtTEnd()->fT)) {
log->record(kCollapsedCoin_Glitch, id, coin);
}
+ this->debugRelease(id, log, head, coin);
}
coin = coin->next();
}
@@ -2035,27 +2074,16 @@
}
#if DEBUG_COINCIDENCE_VERBOSE
-// Commented-out lines keep this in sync with addOppAndMerge()
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp, bool* spanDeleted, bool* oppDeleted) const {
- const SkOpPtT* oppPrev = this->ptT()->debugOppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
- this->debugCheckForCollapsedCoincidence(id, log);
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+
+// Commented-out lines keep this in sync with addOpp()
+void SkOpSpanBase::debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
+ if (!oppPrev) {
return;
}
- this->debugMergeContained(id, log, bounds, spanDeleted);
- opp->debugMergeContained(id, log, bounds, oppDeleted);
+ this->debugMergeMatches(id, log, opp);
+ this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
+ this->debugCheckForCollapsedCoincidence(id, log);
}
// Commented-out lines keep this in sync with checkForCollapsedCoincidence()
@@ -2151,6 +2179,76 @@
// this->globalState()->coincidence()->debugValidate();
#endif
}
+
+// Commented-out lines keep this in sync with mergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* test = &fPtT;
+ const SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ const SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ const SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+// if (!innerBase->hasMultipleHint() && !testBase->hasMultipleHint()) {
+ if (!zero_or_one(inner->fT)) {
+ log->record(kMergeMatches_Glitch, id, innerBase, test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ log->record(kMergeMatches_Glitch, id, testBase, inner);
+ } else {
+ log->record(kMergeMatches_Glitch, id, segment);
+// SkDEBUGCODE(testBase->debugSetDeleted());
+// test->setDeleted();
+// SkDEBUGCODE(innerBase->debugSetDeleted());
+// inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+// }
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->debugCheckForCollapsedCoincidence(id, log);
+}
+
#endif
void SkOpSpanBase::debugResetCoinT() const {
diff --git a/src/pathops/SkPathOpsDebug.h b/src/pathops/SkPathOpsDebug.h
index 5ea1dd8..bdfd3a4 100644
--- a/src/pathops/SkPathOpsDebug.h
+++ b/src/pathops/SkPathOpsDebug.h
@@ -37,7 +37,7 @@
if (!SkPathOpsDebug::ValidWind(x)) strcpy(x##Str, "?"); \
else SK_SNPRINTF(x##Str, sizeof(x##Str), "%d", x)
-#define DEBUG_UNDER_DEVELOPMENT 01
+#define DEBUG_UNDER_DEVELOPMENT 1
#if FORCE_RELEASE
@@ -78,7 +78,7 @@
#define DEBUG_ANGLE 1
#define DEBUG_ASSEMBLE 1
#define DEBUG_COINCIDENCE 01
-#define DEBUG_COINCIDENCE_ORDER 0
+#define DEBUG_COINCIDENCE_ORDER 01
#define DEBUG_COINCIDENCE_VERBOSE 01
#define DEBUG_CUBIC_BINARY_SEARCH 0
#define DEBUG_CUBIC_SPLIT 1
diff --git a/src/pathops/SkPathOpsPoint.h b/src/pathops/SkPathOpsPoint.h
index f30f155..f314f69 100644
--- a/src/pathops/SkPathOpsPoint.h
+++ b/src/pathops/SkPathOpsPoint.h
@@ -144,6 +144,26 @@
// note: this can not be implemented with
// return approximately_equal(a.fY, fY) && approximately_equal(a.fX, fX);
// because that will not take the magnitude of the values into account
+ bool approximatelyDEqual(const SkDPoint& a) const {
+ if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
+ return true;
+ }
+ if (!RoughlyEqualUlps(fX, a.fX) || !RoughlyEqualUlps(fY, a.fY)) {
+ return false;
+ }
+ double dist = distance(a); // OPTIMIZATION: can we compare against distSq instead ?
+ double tiniest = SkTMin(SkTMin(SkTMin(fX, a.fX), fY), a.fY);
+ double largest = SkTMax(SkTMax(SkTMax(fX, a.fX), fY), a.fY);
+ largest = SkTMax(largest, -tiniest);
+ return AlmostDequalUlps(largest, largest + dist); // is the dist within ULPS tolerance?
+ }
+
+ bool approximatelyDEqual(const SkPoint& a) const {
+ SkDPoint dA;
+ dA.set(a);
+ return approximatelyDEqual(dA);
+ }
+
bool approximatelyEqual(const SkDPoint& a) const {
if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
return true;
@@ -233,6 +253,15 @@
return RoughlyEqualUlps((double) largest, largest + dist); // is dist within ULPS tolerance?
}
+ // very light weight check, should only be used for inequality check
+ static bool WayRoughlyEqual(const SkPoint& a, const SkPoint& b) {
+ float largestNumber = SkTMax(SkTAbs(a.fX), SkTMax(SkTAbs(a.fY),
+ SkTMax(SkTAbs(b.fX), SkTAbs(b.fY))));
+ SkVector diffs = a - b;
+ float largestDiff = SkTMax(diffs.fX, diffs.fY);
+ return roughly_zero_when_compared_to(largestDiff, largestNumber);
+ }
+
// utilities callable by the user from the debugger when the implementation code is linked in
void dump() const;
static void Dump(const SkPoint& pt);
diff --git a/src/pathops/SkPathOpsTypes.h b/src/pathops/SkPathOpsTypes.h
index a645771..aac32b2 100644
--- a/src/pathops/SkPathOpsTypes.h
+++ b/src/pathops/SkPathOpsTypes.h
@@ -76,7 +76,7 @@
#ifdef SK_DEBUG
const class SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
const class SkOpPtT* debugPtT(int id) const;
bool debugRunFail() const;
const class SkOpSegment* debugSegment(int id) const;
@@ -197,10 +197,16 @@
};
#ifdef SK_DEBUG
+#if DEBUG_COINCIDENCE
#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
- this->globalState()->debugSkipAssert()) || cond)
+ (this->globalState()->debugCheckHealth() || \
+ this->globalState()->debugSkipAssert())) || (cond))
+#else
+#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
+ this->globalState()->debugSkipAssert()) || (cond))
+#endif
#define SkOPOBJASSERT(obj, cond) SkASSERT((obj->debugGlobalState() && \
- obj->debugGlobalState()->debugSkipAssert()) || cond)
+ obj->debugGlobalState()->debugSkipAssert()) || (cond))
#else
#define SkOPASSERT(cond)
#define SkOPOBJASSERT(obj, cond)
@@ -529,10 +535,6 @@
return fabs(x - y) < MORE_ROUGH_EPSILON;
}
-inline bool way_roughly_equal(double x, double y) {
- return fabs(x - y) < WAY_ROUGH_EPSILON;
-}
-
struct SkDPoint;
struct SkDVector;
struct SkDLine;
diff --git a/tests/PathOpsDebug.cpp b/tests/PathOpsDebug.cpp
index a6613bc..164f9ae 100755
--- a/tests/PathOpsDebug.cpp
+++ b/tests/PathOpsDebug.cpp
@@ -806,7 +806,7 @@
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpAngle::debugContour(int id) {
+SkOpContour* SkOpAngle::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -940,7 +940,7 @@
return this->span()->debugAngle(id);
}
-SkOpContour* SkOpPtT::debugContour(int id) {
+SkOpContour* SkOpPtT::debugContour(int id) const {
return this->span()->debugContour(id);
}
@@ -1000,7 +1000,7 @@
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpSpanBase::debugContour(int id) {
+SkOpContour* SkOpSpanBase::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -1041,7 +1041,7 @@
SkDebugf(" chased");
}
#ifdef SK_DEBUG
- if (this->fDeleted) {
+ if (this->fDebugDeleted) {
SkDebugf(" deleted");
}
#endif
@@ -1111,7 +1111,7 @@
return this->contour()->debugCoincidence();
}
-SkOpContour* SkOpSegment::debugContour(int id) {
+SkOpContour* SkOpSegment::debugContour(int id) const {
return this->contour()->debugContour(id);
}
@@ -1389,7 +1389,7 @@
return nullptr;
}
-SkOpContour* SkOpGlobalState::debugContour(int id) {
+SkOpContour* SkOpGlobalState::debugContour(int id) const {
SkOpContour* contour = fContourHead;
do {
if (contour->debugID() == id) {
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index a7ff885..3f1a298 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -508,9 +508,9 @@
ExpectMatch::kYes);
}
-bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
- return inner_simplify(reporter, path, filename, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
+bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
+ return inner_simplify(reporter, path, filename, ExpectSuccess::kFlaky, SkipAssert::kYes,
+ ExpectMatch::kFlaky);
}
bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path, const char* filename,
@@ -593,25 +593,7 @@
ExpectSuccess::kYes : ExpectSuccess::kNo, SkipAssert::kNo, ExpectMatch::kNo);
}
-bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kNo,
- ExpectMatch::kNo);
-}
-
-bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kYes, SkipAssert::kYes,
- ExpectMatch::kYes);
-}
-
-bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
-}
-
-bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
+bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp shapeOp, const char* testName) {
return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kFlaky, SkipAssert::kYes,
ExpectMatch::kFlaky);
@@ -707,7 +689,7 @@
#if DEBUG_SHOW_TEST_NAME
SkDebugf("\n<div id=\"%s\">\n", tests[index].str);
#endif
- (*tests[index].fun)(reporter, tests[index].str);
+ (*tests[index].fun)(reporter, tests[index].str);
}
if (tests[index].fun == stopTest || index == last) {
break;
diff --git a/tests/PathOpsExtendedTest.h b/tests/PathOpsExtendedTest.h
index 8cf708b..55a4410 100644
--- a/tests/PathOpsExtendedTest.h
+++ b/tests/PathOpsExtendedTest.h
@@ -42,23 +42,15 @@
const SkPathOp , const char* testName, bool checkFail);
extern bool testPathOpFail(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp, const char* testName);
-extern bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a,
- const SkPath& b, const SkPathOp , const char* testName);
-extern bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+extern bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a,
+ const SkPath& b, const SkPathOp , const char* testName);
extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
const char* pathStr);
extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename);
extern bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path,
const char* filename, bool checkFail);
-extern bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path,
+extern bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path,
const char* filename);
-extern bool testSimplifySkipAssert(skiatest::Reporter* reporter, const SkPath& path,
- const char* filename);
void initializeTests(skiatest::Reporter* reporter, const char* testName);
void outputProgress(char* ramStr, const char* pathStr, SkPath::FillType );
diff --git a/tests/PathOpsOpTest.cpp b/tests/PathOpsOpTest.cpp
index 2026238..3316f7e 100644
--- a/tests/PathOpsOpTest.cpp
+++ b/tests/PathOpsOpTest.cpp
@@ -5362,14 +5362,27 @@
testPathOp(reporter, path, pathB, kXOR_SkPathOp, filename);
}
+static void cubicOp158(skiatest::Reporter* reporter, const char* filename) {
+ SkPath path, pathB;
+ path.setFillType(SkPath::kWinding_FillType);
+ path.moveTo(0,1);
+ path.cubicTo(2,4, 2,0, 2,0);
+ path.close();
+ pathB.setFillType(SkPath::kWinding_FillType);
+ pathB.moveTo(0,2);
+ pathB.cubicTo(0,2, 1,0, 4,2);
+ pathB.close();
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
+}
static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
-static void (*firstTest)(skiatest::Reporter* , const char* filename) = cubics_d3;
+static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
#define TEST(name) { name, #name }
static struct TestDesc tests[] = {
+ TEST(cubicOp158),
TEST(loops_i1),
TEST(loops_i2),
TEST(loops_i3),
@@ -5757,7 +5770,7 @@
two.lineTo(0, 50);
two.lineTo(4.29497e+09f, 50);
SkPath dummy;
- testPathOp(reporter, one, two, kIntersect_SkPathOp, filename);
+ testPathOpFuzz(reporter, one, two, kIntersect_SkPathOp, filename);
}
static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
@@ -5765,7 +5778,7 @@
path.addRect(0,0, 300,170141183460469231731687303715884105728.f);
SkPath pathB;
pathB.addRect(0,0, 300,16);
- testPathOpCheck(reporter, path, pathB, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path, pathB, kUnion_SkPathOp, filename);
}
// m 100,0 60,170 -160,-110 200,0 -170,11000000000 z
@@ -5785,7 +5798,7 @@
path2.lineTo(-170 + 20,11000000000.0f + 20);
path2.close();
- testPathOpCheck(reporter, path1, path2, kIntersect_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kIntersect_SkPathOp, filename);
}
static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
@@ -5808,7 +5821,7 @@
path2.lineTo(190, 60);
path2.close();
- testPathOpCheck(reporter, path1, path2, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz487a(skiatest::Reporter* reporter, const char* filename) {
@@ -5854,7 +5867,7 @@
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz487b(skiatest::Reporter* reporter, const char* filename) {
@@ -5900,7 +5913,7 @@
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz714(skiatest::Reporter* reporter, const char* filename) {
@@ -5926,7 +5939,7 @@
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz1(skiatest::Reporter* reporter, const char* filename) {
@@ -5948,7 +5961,7 @@
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
@@ -5973,7 +5986,7 @@
path.lineTo(SkBits2Float(0x40f8fbe0), SkBits2Float(0xcf223cc0)); // 7.78075f, -2.72189e+09f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void bug597926_0(skiatest::Reporter* reporter, const char* filename) {
@@ -5996,7 +6009,7 @@
path.quadTo(SkBits2Float(0xc51bf7eb), SkBits2Float(0xc49cf010), SkBits2Float(0xc51ba866), SkBits2Float(0xc49cb9e6)); // -2495.49f, -1255.5f, -2490.52f, -1253.81f
path.cubicTo(SkBits2Float(0xc51bac0d), SkBits2Float(0xc49cc50e), SkBits2Float(0xc51c29eb), SkBits2Float(0xc49cfb01), SkBits2Float(0xc51c5bca), SkBits2Float(0xc49d1fa6)); // -2490.75f, -1254.16f, -2498.62f, -1255.84f, -2501.74f, -1256.99f
SkPath path2(path);
-testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz1450_0(skiatest::Reporter* reporter, const char* filename) {
@@ -6015,7 +6028,7 @@
path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz1450_1(skiatest::Reporter* reporter, const char* filename) {
@@ -6044,7 +6057,7 @@
path.lineTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz763_9(skiatest::Reporter* reporter, const char* filename) {
@@ -6071,7 +6084,7 @@
path.lineTo(SkBits2Float(0xc809272a), SkBits2Float(0x29b02829)); // -140445, 7.82294e-14f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
@@ -6105,7 +6118,7 @@
path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a), SkBits2Float(0x21df212a), SkBits2Float(0x033a8a3a)); // 6.14991e+25f, 6.77381e-19f, 9.33503e-15f, 1.51198e-18f, 5.48192e-37f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_3(skiatest::Reporter* reporter, const char* filename) {
@@ -6140,7 +6153,7 @@
path.cubicTo(SkBits2Float(0x3a293a2a), SkBits2Float(0x0e3bf0c5), SkBits2Float(0x3b29d42a), SkBits2Float(0x0f217265), SkBits2Float(0x2d5d2921), SkBits2Float(0x5568295b)); // 0.000645551f, 2.31655e-30f, 0.00259138f, 7.95994e-30f, 1.25715e-11f, 1.5954e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_5(skiatest::Reporter* reporter, const char* filename) {
@@ -6165,7 +6178,7 @@
path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x5b2d8c55)); // 4.87407e+16f, 4.88495e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2(skiatest::Reporter* reporter, const char* filename) {
@@ -6204,7 +6217,7 @@
path.cubicTo(SkBits2Float(0x2f273927), SkBits2Float(0xa83a2c21), SkBits2Float(0xd7122121), SkBits2Float(0x21212921), SkBits2Float(0x3be3db3a), SkBits2Float(0xa9deb63b)); // 1.52089e-10f, -1.03346e-14f, -1.60671e+14f, 5.46034e-19f, 0.00695362f, -9.89039e-14f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/626164
@@ -6223,7 +6236,7 @@
SkPath path2(path);
SkPath dummy;
- testPathOp(reporter, path1, path2, (SkPathOp)4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)4, filename);
}
// crbug.com/626186
@@ -6247,7 +6260,7 @@
path.cubicTo(SkBits2Float(0x20fe58f9), SkBits2Float(0x0525fbed), SkBits2Float(0x1905ffff), SkBits2Float(0x01f9f9f9), SkBits2Float(0xfbfe0ef9), SkBits2Float(0xfb212fff)); // 4.30882e-19f, 7.80453e-36f, 6.92764e-24f, 9.18268e-38f, -2.63829e+36f, -8.36933e+35f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)2, filename);
}
static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
@@ -6278,7 +6291,7 @@
path.moveTo(SkBits2Float(0x384700ff), SkBits2Float(0x0108804b)); // 4.74462e-05f, 2.50713e-38f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)0, filename);
}
// crbug.com/627780
@@ -6299,7 +6312,7 @@
path.quadTo(SkBits2Float(0x3ab38e28), SkBits2Float(0x29283ac2), SkBits2Float(0x2be61d2a), SkBits2Float(0x812a4396)); // 0.0013699f, 3.73545e-14f, 1.63506e-12f, -3.12726e-38f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/627689
@@ -6323,7 +6336,7 @@
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
// crbug.com/627401
@@ -6343,7 +6356,7 @@
path.conicTo(SkBits2Float(0x7d014f3e), SkBits2Float(0x00f4ff01), SkBits2Float(0x6b64480c), SkBits2Float(0x48484848), SkBits2Float(0x557d0100)); // 1.07426e+37f, 2.24993e-38f, 2.75975e+26f, 205089, 1.73863e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
// crbug.com/627761
@@ -6391,7 +6404,7 @@
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2c(skiatest::Reporter* reporter, const char* filename) {
@@ -6416,7 +6429,7 @@
path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float(0x4a344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.53647e-33f, 2.95387e+06f
path.cubicTo(SkBits2Float(0x544a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa1a181ff)); // 3.47532e+12f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.31432e+06f, -1.09442e-18f
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, kReverseDifference_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kReverseDifference_SkPathOp, filename);
}
static void fuzz763_6(skiatest::Reporter* reporter, const char* filename) {
@@ -6442,7 +6455,7 @@
path.lineTo(SkBits2Float(0x63962be6), SkBits2Float(0x272a812a)); // 5.54035e+21f, 2.36623e-15f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_7(skiatest::Reporter* reporter, const char* filename) {
@@ -6496,7 +6509,7 @@
path.cubicTo(SkBits2Float(0x5568c23a), SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a), SkBits2Float(0x3a7bc003), SkBits2Float(0x294b2827)); // 1.59951e+13f, 4.87407e+16f, 5.7784e-19f, 4.61198e-19f, 0.00096035f, 4.51099e-14f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void kfuzz2(skiatest::Reporter* reporter, const char* filename) {
@@ -6529,7 +6542,7 @@
path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f, -6.51573e+35f
path.close();
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, kXOR_SkPathOp, filename);
+ testPathOpFuzz(reporter, path1, path2, kXOR_SkPathOp, filename);
}
static void fuzz763_10(skiatest::Reporter* reporter, const char* filename) {
@@ -6572,7 +6585,7 @@
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_11(skiatest::Reporter* reporter, const char* filename) {
@@ -6623,7 +6636,7 @@
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_12(skiatest::Reporter* reporter, const char* filename) {
@@ -6661,7 +6674,7 @@
path.cubicTo(SkBits2Float(0x21295b2d), SkBits2Float(0x2a528c5b), SkBits2Float(0x284f5b2d), SkBits2Float(0x218aa621), SkBits2Float(0x3f2d2db3), SkBits2Float(0x68293a2a)); // 5.73801e-19f, 1.87004e-13f, 1.15106e-14f, 9.39522e-19f, 0.676479f, 3.19661e+24f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_13(skiatest::Reporter* reporter, const char* filename) {
@@ -6697,7 +6710,7 @@
path.quadTo(SkBits2Float(0x6028282a), SkBits2Float(0x68292ddf), SkBits2Float(0x5b2d555b), SkBits2Float(0x68556829)); // 4.84679e+19f, 3.1957e+24f, 4.8789e+16f, 4.03114e+24f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_14(skiatest::Reporter* reporter, const char* filename) {
@@ -6712,7 +6725,7 @@
path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf0db684b), SkBits2Float(0x8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x302a5b25), SkBits2Float(0xf0685568)); // 3.4979e+24f, -5.43226e+29f, -1.64207e-31f, 5.76527e-19f, 6.19752e-10f, -2.87615e+29f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_15(skiatest::Reporter* reporter, const char* filename) {
@@ -6767,7 +6780,7 @@
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_16(skiatest::Reporter* reporter, const char* filename) {
@@ -6822,7 +6835,7 @@
path.lineTo(SkBits2Float(0x8c558c55), SkBits2Float(0x212a1f2a)); // -1.64512e-31f, 5.76395e-19f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_17(skiatest::Reporter* reporter, const char* filename) {
@@ -6874,7 +6887,7 @@
path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26f, 0.000209024f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) {
@@ -6925,8 +6938,7 @@
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- // FIXME: fails on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast, passes everywhere else
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) {
@@ -6976,7 +6988,7 @@
path.close();
SkPath path2(path);
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) {
@@ -7034,7 +7046,7 @@
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) {
@@ -7077,7 +7089,7 @@
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) {
@@ -7103,7 +7115,7 @@
path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f, 2.33377e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 3, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 3, filename);
}
static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) {
@@ -7144,7 +7156,7 @@
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) {
@@ -7193,7 +7205,7 @@
path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xececf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.66572e+26f, -2.29155e+27f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) {
@@ -7217,7 +7229,7 @@
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
@@ -7276,7 +7288,7 @@
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_28(skiatest::Reporter* reporter, const char* filename) {
@@ -7314,7 +7326,7 @@
path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a)); // 5.77848e-19f, 4.7323e-37f, 5.63611e+25f, 6.77381e-19f, 9.33503e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_27(skiatest::Reporter* reporter, const char* filename) {
@@ -7330,7 +7342,7 @@
path.quadTo(SkBits2Float(0xb8b8b8b8), SkBits2Float(0x0b1203b8), SkBits2Float(0x0b0b0b0b), SkBits2Float(0x3a3a2110)); // -8.80821e-05f, 2.81214e-32f, 2.67787e-32f, 0.000710026f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_29(skiatest::Reporter* reporter, const char* filename) {
@@ -7362,7 +7374,7 @@
path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f, 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) {
@@ -7392,7 +7404,7 @@
path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27f, 2.84109e+26f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static struct TestDesc failTests[] = {
diff --git a/tests/PathOpsSimplifyFailTest.cpp b/tests/PathOpsSimplifyFailTest.cpp
index 977e47c..4da43b8 100644
--- a/tests/PathOpsSimplifyFailTest.cpp
+++ b/tests/PathOpsSimplifyFailTest.cpp
@@ -103,7 +103,7 @@
path.lineTo(SkBits2Float(0x428c0000), SkBits2Float(0xce58f419)); // 70, -9.09969e+08f
path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0xce58f41c)); // 140, -9.09969e+08f
path.close();
- testSimplifyCheck(reporter, path, filename, true);
+ testSimplifyFuzz(reporter, path, filename);
}
static void fuzz_x1(skiatest::Reporter* reporter, const char* filename) {
diff --git a/tests/PathOpsSimplifyTest.cpp b/tests/PathOpsSimplifyTest.cpp
index af2e09d..fe43305 100644
--- a/tests/PathOpsSimplifyTest.cpp
+++ b/tests/PathOpsSimplifyTest.cpp
@@ -5256,7 +5256,7 @@
#if DEBUG_UNDER_DEVELOPMENT // tiger
return;
#endif
- uint64_t testlines = 0x0000000202480001; // best so far: 0x0000001610031021;
+ uint64_t testlines = 0x0000004310528845; // best so far: 0x0000001d14c14bb1;
tiger8a_x(reporter, filename, testlines);
}
diff --git a/tools/pathops_sorter.htm b/tools/pathops_sorter.htm
index c83067c..53c737e 100644
--- a/tools/pathops_sorter.htm
+++ b/tools/pathops_sorter.htm
@@ -6,16 +6,11 @@
<title></title>
<div style="height:0">
-<div id="angle">
-{{{3.501392364501953125, 2.997215032577514648}, {3.501457691192626953, 2.997084617614746094}}} id=3
-{{{3.501392364501953125, 2.997215032577514648}, {3.503357251861000776, 2.995228720876561113}, {3.505322801636163721, 2.993241595853745718}, {3.507288694381713867, 2.99125361442565918}}} id=5
-{{{3.501392364501953125, 2.997215032577514648}, {3.373685992255707422, 3.126313863770498358}, {3.248105895472682469, 3.251894104527315754}, {3.125, 3.375}}} id=5
-</div>
-
-<div id="ref">
-{{{0.7153972983360290527, 4.712343692779541016}, {0.2472269223126296878, 4.55502436068874772}, {-0.1220090791716240131, 4.244018092892478222}, {0, 4}}},
-{{{0.7153972983360290527, 4.712343692779541016}, {0.1339736781445877156, 4.133975051508096854}, {0.7320473976783675729, 3.63397630116081638}, {2, 3}}},
-{{fX=-0.0012699038296868359 fY=-0.0012605104293301750 } {fX=-0.0025337575085910835 fY=-0.0025229424048465177 }
+<div id="coin">
+{{{492.59726f, 225.675842f}, {492.436249f, 225.168289f}, {492.444214f, 225.194092f}}} id=5
+{{{492.444214f, 225.194092f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} id=6
+{{{492.451324f, 225.216217f}, {491.100708f, 221.164124f}, {494.21756f, 218.78064f}}} id=1
+{{{493.399994f, 224.899994f}, {492.451324f, 225.216217f}}} id=9
</div>
</div>
@@ -23,8 +18,7 @@
<script type="text/javascript">
var testDivs = [
- angle,
- ref,
+ coin,
];
var decimal_places = 3;
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
index 30140ad..6fc5566 100644
--- a/tools/pathops_visualizer.htm
+++ b/tools/pathops_visualizer.htm
@@ -2,698 +2,2078 @@
<head>
<div height="0" hidden="true">
-<div id="cubics_d3">
-seg=1 {{{3, 4}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=2 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {4, 2}}}
-seg=3 {{{4, 2}, {3, 4}}}
+Skia UnitTests: --match PathOpsOp$ --resourcePath resources\ SK_DEBUG
+
+<div id="cubicOp158">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
op diff
-seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=5 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {6, 0}}}
-seg=6 {{{6, 0}, {1, 6}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{1,6}} wnTs[0]=1 {{{6,0}, {1,6}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50728869,2.99125361}} wtTs[1]=1 {{6,0}} wnTs[0]=0.498542 {{{6,0}, {1,6}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=5 spanID=13
-SkOpSegment::addT insert t=0.498542274 segID=6 spanID=14
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection no intersect {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{{4,2}, {3,4}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0.140692452 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50139236,2.99721503}} wnTs[0]=0.498608 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.140692452 segID=5 spanID=15
-SkOpSegment::addT insert t=0.498607541 segID=3 spanID=16
-debugShowCubicLineIntersection wtTs[0]=0.220070773 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{2.31394291,4.42326832}} wnTs[0]=0.737211 {{{6,0}, {1,6}}}
-SkOpSegment::addT insert t=0.737211419 segID=6 spanID=17
-SkOpSegment::addT insert t=0.220070773 segID=1 spanID=18
-debugShowCubicLineIntersection wtTs[0]=0.145241853 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50765967,2.99080825}} wtTs[1]=0.715768455 {{4.41676426,1.89988291}} wnTs[0]=0.498468 {{{6,0}, {1,6}}} wnTs[1]=0.316647149
-SkOpSegment::addT insert t=0.498468047 segID=6 spanID=19
-SkOpSegment::addT insert t=0.145241853 segID=2 spanID=20
-SkOpSegment::addT insert t=0.316647149 segID=6 spanID=21
-SkOpSegment::addT insert t=0.715768455 segID=2 spanID=22
-debugShowLineIntersection wtTs[0]=0.5 {{{6,0}, {1,6}}} {{3.5,3}} wnTs[0]=0.5 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.5 segID=6 spanID=23
-SkOpSegment::addT insert t=0.5 segID=3 spanID=24
-debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3,4}} wnTs[0]=1 {{{4,2}, {3,4}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50145769,2.99708462}} wtTs[1]=1 {{4,2}} wnTs[0]=0.498542 {{{4,2}, {3,4}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=2 spanID=25
-SkOpSegment::addT insert t=0.498542274 segID=3 spanID=26
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706687377 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753844,1.53502536}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343603 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706687377 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343602514 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706687377 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/9] 17/21 tStart=0.343602514 tEnd=0 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343602514 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343602514 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706687377 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343602514 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460454,1.05058743}, {0.692707644,1.28858792}, {0.394754708,1.53502369}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343602514 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343689 pt=(0.204603344,1.29227567)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343689 pt=(0.204603344,1.29227567) slope=(5.58347868,7.55715759)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753844,1.53502536) to=(0,1)
+path.moveTo(0.394753844,1.53502536);
+path.cubicTo(0.272686809,1.38905394, 0.141337469,1.21200621, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343602514 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343602514 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=18149624 end=18149400
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343602514 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706687377 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343602514 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706687377 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343602514 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=18149288 end=129364480
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394754708,1.53502369)
+path.cubicTo(1.17460454,1.05058742, 0.692707658,1.28858793, 0.394754708,1.53502369);
+SkOpSegment::findNextOp simple
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
+</div>
+
+<div id="cubicOp158ref">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
+op diff
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706686482 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753397,1.53502476}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343602 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706686482 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343601972 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
--------------------------------- start
active after start:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded
active after addExpanded:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveMultiples
active after moveMultiples:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby
active after moveNearby:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addEndMovedSpans
active after addEndMovedSpans:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addMissing2
active after addMissing2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby2
active after moveNearby2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- expand2
active after expand2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded3
active after addExpanded3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- mark1
active after mark1:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence2
active after missingCoincidence2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence3
active after missingCoincidence3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- coincidence.reorder
active after coincidence.reorder:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->apply
active after pairs->apply:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->findOverlaps
active after pairs->findOverlaps:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSegment::sortAngles [4] tStart=1 [8]
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [1/19] 20/21 tStart=1 tEnd=0.220070773 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 12
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [1/19] 20/21 tStart=1 tEnd=0.220070773 F 5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::after [1/19] 20/21 tStart=1 tEnd=0.220070773 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpSegment::sortAngles [5] tStart=0 [9]
-SkOpSegment::sortAngles [5] tStart=0.140692452 [15]
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 < [5/4] 5/5 tStart=0.140692452 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50335725,2.99522872}, {3.5053228,2.9932416}, {3.50728869,2.99125361}}} id=5
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/30] 21/21 tStart=0.498607541 tEnd=0.5 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.5,3}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpSegment::sortAngles [5] tStart=0.142857143 [13]
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/11] 5/5 tStart=0.498542274 tEnd=0.498468047 < [5/6] 5/5 tStart=0.142857143 tEnd=1 F 11
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/12] 21/21 tStart=0.498542274 tEnd=0.5 < [5/6] 5/5 tStart=0.142857143 tEnd=1 T 12
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpSegment::sortAngles [6] tStart=0.316647149 [21]
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/25] 25/21 tStart=0.715768455 tEnd=0.145241853 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 F 11
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.43658858,2.02620596}, {4.00201137,2.49043886}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/26] 9/17 tStart=0.715768455 tEnd=1 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 T 4
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.40688795,1.83694983}, {4.28423154,1.85788423}, {4,2}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498468047 [19]
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 F 12
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 F 5
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498542274 [14]
-SkOpSegment::sortAngles [6] tStart=0.5 [23]
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 T 12
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/32] 21/21 tStart=0.5 tEnd=1 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 F 5
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::after [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 F 11
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/14] 21/21 tStart=0.5 tEnd=0.737211419 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/13] 5/5 tStart=0.5 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.737211419 [17]
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/17] 1/1 tStart=0.220070773 tEnd=0 < [6/16] 21/21 tStart=0.737211419 tEnd=1 F 4
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {2.44875776,4.35538685}, {2.66989384,4.22007077}, {3,4}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/18] 17/5 tStart=0.220070773 tEnd=1 < [6/16] 21/21 tStart=0.737211419 tEnd=1 T 12
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1.83616005,4.66383975}, {2.44256193,4.05743807}, {3.125,3.375}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpSegment::sortAngles [1] tStart=0.220070773 [18]
-SkOpSegment::sortAngles [1] tStart=1 [2]
-SkOpSegment::sortAngles [2] tStart=0 [3]
-SkOpSegment::sortAngles [2] tStart=0.142857143 [25]
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/27] 5/5 tStart=0.498542274 tEnd=0 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 F 11
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {4,2}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/28] 21/21 tStart=0.498542274 tEnd=0.498607541 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 T 12
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpSegment::sortAngles [2] tStart=0.145241853 [20]
-SkOpSegment::sortAngles [2] tStart=0.715768455 [22]
-SkOpSegment::sortAngles [3] tStart=0.498542274 [26]
-SkOpSegment::sortAngles [3] tStart=0.498607541 [16]
-SkOpSegment::sortAngles [3] tStart=0.5 [24]
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSpan::sortableTop dir=kLeft seg=4 t=0.5 pt=(1.921875,4.640625)
-SkOpSpan::sortableTop [0] valid=1 operand=1 span=7 ccw=1 seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}} t=0.5 pt=(1.921875,4.640625) slope=(2.15625,-2.53125)
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=6 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=24 windSum=-1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=23 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=1 span=2
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706686482 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/9] 17/21 tStart=0.343601972 tEnd=0 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343601972 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343601972 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706686482 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343601972 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460349,1.05058733}, {0.69270623,1.28858861}, {0.394753397,1.53502476}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343601972 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343241 pt=(0.204603091,1.29227543)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343241 pt=(0.204603091,1.29227543) slope=(5.5834792,7.55715936)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp simple
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp current id=1 from=(2.31394291,4.42326832) to=(3,4)
-path.moveTo(2.31394291,4.42326832);
-path.cubicTo(2.44875765,4.35538673, 2.66989374,4.22007084, 3,4);
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=16 windSum=-1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753397,1.53502476) to=(0,1)
+path.moveTo(0.394753397,1.53502476);
+path.cubicTo(0.272686481,1.38905346, 0.14133729,1.21200597, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [3/32] next=6/13 sect=21/21 s=0.5 [24] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/13] next=3/31 sect=5/5 s=0.5 [23] e=0.498542274 [14] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [3/31] next=6/14 sect=5/5 s=0.5 [24] e=0.498607541 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/14] next=3/32 sect=21/21 s=0.5 [23] e=0.737211419 [17] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=6 span=14 windSum=-1
-SkOpSegment::activeOp id=3 t=0.5 tEnd=0.498607541 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=3 span=16 windSum=-1
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.737211419 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[3] to:[6] start=19488848 end=19488176
-bridgeOp current id=3 from=(3,4) to=(3.5,3)
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343601972 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343601972 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=2300120 end=2299896
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/15] next=1/18 sect=5/5 s=0.737211419 [17] e=0.5 [23] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [1/18] next=6/16 sect=17/5 s=0.220070773 [18] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/16] next=1/17 sect=21/21 s=0.737211419 [17] e=1 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/17] next=6/15 sect=1/1 s=0.220070773 [18] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=1 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.737211419 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[1] start=19488288 end=123925160
-bridgeOp current id=6 from=(3.5,3) to=(2.31394291,4.42326832)
-path.lineTo(3.5,3);
-path.lineTo(2.31394291,4.42326832);
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343601972 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706686482 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343601972 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706686482 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343601972 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=2299784 end=123531816
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394753397,1.53502476)
+path.cubicTo(1.17460346,1.0505873, 0.692706227,1.28858864, 0.394753397,1.53502476);
path.close();
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=26 windSum=-1
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=?
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=9 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=3 t=0.498607541 tEnd=0.498542274 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=3 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=20 windSum=?
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=3 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0.145241853 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-2147483647
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=21 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=-1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=-1 oppSum=1 windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/8] next=2/25 sect=21/21 s=0.316647149 [21] e=0.498468047 [19] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
-SkOpAngle::dumpOne [2/25] next=6/7 sect=25/21 s=0.715768455 [22] e=0.145241853 [20] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/7] next=2/26 sect=5/5 s=0.316647149 [21] e=0 [11] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [2/26] next=6/8 sect=9/17 s=0.715768455 [22] e=1 [4] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=0.145241853 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=6 t=0.316647149 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=5 span=13 windSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=1 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[2] start=19488736 end=19488512
-bridgeOp current id=6 from=(3.50765967,2.99080825) to=(4.41676426,1.89988291)
+SkOpAngle::dumpOne [1/5] next=4/13 sect=17/16 s=0.375922451 [15] e=0.178517901 [13] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [4/13] next=1/6 sect=31/31 s=0.621530611 [16] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/6] next=4/14 sect=1/5 s=0.375922451 [15] e=0.620977139 [11] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/14] next=1/5 sect=15/15 s=0.621530611 [16] e=0.777181549 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::activeOp id=1 t=0.375922451 tEnd=0.620977139 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0.777181549 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[4] start=2300568 end=2300344
+bridgeOp current id=1 from=(0.891273797,2) to=(1.51387751,2)
+path.moveTo(0.891273797,2);
+path.cubicTo(1.157704,2.16805148, 1.36011016,2.13984537, 1.51387751,2);
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [2/24] next=6/9 sect=5/5 s=0.145241853 [20] e=0.715768455 [22] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/9] next=2/23 sect=5/5 s=0.498468047 [19] e=0.316647149 [21] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done operand
-SkOpAngle::dumpOne [2/23] next=6/10 sect=21/21 s=0.145241853 [20] e=0.142857143 [25] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [6/10] next=2/24 sect=21/21 s=0.498468047 [19] e=0.498542274 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::activeOp id=2 t=0.145241853 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[2] to:[6] start=19488400 end=19488624
-bridgeOp current id=2 from=(4.41676426,1.89988291) to=(3.50765967,2.99080825)
-path.moveTo(3.50765967,2.99080825);
-path.lineTo(4.41676426,1.89988291);
-path.cubicTo(4.43658876,2.02620602, 4.0020113,2.49043894, 3.50765967,2.99080825);
+SkOpAngle::dumpOne [4/15] next=1/3 sect=31/31 s=0.777181549 [14] e=0.621530611 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/3] next=4/16 sect=13/13 s=0.178517901 [13] e=0.0706686482 [9] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/16] next=1/4 sect=15/15 s=0.777181549 [14] e=1 [8] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/4] next=4/15 sect=29/30 s=0.178517901 [13] e=0.375922451 [15] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.0706686482 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.777181549 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[4] to:[1] start=2300232 end=2300456
+bridgeOp current id=4 from=(1.51387751,2) to=(0.891273797,2)
+path.lineTo(0.891273797,2);
path.close();
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.142857143 tEnd=0.140692452 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.140692452 tEnd=0 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::findNextOp
-SkOpAngle::dumpOne [5/2] next=2/20 sect=4/5 s=0 [9] e=0.140692452 [15] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [2/20] next=4/1 sect=4/5 s=0 [3] e=0.142857143 [25] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [4/1] next=1/19 sect=20/21 s=1 [8] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/19] next=5/2 sect=20/21 s=1 [2] e=0.220070773 [18] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpSegment::activeOp id=2 t=0 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::activeOp id=1 t=1 tEnd=0.220070773 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[5] to:[2] start=19486400 end=19489072
-bridgeOp current id=5 from=(3.50139236,2.99721503) to=(3.125,3.375)
-path.moveTo(3.50139236,2.99721503);
-path.cubicTo(3.37368608,3.12631392, 3.248106,3.251894, 3.125,3.375);
+</div>
+
+<div id="tiger8a_h_1ref">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+--------------------x------------- start
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveMultiples
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addEndMovedSpans
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addMissing2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- expand2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded3
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- mark1
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::missingCoincidence coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16
+--------------x--x---------------- missingCoincidence1
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after missingCoincidence1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- expand3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after expand3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- addExpanded3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+seg=5 span=19 windValue=0 oppValue=0
+seg=3 span=16 windValue=0 oppValue=0
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.451703,225.215903}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.452698,225.215676}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.452161,225.215521}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/13] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.497789,225.32618}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/14] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/15] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/15] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/15] 1/1 tStart=0.998861268 tEnd=0 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/17] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/12] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/18] 17/17 tStart=0.999209221 tEnd=1 < [5/12] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkCoincidentSpans::debugShow - id=5 t=0.292224891 tEnd=0.32993192
+SkCoincidentSpans::debugShow + id=3 t=0.887605755 tEnd=0.872874414
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18607576
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18606936
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[3] start=18608368 end=18609040
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18608480
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=18608368 end=18609040
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18607992
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18609040
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18609376
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=3 t=0.943802877 pt=(492.44162,225.186325)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=18 ccw=1 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.943802877 pt=(492.44162,225.186325) slope=(-0.0545008819,-0.144046628)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.437775,225.175201) to=(492.450012,225.207581)
+path.moveTo(492.437775,225.175201);
+path.quadTo(492.439331,225.181351, 492.450012,225.207581);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.450012,225.20752) to=(492.42984,225.142548)
+path.lineTo(492.450012,225.20752);
+path.quadTo(492.440063,225.177078, 492.42984,225.142548);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=4 from=(492.42984,225.142548) to=(492.437775,225.175201)
+path.lineTo(492.437775,225.175201);
+path.close();
+</div>
+
+<div id="tiger8a_h_1">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.451282,225.211404}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.45285,225.216141}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 4
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 F 5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::after [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/17] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.495178,225.325806}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/18] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/19] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/19] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/19] 1/1 tStart=0.998861268 tEnd=0 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/11] 9/9 tStart=0.292224891 tEnd=0 < [3/10] 9/9 tStart=0.887605755 tEnd=1 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [5/11] 9/9 tStart=0.292224891 tEnd=0 F 12
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.292224891 tEnd=0 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/10] 9/9 tStart=0.887605755 tEnd=1 F 5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/10] 9/9 tStart=0.887605755 tEnd=1 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/21] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/16] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/22] 17/17 tStart=0.999209221 tEnd=1 < [5/16] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=16 ccw=0 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.876908819 pt=(492.452148,225.212769) slope=(-0.103101554,-0.251377622)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=19 ccw=1 seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} t=0.324136764 pt=(492.452148,225.214035) slope=(0.0335760769,0.10133242)
+SkOpSpan::sortableTop [2] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7391976
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7391336
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[5] start=7392880 end=7393104
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7392880
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392768 end=7393440
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7392392
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7393440
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7393776
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=18 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=18 windSum=-1
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7392768
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+path.moveTo(492.452545,225.21521);
+path.quadTo(492.451294,225.211411, 492.450012,225.20752);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[5] start=7392880 end=7393104
+bridgeWinding current id=3 from=(492.450012,225.207581) to=(492.453003,225.214828)
+path.lineTo(492.450012,225.207581);
+path.quadTo(492.451416,225.211029, 492.453003,225.214828);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7391448
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
</div>
</div>
@@ -701,8 +2081,11 @@
<script type="text/javascript">
var testDivs = [
- cubics_d3,
-];
+ cubicOp158,
+ cubicOp158ref,
+ tiger8a_h_1,
+ tiger8a_h_1ref,
+ ];
var decimal_places = 3; // make this 3 to show more precision