From f07bd4e20e24290398b13ccd194087cf9d067b98 Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:27 -0700 Subject: [PATCH 01/78] Save and expose on nsFontInflationData the width of the nearest common ancestor of the inflated descendants. (Bug 747720, patch 1) r=roc This width will be used in patch 3. --- layout/generic/nsFontInflationData.cpp | 1 + layout/generic/nsFontInflationData.h | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/layout/generic/nsFontInflationData.cpp b/layout/generic/nsFontInflationData.cpp index 27aec4dcc971..0a629e2a19f8 100644 --- a/layout/generic/nsFontInflationData.cpp +++ b/layout/generic/nsFontInflationData.cpp @@ -235,6 +235,7 @@ nsFontInflationData::UpdateWidth(const nsHTMLReflowState &aReflowState) mTextDirty = true; } + mNCAWidth = newNCAWidth; mTextThreshold = newTextThreshold; mInflationEnabled = mTextAmount >= mTextThreshold; } diff --git a/layout/generic/nsFontInflationData.h b/layout/generic/nsFontInflationData.h index ede8aadd4878..bf0a30f55692 100644 --- a/layout/generic/nsFontInflationData.h +++ b/layout/generic/nsFontInflationData.h @@ -64,6 +64,10 @@ public: return mInflationEnabled; } + nscoord EffectiveWidth() const { + return mNCAWidth; + } + private: nsFontInflationData(nsIFrame* aBFCFrame); @@ -94,6 +98,7 @@ private: } nsIFrame *mBFCFrame; + nscoord mNCAWidth; nscoord mTextAmount, mTextThreshold; bool mInflationEnabled; // for this BFC bool mTextDirty; From 9ace2103ae766627bf162955753d25c22e83d20d Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:27 -0700 Subject: [PATCH 02/78] Replace AutoMaybeNullInflationContainer with AutoMaybeDisableInflationForShrinkWrap since the concept of the pres context's current inflation container will be going away. (Bug 747720, patch 2) r=roc --- layout/base/nsLayoutUtils.cpp | 11 ++++++----- layout/base/nsLayoutUtils.h | 18 +++++++++++------- layout/base/nsPresContext.h | 4 ++++ layout/forms/nsFieldSetFrame.cpp | 2 +- layout/generic/nsBlockReflowState.cpp | 2 +- layout/generic/nsFrame.cpp | 4 ++-- layout/generic/nsHTMLReflowState.cpp | 4 ++-- layout/tables/BasicTableLayoutStrategy.cpp | 2 +- layout/tables/nsTableFrame.cpp | 4 ++-- layout/tables/nsTableOuterFrame.cpp | 4 ++-- 10 files changed, 32 insertions(+), 23 deletions(-) diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index 3252de932690..db5946052736 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -2349,7 +2349,7 @@ GetIntrinsicCoord(const nsStyleCoord& aStyle, // If aFrame is a container for font size inflation, then shrink // wrapping inside of it should not apply font size inflation. - AutoMaybeNullInflationContainer an(aFrame); + AutoMaybeDisableFontInflation an(aFrame); if (val == NS_STYLE_WIDTH_MAX_CONTENT) aResult = aFrame->GetPrefWidth(aRenderingContext); @@ -2381,7 +2381,7 @@ nsLayoutUtils::IntrinsicForContainer(nsRenderingContext *aRenderingContext, // If aFrame is a container for font size inflation, then shrink // wrapping inside of it should not apply font size inflation. - AutoMaybeNullInflationContainer an(aFrame); + AutoMaybeDisableFontInflation an(aFrame); nsIFrame::IntrinsicWidthOffsetData offsets = aFrame->IntrinsicWidthOffsets(aRenderingContext); @@ -2640,7 +2640,7 @@ nsLayoutUtils::ComputeWidthValue( } else if (eStyleUnit_Enumerated == aCoord.GetUnit()) { // If aFrame is a container for font size inflation, then shrink // wrapping inside of it should not apply font size inflation. - AutoMaybeNullInflationContainer an(aFrame); + AutoMaybeDisableFontInflation an(aFrame); PRInt32 val = aCoord.GetIntValue(); switch (val) { @@ -4815,12 +4815,13 @@ nsLayoutUtils::InflationMinFontSizeFor(const nsIFrame *aFrame, } #endif - if (!FontSizeInflationEnabled(aFrame->PresContext())) { + nsPresContext *presContext = aFrame->PresContext(); + if (!FontSizeInflationEnabled(presContext) || + presContext->mInflationDisabledForShrinkWrap) { return 0; } if (aWidthDetermination == eInReflow) { - nsPresContext *presContext = aFrame->PresContext(); nsIFrame *container = presContext->mCurrentInflationContainer; if (!container || !ShouldInflateFontsForContainer(container)) { return 0; diff --git a/layout/base/nsLayoutUtils.h b/layout/base/nsLayoutUtils.h index 6ab4e02a8a9b..f2c56276d73a 100644 --- a/layout/base/nsLayoutUtils.h +++ b/layout/base/nsLayoutUtils.h @@ -1695,29 +1695,33 @@ namespace mozilla { * set the current inflation container on the pres context to null * (and then, in its destructor, restore the old value). */ - class AutoMaybeNullInflationContainer { + class AutoMaybeDisableFontInflation { public: - AutoMaybeNullInflationContainer(nsIFrame *aFrame) + AutoMaybeDisableFontInflation(nsIFrame *aFrame) { + // FIXME: Now that inflation calculations are based on the flow + // root's NCA's (nearest common ancestor of its inflatable + // descendants) width, we could probably disable inflation in + // fewer cases than we currently do. if (nsLayoutUtils::IsContainerForFontSizeInflation(aFrame)) { mPresContext = aFrame->PresContext(); - mOldValue = mPresContext->mCurrentInflationContainer; - mPresContext->mCurrentInflationContainer = nsnull; + mOldValue = mPresContext->mInflationDisabledForShrinkWrap; + mPresContext->mInflationDisabledForShrinkWrap = true; } else { // indicate we have nothing to restore mPresContext = nsnull; } } - ~AutoMaybeNullInflationContainer() + ~AutoMaybeDisableFontInflation() { if (mPresContext) { - mPresContext->mCurrentInflationContainer = mOldValue; + mPresContext->mInflationDisabledForShrinkWrap = mOldValue; } } private: nsPresContext *mPresContext; - nsIFrame *mOldValue; + bool mOldValue; }; } diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h index 5945a87408b7..b5cb190abd60 100644 --- a/layout/base/nsPresContext.h +++ b/layout/base/nsPresContext.h @@ -1141,6 +1141,10 @@ public: // width, which is not yet set on its rect. nscoord mCurrentInflationContainerWidth; + // Should we disable font size inflation because we're inside of + // shrink-wrapping calculations on an inflation container? + bool mInflationDisabledForShrinkWrap; + protected: nsRefPtrHashtable, nsImageLoader> diff --git a/layout/forms/nsFieldSetFrame.cpp b/layout/forms/nsFieldSetFrame.cpp index 885cb995b0fe..b9d6f5b0e6ff 100644 --- a/layout/forms/nsFieldSetFrame.cpp +++ b/layout/forms/nsFieldSetFrame.cpp @@ -411,7 +411,7 @@ nsFieldSetFrame::ComputeSize(nsRenderingContext *aRenderingContext, // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); nscoord minWidth = GetMinWidth(aRenderingContext); if (minWidth > result.width) diff --git a/layout/generic/nsBlockReflowState.cpp b/layout/generic/nsBlockReflowState.cpp index b62d989a4c5e..c4dc8791b848 100644 --- a/layout/generic/nsBlockReflowState.cpp +++ b/layout/generic/nsBlockReflowState.cpp @@ -582,7 +582,7 @@ FloatMarginWidth(const nsHTMLReflowState& aCBReflowState, nsIFrame *aFloat, const nsCSSOffsetState& aFloatOffsetState) { - AutoMaybeNullInflationContainer an(aFloat); + AutoMaybeDisableFontInflation an(aFloat); return aFloat->ComputeSize( aCBReflowState.rendContext, nsSize(aCBReflowState.ComputedWidth(), diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 6492ca9bd530..2d66f7a3c97a 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -3953,7 +3953,7 @@ nsFrame::ShrinkWidthToFit(nsRenderingContext *aRenderingContext, { // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); nscoord result; nscoord minWidth = GetMinWidth(aRenderingContext); @@ -7412,7 +7412,7 @@ nsFrame::RefreshSizeCache(nsBoxLayoutState& aState) { // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); metrics->mBlockPrefSize.width = GetPrefWidth(rendContext) + bp.LeftRight(); diff --git a/layout/generic/nsHTMLReflowState.cpp b/layout/generic/nsHTMLReflowState.cpp index 1b256e48459d..7ea4ac14431a 100644 --- a/layout/generic/nsHTMLReflowState.cpp +++ b/layout/generic/nsHTMLReflowState.cpp @@ -1283,7 +1283,7 @@ nsHTMLReflowState::InitAbsoluteConstraints(nsPresContext* aPresContext, } { - AutoMaybeNullInflationContainer an(frame); + AutoMaybeDisableFontInflation an(frame); nsSize size = frame->ComputeSize(rendContext, @@ -1905,7 +1905,7 @@ nsHTMLReflowState::InitConstraints(nsPresContext* aPresContext, InitAbsoluteConstraints(aPresContext, cbrs, aContainingBlockWidth, aContainingBlockHeight, aFrameType); } else { - AutoMaybeNullInflationContainer an(frame); + AutoMaybeDisableFontInflation an(frame); bool isBlock = NS_CSS_FRAME_TYPE_BLOCK == NS_FRAME_GET_TYPE(mFrameType); PRUint32 computeSizeFlags = isBlock ? 0 : nsIFrame::eShrinkWrap; diff --git a/layout/tables/BasicTableLayoutStrategy.cpp b/layout/tables/BasicTableLayoutStrategy.cpp index dab5cf55ddd1..e6fbf98ad8de 100644 --- a/layout/tables/BasicTableLayoutStrategy.cpp +++ b/layout/tables/BasicTableLayoutStrategy.cpp @@ -115,7 +115,7 @@ GetWidthInfo(nsRenderingContext *aRenderingContext, if (aIsCell) { // If aFrame is a container for font size inflation, then shrink // wrapping inside of it should not apply font size inflation. - AutoMaybeNullInflationContainer an(aFrame); + AutoMaybeDisableFontInflation an(aFrame); minCoord = aFrame->GetMinWidth(aRenderingContext); prefCoord = aFrame->GetPrefWidth(aRenderingContext); diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp index 868afafca192..ee2fa3259413 100644 --- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -1514,7 +1514,7 @@ nsTableFrame::ComputeSize(nsRenderingContext *aRenderingContext, // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); // Tables never shrink below their min width. nscoord minWidth = GetMinWidth(aRenderingContext); @@ -1530,7 +1530,7 @@ nsTableFrame::TableShrinkWidthToFit(nsRenderingContext *aRenderingContext, { // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); nscoord result; nscoord minWidth = GetMinWidth(aRenderingContext); diff --git a/layout/tables/nsTableOuterFrame.cpp b/layout/tables/nsTableOuterFrame.cpp index c8f98af363e0..dfeafc0bd222 100644 --- a/layout/tables/nsTableOuterFrame.cpp +++ b/layout/tables/nsTableOuterFrame.cpp @@ -103,7 +103,7 @@ nsTableCaptionFrame::ComputeAutoSize(nsRenderingContext *aRenderingContext, // If we're a container for font size inflation, then shrink // wrapping inside of us should not apply font size inflation. - AutoMaybeNullInflationContainer an(this); + AutoMaybeDisableFontInflation an(this); PRUint8 captionSide = GetStyleTableBorder()->mCaptionSide; if (captionSide == NS_STYLE_CAPTION_SIDE_LEFT || @@ -533,7 +533,7 @@ ChildShrinkWrapWidth(nsRenderingContext *aRenderingContext, nsSize aCBSize, nscoord aAvailableWidth, nscoord *aMarginResult = nsnull) { - AutoMaybeNullInflationContainer an(aChildFrame); + AutoMaybeDisableFontInflation an(aChildFrame); nsCSSOffsetState offsets(aChildFrame, aRenderingContext, aCBSize.width); nsSize size = aChildFrame->ComputeSize(aRenderingContext, aCBSize, From 148af868e8968a3500fccf496426a260babbe045 Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:27 -0700 Subject: [PATCH 03/78] Use the same width basis for font inflation throughout a font inflation flow root. (Bug 747720, patch 3) r=roc Font inflation flow roots are similar to block formatting contexts, though I'm trying to make not all block formatting contexts be flow roots in later patches on this bug, bug 707195, and related bugs. This will lead to more consistent font size inflation in a flow of text where the blocks vary in width (e.g., because some of the blocks have horizontal margins) but we determine the text to comprise a single flow. --- layout/base/nsLayoutUtils.cpp | 66 +++---------------- layout/reftests/font-inflation/reftest.list | 2 + .../font-inflation/relevant-width-1-ref.html | 9 +++ .../font-inflation/relevant-width-1.html | 16 +++++ 4 files changed, 37 insertions(+), 56 deletions(-) create mode 100644 layout/reftests/font-inflation/relevant-width-1-ref.html create mode 100644 layout/reftests/font-inflation/relevant-width-1.html diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index db5946052736..5a89f12c8dd4 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -4765,14 +4765,6 @@ nsLayoutUtils::FontSizeInflationInner(const nsIFrame *aFrame, return (1.0f / ratio) + (1.0f / 3.0f); } -static inline bool -InflationDataSaysEnabled(const nsIFrame *aFrame) -{ - nsFontInflationData *data = - nsFontInflationData::FindFontInflationDataFor(aFrame); - return data && data->InflationEnabled(); -} - static bool ShouldInflateFontsForContainer(const nsIFrame *aFrame) { @@ -4789,55 +4781,35 @@ ShouldInflateFontsForContainer(const nsIFrame *aFrame) !(aFrame->GetStateBits() & NS_FRAME_IN_CONSTRAINED_HEIGHT) && // We also want to disable font inflation for containers that have // preformatted text. - styleText->WhiteSpaceCanWrap() && - InflationDataSaysEnabled(aFrame); + styleText->WhiteSpaceCanWrap(); } nscoord nsLayoutUtils::InflationMinFontSizeFor(const nsIFrame *aFrame, WidthDetermination aWidthDetermination) { -#ifdef DEBUG - if (aWidthDetermination == eNotInReflow) { - // Check that neither this frame nor any of its ancestors are - // currently being reflowed. - // It's ok for box frames (but not arbitrary ancestors of box frames) - // since they set their size before reflow. - if (!(aFrame->IsBoxFrame() && IsContainerForFontSizeInflation(aFrame))) { - for (const nsIFrame *f = aFrame; f; f = f->GetParent()) { - NS_ABORT_IF_FALSE(!(f->GetStateBits() & NS_FRAME_IN_REFLOW), - "must call nsHTMLReflowState& version during reflow"); - } - } - // It's ok if frames are dirty, or even if they've never been - // reflowed, since they will be eventually and then we'll get the - // right size. - } -#endif - nsPresContext *presContext = aFrame->PresContext(); if (!FontSizeInflationEnabled(presContext) || presContext->mInflationDisabledForShrinkWrap) { return 0; } - if (aWidthDetermination == eInReflow) { - nsIFrame *container = presContext->mCurrentInflationContainer; - if (!container || !ShouldInflateFontsForContainer(container)) { - return 0; - } - return MinimumFontSizeFor(presContext, - presContext->mCurrentInflationContainerWidth); - } - for (const nsIFrame *f = aFrame; f; f = f->GetParent()) { if (IsContainerForFontSizeInflation(f)) { if (!ShouldInflateFontsForContainer(f)) { return 0; } + nsFontInflationData *data = + nsFontInflationData::FindFontInflationDataFor(aFrame); + // FIXME: The need to null-check here is sort of a bug, and might + // lead to incorrect results. + if (!data || !data->InflationEnabled()) { + return 0; + } + return MinimumFontSizeFor(aFrame->PresContext(), - f->GetContentRect().width); + data->EffectiveWidth()); } } @@ -4850,24 +4822,6 @@ float nsLayoutUtils::FontSizeInflationFor(const nsIFrame *aFrame, WidthDetermination aWidthDetermination) { -#ifdef DEBUG - if (aWidthDetermination == eNotInReflow) { - // Check that neither this frame nor any of its ancestors are - // currently being reflowed. - // It's ok for box frames (but not arbitrary ancestors of box frames) - // since they set their size before reflow. - if (!(aFrame->IsBoxFrame() && IsContainerForFontSizeInflation(aFrame))) { - for (const nsIFrame *f = aFrame; f; f = f->GetParent()) { - NS_ABORT_IF_FALSE(!(f->GetStateBits() & NS_FRAME_IN_REFLOW), - "must call nsHTMLReflowState& version during reflow"); - } - } - // It's ok if frames are dirty, or even if they've never been - // reflowed, since they will be eventually and then we'll get the - // right size. - } -#endif - if (!FontSizeInflationEnabled(aFrame->PresContext())) { return 1.0; } diff --git a/layout/reftests/font-inflation/reftest.list b/layout/reftests/font-inflation/reftest.list index 4976dc7530d2..12ba5350007b 100644 --- a/layout/reftests/font-inflation/reftest.list +++ b/layout/reftests/font-inflation/reftest.list @@ -92,3 +92,5 @@ fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(f fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,100) == threshold-select-combobox-contents-under-2.html threshold-select-combobox-contents-under-2.html fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,100) == threshold-select-combobox-contents-at-1.html threshold-select-combobox-contents-at-1-ref.html fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,100) == threshold-select-combobox-contents-at-2.html threshold-select-combobox-contents-at-2-ref.html + +test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,0) == relevant-width-1.html relevant-width-1-ref.html diff --git a/layout/reftests/font-inflation/relevant-width-1-ref.html b/layout/reftests/font-inflation/relevant-width-1-ref.html new file mode 100644 index 000000000000..90b67e1b6add --- /dev/null +++ b/layout/reftests/font-inflation/relevant-width-1-ref.html @@ -0,0 +1,9 @@ + + +
+ Text in middle. +
Text in inner.
+
diff --git a/layout/reftests/font-inflation/relevant-width-1.html b/layout/reftests/font-inflation/relevant-width-1.html new file mode 100644 index 000000000000..814917786d86 --- /dev/null +++ b/layout/reftests/font-inflation/relevant-width-1.html @@ -0,0 +1,16 @@ + + + +
+
+ Text in middle. +
Text in inner.
+
+
From 176a00239b2a4eea3e590bc4669ec7db4d964f0c Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:27 -0700 Subject: [PATCH 04/78] Fix call to wrong method (passing nscoord as enum). (Bug 747720, patch 4) r=roc --- layout/forms/nsListControlFrame.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp index f1ae61bf5671..9ef03c76309d 100644 --- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -363,7 +363,7 @@ nsListControlFrame::CalcHeightOfARow() // heightOfARow first) if (heightOfARow == 0 && GetNumberOfOptions() == 0) { float inflation = - nsLayoutUtils::FontSizeInflationInner(this, nsLayoutUtils::eInReflow); + nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); heightOfARow = CalcFallbackRowHeight(inflation); } From 6b3b8f95334944b0f44b9cac41b2268deb294b6d Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:28 -0700 Subject: [PATCH 05/78] Remove width determination parameters from font inflation methods. (Bug 747720, patch 5) r=roc These are no longer needed since we're getting the width from the nsFontInflationData. --- content/events/src/nsEventStateManager.cpp | 3 +- layout/base/nsCaret.cpp | 2 +- layout/base/nsLayoutUtils.cpp | 10 ++---- layout/base/nsLayoutUtils.h | 13 ++----- layout/forms/nsFormControlFrame.cpp | 3 +- layout/forms/nsListControlFrame.cpp | 19 ++++------ layout/forms/nsListControlFrame.h | 9 ++--- layout/forms/nsProgressFrame.cpp | 3 +- layout/forms/nsTextControlFrame.cpp | 6 ++-- layout/generic/TextOverflow.cpp | 4 +-- layout/generic/nsBRFrame.cpp | 2 +- layout/generic/nsBlockFrame.cpp | 5 ++- layout/generic/nsBulletFrame.cpp | 3 +- layout/generic/nsGfxScrollFrame.cpp | 2 +- layout/generic/nsHTMLReflowState.cpp | 3 +- layout/generic/nsImageFrame.cpp | 2 +- layout/generic/nsInlineFrame.cpp | 3 +- layout/generic/nsLineLayout.cpp | 3 +- layout/generic/nsTextFrameThebes.cpp | 42 ++++------------------ 19 files changed, 37 insertions(+), 100 deletions(-) diff --git a/content/events/src/nsEventStateManager.cpp b/content/events/src/nsEventStateManager.cpp index 6ad745b4274d..c9320f1f64d4 100644 --- a/content/events/src/nsEventStateManager.cpp +++ b/content/events/src/nsEventStateManager.cpp @@ -2562,8 +2562,7 @@ GetScrollableLineHeight(nsIFrame* aTargetFrame) // Fall back to the font height of the target frame. nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(aTargetFrame, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(aTargetFrame, - nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(aTargetFrame)); NS_ASSERTION(fm, "FontMetrics is null!"); if (fm) return fm->MaxHeight(); diff --git a/layout/base/nsCaret.cpp b/layout/base/nsCaret.cpp index 14aa22bd31ec..aa36161eb82e 100644 --- a/layout/base/nsCaret.cpp +++ b/layout/base/nsCaret.cpp @@ -351,7 +351,7 @@ nsCaret::GetGeometryForFrame(nsIFrame* aFrame, nscoord ascent = 0, descent = 0; nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(aFrame, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(aFrame, nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(aFrame)); NS_ASSERTION(fm, "We should be able to get the font metrics"); if (fm) { ascent = fm->MaxAscent(); diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index 5a89f12c8dd4..08072e6d66f7 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -4785,8 +4785,7 @@ ShouldInflateFontsForContainer(const nsIFrame *aFrame) } nscoord -nsLayoutUtils::InflationMinFontSizeFor(const nsIFrame *aFrame, - WidthDetermination aWidthDetermination) +nsLayoutUtils::InflationMinFontSizeFor(const nsIFrame *aFrame) { nsPresContext *presContext = aFrame->PresContext(); if (!FontSizeInflationEnabled(presContext) || @@ -4819,16 +4818,13 @@ nsLayoutUtils::InflationMinFontSizeFor(const nsIFrame *aFrame, } float -nsLayoutUtils::FontSizeInflationFor(const nsIFrame *aFrame, - WidthDetermination aWidthDetermination) +nsLayoutUtils::FontSizeInflationFor(const nsIFrame *aFrame) { if (!FontSizeInflationEnabled(aFrame->PresContext())) { return 1.0; } - return FontSizeInflationInner(aFrame, - InflationMinFontSizeFor(aFrame, - aWidthDetermination)); + return FontSizeInflationInner(aFrame, InflationMinFontSizeFor(aFrame)); } /* static */ bool diff --git a/layout/base/nsLayoutUtils.h b/layout/base/nsLayoutUtils.h index f2c56276d73a..b4a35e31d0de 100644 --- a/layout/base/nsLayoutUtils.h +++ b/layout/base/nsLayoutUtils.h @@ -1529,15 +1529,8 @@ public: * Return the font size inflation *ratio* for a given frame. This is * the factor by which font sizes should be inflated; it is never * smaller than 1. - * - * The WidthDetermination parameter says how we determine the width of - * the nearest inflation container: when not in reflow we look at the - * frame tree; when in reflow we look at state stored on the pres - * context. */ - enum WidthDetermination { eNotInReflow, eInReflow }; - static float FontSizeInflationFor(const nsIFrame *aFrame, - WidthDetermination aWidthDetermination); + static float FontSizeInflationFor(const nsIFrame *aFrame); /** * Perform the first half of the computation of FontSizeInflationFor @@ -1552,9 +1545,7 @@ public: * above the minimum should always be adjusted as done by * FontSizeInflationInner. */ - static nscoord InflationMinFontSizeFor(const nsIFrame *aFrame, - WidthDetermination - aWidthDetermination); + static nscoord InflationMinFontSizeFor(const nsIFrame *aFrame); /** * Perform the second half of the computation done by diff --git a/layout/forms/nsFormControlFrame.cpp b/layout/forms/nsFormControlFrame.cpp index 773971556bb9..8b57db540497 100644 --- a/layout/forms/nsFormControlFrame.cpp +++ b/layout/forms/nsFormControlFrame.cpp @@ -120,8 +120,7 @@ nsFormControlFrame::Reflow(nsPresContext* aPresContext, } if (nsLayoutUtils::FontSizeInflationEnabled(aPresContext)) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); aDesiredSize.width *= inflation; aDesiredSize.height *= inflation; aDesiredSize.UnionOverflowAreasWithDesiredBounds(); diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp index 9ef03c76309d..598d4f826569 100644 --- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -256,8 +256,7 @@ void nsListControlFrame::PaintFocus(nsRenderingContext& aRC, nsPoint aPt) // get it into our coordinates fRect.MoveBy(childframe->GetParent()->GetOffsetTo(this)); } else { - float inflation = nsLayoutUtils::FontSizeInflationFor(this, - nsLayoutUtils::eNotInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); fRect.x = fRect.y = 0; fRect.width = GetScrollPortRect().width; fRect.height = CalcFallbackRowHeight(inflation); @@ -284,7 +283,7 @@ void nsListControlFrame::PaintFocus(nsRenderingContext& aRC, nsPoint aPt) } void -nsListControlFrame::InvalidateFocus(const nsHTMLReflowState *aReflowState) +nsListControlFrame::InvalidateFocus() { if (mFocused != this) return; @@ -294,9 +293,7 @@ nsListControlFrame::InvalidateFocus(const nsHTMLReflowState *aReflowState) // Invalidating from the containerFrame because that's where our focus // is drawn. // The origin of the scrollport is the origin of containerFrame. - float inflation = nsLayoutUtils::FontSizeInflationFor(this, - aReflowState ? nsLayoutUtils::eInReflow - : nsLayoutUtils::eNotInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); nsRect invalidateArea = containerFrame->GetVisualOverflowRect(); nsRect emptyFallbackArea(0, 0, GetScrollPortRect().width, CalcFallbackRowHeight(inflation)); @@ -362,8 +359,7 @@ nsListControlFrame::CalcHeightOfARow() // Check to see if we have zero items (and optimize by checking // heightOfARow first) if (heightOfARow == 0 && GetNumberOfOptions() == 0) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); heightOfARow = CalcFallbackRowHeight(inflation); } @@ -1154,8 +1150,7 @@ nsListControlFrame::OnContentReset() } void -nsListControlFrame::ResetList(bool aAllowScrolling, - const nsHTMLReflowState *aReflowState) +nsListControlFrame::ResetList(bool aAllowScrolling) { // if all the frames aren't here // don't bother reseting @@ -1179,7 +1174,7 @@ nsListControlFrame::ResetList(bool aAllowScrolling, mStartSelectionIndex = kNothingSelected; mEndSelectionIndex = kNothingSelected; - InvalidateFocus(aReflowState); + InvalidateFocus(); // Combobox will redisplay itself with the OnOptionSelected event } @@ -1732,7 +1727,7 @@ nsListControlFrame::DidReflow(nsPresContext* aPresContext, // The idea is that we want scroll history restoration to trump ResetList // scrolling to the selected element, when the ResetList was probably only // caused by content loading normally. - ResetList(!DidHistoryRestore() || mPostChildrenLoadedReset, aReflowState); + ResetList(!DidHistoryRestore() || mPostChildrenLoadedReset); } mHasPendingInterruptAtStartOfReflow = false; diff --git a/layout/forms/nsListControlFrame.h b/layout/forms/nsListControlFrame.h index 3042d0ff426b..424a9b28ebc1 100644 --- a/layout/forms/nsListControlFrame.h +++ b/layout/forms/nsListControlFrame.h @@ -239,10 +239,8 @@ public: * that PaintFocus will or could have painted --- basically the whole * GetOptionsContainer, plus some extra stuff if there are no options. This * must be called every time mEndSelectionIndex changes. - * - * Pass non-null aReflowState if during reflow. */ - void InvalidateFocus(const nsHTMLReflowState* aReflowState = nsnull); + void InvalidateFocus(); /** * Function to calculate the height a row, for use with the "size" attribute. @@ -334,11 +332,8 @@ protected: /** * Resets the select back to it's original default values; * those values as determined by the original HTML - * - * Pass non-null aReflowState if during reflow. */ - virtual void ResetList(bool aAllowScrolling, - const nsHTMLReflowState* aReflowState = nsnull); + virtual void ResetList(bool aAllowScrolling); nsListControlFrame(nsIPresShell* aShell, nsIDocument* aDocument, nsStyleContext* aContext); virtual ~nsListControlFrame(); diff --git a/layout/forms/nsProgressFrame.cpp b/layout/forms/nsProgressFrame.cpp index 674983ae5ec9..0ec8703fa5a9 100644 --- a/layout/forms/nsProgressFrame.cpp +++ b/layout/forms/nsProgressFrame.cpp @@ -269,8 +269,7 @@ nsProgressFrame::ComputeAutoSize(nsRenderingContext *aRenderingContext, nsSize aMargin, nsSize aBorder, nsSize aPadding, bool aShrinkWrap) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); nsRefPtr fontMet; NS_ENSURE_SUCCESS(nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fontMet), diff --git a/layout/forms/nsTextControlFrame.cpp b/layout/forms/nsTextControlFrame.cpp index 64cee852f5fe..a3e481b3a54b 100644 --- a/layout/forms/nsTextControlFrame.cpp +++ b/layout/forms/nsTextControlFrame.cpp @@ -493,8 +493,7 @@ nsTextControlFrame::ComputeAutoSize(nsRenderingContext *aRenderingContext, nsSize aMargin, nsSize aBorder, nsSize aPadding, bool aShrinkWrap) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); nsSize autoSize; nsresult rv = CalcIntrinsicSize(aRenderingContext, autoSize, inflation); if (NS_FAILED(rv)) { @@ -601,8 +600,7 @@ nsTextControlFrame::GetBoxAscent(nsBoxLayoutState& aState) // Return the baseline of the first (nominal) row, with centering for // single-line controls. - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); // First calculate the ascent wrt the client rect nsRect clientRect; diff --git a/layout/generic/TextOverflow.cpp b/layout/generic/TextOverflow.cpp index 1d8d5ed876e6..258004e27b96 100644 --- a/layout/generic/TextOverflow.cpp +++ b/layout/generic/TextOverflow.cpp @@ -243,7 +243,7 @@ nsDisplayTextOverflowMarker::PaintTextToContext(nsRenderingContext* aCtx, { nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(mFrame, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(mFrame, nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(mFrame)); aCtx->SetFont(fm); gfxFloat y = nsLayoutUtils::GetSnappedBaselineY(mFrame, aCtx->ThebesContext(), mRect.y, mAscent); @@ -761,7 +761,7 @@ TextOverflow::Marker::SetupString(nsIFrame* aFrame) aFrame->PresContext()->PresShell()->GetReferenceRenderingContext(); nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(aFrame, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(aFrame, nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(aFrame)); rc->SetFont(fm); mMarkerString = mStyle->mType == NS_STYLE_TEXT_OVERFLOW_ELLIPSIS ? diff --git a/layout/generic/nsBRFrame.cpp b/layout/generic/nsBRFrame.cpp index 6eeec075cb9a..e1277a2f5deb 100644 --- a/layout/generic/nsBRFrame.cpp +++ b/layout/generic/nsBRFrame.cpp @@ -151,7 +151,7 @@ BRFrame::Reflow(nsPresContext* aPresContext, // here for cases where the line-height is less than 1. nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow)); + nsLayoutUtils::FontSizeInflationFor(this)); aReflowState.rendContext->SetFont(fm); // FIXME: maybe not needed? if (fm) { nscoord logicalHeight = aReflowState.CalcLineHeight(); diff --git a/layout/generic/nsBlockFrame.cpp b/layout/generic/nsBlockFrame.cpp index a8cff430c136..64d01adeccec 100644 --- a/layout/generic/nsBlockFrame.cpp +++ b/layout/generic/nsBlockFrame.cpp @@ -573,8 +573,7 @@ nsBlockFrame::GetCaretBaseline() const } } nsRefPtr fm; - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eNotInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fm), inflation); return nsLayoutUtils::GetCenteredFontBaseline(fm, nsHTMLReflowState:: CalcLineHeight(GetStyleContext(), contentRect.height, inflation)) + @@ -2376,7 +2375,7 @@ nsBlockFrame::ReflowDirtyLines(nsBlockReflowState& aState) nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow)); + nsLayoutUtils::FontSizeInflationFor(this)); aState.mReflowState.rendContext->SetFont(fm); // FIXME: needed? nscoord minAscent = diff --git a/layout/generic/nsBulletFrame.cpp b/layout/generic/nsBulletFrame.cpp index f350fe97cf44..de942e57478b 100644 --- a/layout/generic/nsBulletFrame.cpp +++ b/layout/generic/nsBulletFrame.cpp @@ -1420,8 +1420,7 @@ nsBulletFrame::Reflow(nsPresContext* aPresContext, DO_GLOBAL_REFLOW_COUNT("nsBulletFrame"); DISPLAY_REFLOW(aPresContext, this, aReflowState, aMetrics, aStatus); - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); SetFontSizeInflation(inflation); // Get the base size diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index 5fc6629f8400..4b6a39a9c838 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -2570,7 +2570,7 @@ nsGfxScrollFrameInner::GetLineScrollAmount() const { nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(mOuter, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(mOuter, nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(mOuter)); NS_ASSERTION(fm, "FontMetrics is null, assuming fontHeight == 1 appunit"); nscoord fontHeight = 1; if (fm) { diff --git a/layout/generic/nsHTMLReflowState.cpp b/layout/generic/nsHTMLReflowState.cpp index 7ea4ac14431a..f6cf5d995d32 100644 --- a/layout/generic/nsHTMLReflowState.cpp +++ b/layout/generic/nsHTMLReflowState.cpp @@ -2262,8 +2262,7 @@ nsHTMLReflowState::CalcLineHeight() const (mCBReflowState ? mCBReflowState->mComputedHeight : NS_AUTOHEIGHT); return CalcLineHeight(frame->GetStyleContext(), blockHeight, - nsLayoutUtils::FontSizeInflationFor(frame, - nsLayoutUtils::eInReflow)); + nsLayoutUtils::FontSizeInflationFor(frame)); } /* static */ nscoord diff --git a/layout/generic/nsImageFrame.cpp b/layout/generic/nsImageFrame.cpp index fa262cd0db2e..d7d37abb66a7 100644 --- a/layout/generic/nsImageFrame.cpp +++ b/layout/generic/nsImageFrame.cpp @@ -1006,7 +1006,7 @@ nsImageFrame::DisplayAltText(nsPresContext* aPresContext, aRenderingContext.SetColor(GetStyleColor()->mColor); nsRefPtr fm; nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fm), - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eNotInReflow)); + nsLayoutUtils::FontSizeInflationFor(this)); aRenderingContext.SetFont(fm); // Format the text to display within the formatting rect diff --git a/layout/generic/nsInlineFrame.cpp b/layout/generic/nsInlineFrame.cpp index 0a4695b7d7c8..f727d03da88b 100644 --- a/layout/generic/nsInlineFrame.cpp +++ b/layout/generic/nsInlineFrame.cpp @@ -660,8 +660,7 @@ nsInlineFrame::ReflowFrames(nsPresContext* aPresContext, } nsRefPtr fm; - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); nsLayoutUtils::GetFontMetricsForFrame(this, getter_AddRefs(fm), inflation); aReflowState.rendContext->SetFont(fm); diff --git a/layout/generic/nsLineLayout.cpp b/layout/generic/nsLineLayout.cpp index 3051b5f82ba5..b3d46d56e821 100644 --- a/layout/generic/nsLineLayout.cpp +++ b/layout/generic/nsLineLayout.cpp @@ -120,8 +120,7 @@ nsLineLayout::nsLineLayout(nsPresContext* aPresContext, mTrimmableWidth = 0; mInflationMinFontSize = - nsLayoutUtils::InflationMinFontSizeFor(aOuterReflowState->frame, - nsLayoutUtils::eInReflow); + nsLayoutUtils::InflationMinFontSizeFor(aOuterReflowState->frame); // Instead of always pre-initializing the free-lists for frames and // spans, we do it on demand so that situations that only use a few diff --git a/layout/generic/nsTextFrameThebes.cpp b/layout/generic/nsTextFrameThebes.cpp index b8625d792a40..14fbe54b7be3 100644 --- a/layout/generic/nsTextFrameThebes.cpp +++ b/layout/generic/nsTextFrameThebes.cpp @@ -1895,33 +1895,7 @@ BuildTextRunsScanner::BuildTextRunForFrames(void* aTextBuffer) if (mWhichTextRun == nsTextFrame::eNotInflated) { fontInflation = 1.0f; } else { - nsPresContext* presContext = firstFrame->PresContext(); - nsLayoutUtils::WidthDetermination widthDeter = nsLayoutUtils::eNotInReflow; - - if (presContext->PresShell()->IsReflowLocked()) { - widthDeter = nsLayoutUtils::eInReflow; - } - -#ifdef DEBUG - if (widthDeter == nsLayoutUtils::eInReflow) { - // Make sure that the font inflation container is correct. - nsIFrame* inflationContainer = nsnull; - for (nsIFrame* f = firstFrame; f; f = f->GetParent()) { - if (nsLayoutUtils::IsContainerForFontSizeInflation(f)) { - inflationContainer = f; - break; - } - } - - // FIXME: When we support variable width containers (e.g. for regions or - // differing-width columns, we should revisit this assertion. - NS_ASSERTION(inflationContainer->GetFirstInFlow() == - presContext->mCurrentInflationContainer->GetFirstInFlow(), - "Current inflation container for text frame is wrong"); - } -#endif // #ifdef DEBUG - - fontInflation = nsLayoutUtils::FontSizeInflationFor(firstFrame, widthDeter); + fontInflation = nsLayoutUtils::FontSizeInflationFor(firstFrame); } gfxFontGroup* fontGroup = GetFontGroupForFrame(firstFrame, fontInflation); @@ -4678,8 +4652,7 @@ nsTextFrame::UnionAdditionalOverflow(nsPresContext* aPresContext, GetTextDecorations(aPresContext, textDecs); if (textDecs.HasDecorationLines()) { nscoord inflationMinFontSize = - nsLayoutUtils::InflationMinFontSizeFor(aBlockReflowState.frame, - nsLayoutUtils::eInReflow); + nsLayoutUtils::InflationMinFontSizeFor(aBlockReflowState.frame); const nscoord width = GetSize().width; const gfxFloat appUnitsPerDevUnit = aPresContext->AppUnitsPerDevPixel(), @@ -5675,7 +5648,7 @@ nsTextFrame::DrawTextRunAndDecorations( aDirtyRect.Width() / app, aDirtyRect.Height() / app); nscoord inflationMinFontSize = - nsLayoutUtils::InflationMinFontSizeFor(this, nsLayoutUtils::eNotInReflow); + nsLayoutUtils::InflationMinFontSizeFor(this); // Underlines for (PRUint32 i = aDecorations.mUnderlines.Length(); i-- > 0; ) { @@ -6762,8 +6735,7 @@ nsTextFrame::AddInlineMinWidthForFlow(nsRenderingContext *aRenderingContext, nsTextFrame::AddInlineMinWidth(nsRenderingContext *aRenderingContext, nsIFrame::InlineMinWidthData *aData) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); TextRunType trtype = (inflation == 1.0f) ? eNotInflated : eInflated; nsTextFrame* f; @@ -6893,8 +6865,7 @@ nsTextFrame::AddInlinePrefWidthForFlow(nsRenderingContext *aRenderingContext, nsTextFrame::AddInlinePrefWidth(nsRenderingContext *aRenderingContext, nsIFrame::InlinePrefWidthData *aData) { - float inflation = - nsLayoutUtils::FontSizeInflationFor(this, nsLayoutUtils::eInReflow); + float inflation = nsLayoutUtils::FontSizeInflationFor(this); TextRunType trtype = (inflation == 1.0f) ? eNotInflated : eInflated; nsTextFrame* f; @@ -7419,8 +7390,7 @@ nsTextFrame::ReflowText(nsLineLayout& aLineLayout, nscoord aAvailableWidth, } } - float fontSizeInflation = nsLayoutUtils::FontSizeInflationFor(this, - nsLayoutUtils::eInReflow); + float fontSizeInflation = nsLayoutUtils::FontSizeInflationFor(this); if (fontSizeInflation != GetFontSizeInflation()) { // FIXME: Ideally, if we already have a text run, we'd move it to be From 6f318c955b4c5dc5d87e231ca90ff5d98c56404c Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:28 -0700 Subject: [PATCH 06/78] Remove caching of current inflation container and its width from the pres context. (Bug 747720, patch 6) r=roc This is no longer needed because we're getting the width from nsFontInflationData and the null-ness of the container from mInflationDisabledForShrinkWrap. --- layout/base/nsPresContext.h | 10 ---------- layout/base/nsPresShell.cpp | 14 -------------- layout/generic/nsHTMLReflowState.cpp | 11 ----------- layout/generic/nsHTMLReflowState.h | 6 ------ layout/svg/base/src/nsSVGForeignObjectFrame.cpp | 8 -------- layout/xul/base/src/nsBox.cpp | 12 ------------ 6 files changed, 61 deletions(-) diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h index b5cb190abd60..96432a648207 100644 --- a/layout/base/nsPresContext.h +++ b/layout/base/nsPresContext.h @@ -1131,16 +1131,6 @@ public: // The following are public member variables so that we can use them // with mozilla::AutoToggle or mozilla::AutoRestore. - // The frame that is the container for font size inflation for the - // reflow or intrinsic width computation currently happening. If this - // frame is null, then font inflation should not be performed. - nsIFrame* mCurrentInflationContainer; // [WEAK] - - // The content-rect width of mCurrentInflationContainer. If - // mCurrentInflationContainer is currently in reflow, this is its new - // width, which is not yet set on its rect. - nscoord mCurrentInflationContainerWidth; - // Should we disable font size inflation because we're inside of // shrink-wrapping calculations on an inflation container? bool mInflationDisabledForShrinkWrap; diff --git a/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp index 67fff1d12249..8356ff7ca081 100644 --- a/layout/base/nsPresShell.cpp +++ b/layout/base/nsPresShell.cpp @@ -7331,20 +7331,6 @@ PresShell::DoReflow(nsIFrame* target, bool aInterruptible) return false; } - NS_ASSERTION(!mPresContext->mCurrentInflationContainer, - "current inflation container should be null"); - AutoRestore restoreInflationContainer(mPresContext-> - mCurrentInflationContainer); - for (nsIFrame *f = target->GetParent(); f; f = f->GetParent()) { - if (nsLayoutUtils::IsContainerForFontSizeInflation(f)) { - NS_ASSERTION(!(f->GetStateBits() & NS_FRAME_IN_REFLOW), - "a frame outside should not be in reflow"); - mPresContext->mCurrentInflationContainer = f; - mPresContext->mCurrentInflationContainerWidth = f->GetContentRect().width; - break; - } - } - #ifdef DEBUG mCurrentReflowRoot = target; #endif diff --git a/layout/generic/nsHTMLReflowState.cpp b/layout/generic/nsHTMLReflowState.cpp index f6cf5d995d32..ba97e76fe4ed 100644 --- a/layout/generic/nsHTMLReflowState.cpp +++ b/layout/generic/nsHTMLReflowState.cpp @@ -90,9 +90,6 @@ nsHTMLReflowState::nsHTMLReflowState(nsPresContext* aPresContext, : nsCSSOffsetState(aFrame, aRenderingContext) , mBlockDelta(0) , mReflowDepth(0) - , mRestoreCurrentInflationContainer(aPresContext->mCurrentInflationContainer) - , mRestoreCurrentInflationContainerWidth(aPresContext-> - mCurrentInflationContainerWidth) { NS_PRECONDITION(aPresContext, "no pres context"); NS_PRECONDITION(aRenderingContext, "no rendering context"); @@ -129,9 +126,6 @@ nsHTMLReflowState::nsHTMLReflowState(nsPresContext* aPresContext, , mBlockDelta(0) , mReflowDepth(aParentReflowState.mReflowDepth + 1) , mFlags(aParentReflowState.mFlags) - , mRestoreCurrentInflationContainer(aPresContext->mCurrentInflationContainer) - , mRestoreCurrentInflationContainerWidth(aPresContext-> - mCurrentInflationContainerWidth) { NS_PRECONDITION(aPresContext, "no pres context"); NS_PRECONDITION(aFrame, "no frame"); @@ -1953,11 +1947,6 @@ nsHTMLReflowState::InitConstraints(nsPresContext* aPresContext, const nsStyleTextReset* st = frame->GetStyleTextReset(); mFlags.mBlinks = (st->mTextBlink != NS_STYLE_TEXT_BLINK_NONE); } - - if (nsLayoutUtils::IsContainerForFontSizeInflation(frame)) { - aPresContext->mCurrentInflationContainer = frame; - aPresContext->mCurrentInflationContainerWidth = mComputedWidth; - } } static void diff --git a/layout/generic/nsHTMLReflowState.h b/layout/generic/nsHTMLReflowState.h index 29d26fe594dc..667956599eb5 100644 --- a/layout/generic/nsHTMLReflowState.h +++ b/layout/generic/nsHTMLReflowState.h @@ -370,12 +370,6 @@ public: PRUint16 mIsColumnBalancing:1; // nsColumnSetFrame is balancing columns } mFlags; -private: - - mozilla::AutoRestore mRestoreCurrentInflationContainer; - mozilla::AutoRestore mRestoreCurrentInflationContainerWidth; - -public: // Note: The copy constructor is written by the compiler automatically. You // can use that and then override specific values if you want, or you can // call Init as desired... diff --git a/layout/svg/base/src/nsSVGForeignObjectFrame.cpp b/layout/svg/base/src/nsSVGForeignObjectFrame.cpp index 52e89d6d8f45..3b1e99e07f4e 100644 --- a/layout/svg/base/src/nsSVGForeignObjectFrame.cpp +++ b/layout/svg/base/src/nsSVGForeignObjectFrame.cpp @@ -577,14 +577,6 @@ nsSVGForeignObjectFrame::DoReflow() if (!renderingContext) return; - AutoRestore restoreCurrentInflationContainer( - presContext->mCurrentInflationContainer); - AutoRestore restoreCurrentInflationContainerWidth( - presContext->mCurrentInflationContainerWidth); - - presContext->mCurrentInflationContainer = this; - presContext->mCurrentInflationContainerWidth = mRect.width; - mInReflow = true; nsHTMLReflowState reflowState(presContext, kid, diff --git a/layout/xul/base/src/nsBox.cpp b/layout/xul/base/src/nsBox.cpp index 970d0adbb3b6..934e76d97f4e 100644 --- a/layout/xul/base/src/nsBox.cpp +++ b/layout/xul/base/src/nsBox.cpp @@ -537,18 +537,6 @@ nsIFrame::Layout(nsBoxLayoutState& aState) { NS_ASSERTION(aState.GetRenderingContext(), "must have rendering context"); - nsPresContext *presContext = aState.PresContext(); - AutoRestore restoreCurrentInflationContainer(presContext-> - mCurrentInflationContainer); - AutoRestore restoreCurrentInflationContainerWidth(presContext-> - mCurrentInflationContainerWidth); - if (nsLayoutUtils::IsContainerForFontSizeInflation(mParent) && - mParent->IsBoxFrame()) { - presContext->mCurrentInflationContainer = mParent; - presContext->mCurrentInflationContainerWidth = - mParent->GetContentRect().width; - } - nsBox *box = static_cast(this); DISPLAY_LAYOUT(box); From 8a2f6350ad7922434458ca8a47e08ca779ac994f Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Sun, 20 May 2012 22:18:28 -0700 Subject: [PATCH 07/78] Make scroll frames (i.e., overflow != visible) no longer be font size inflation flow roots. This reverts part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1. (Bug 747720, patch 7) r=roc This means that font size inflation will be consistent into a container with overflow!=visible, which fixes inflation bugs on phoronix.com (bug 747720) and reddit.com (bug 748446, but currently covered up by bug 756518). --- layout/generic/nsGfxScrollFrame.cpp | 28 ------------------- layout/generic/nsGfxScrollFrame.h | 8 ------ layout/reftests/font-inflation/reftest.list | 1 + .../relevant-width-overflow-1-ref.html | 9 ++++++ .../relevant-width-overflow-1.html | 16 +++++++++++ 5 files changed, 26 insertions(+), 36 deletions(-) create mode 100644 layout/reftests/font-inflation/relevant-width-overflow-1-ref.html create mode 100644 layout/reftests/font-inflation/relevant-width-overflow-1.html diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index 4b6a39a9c838..bc1c1252a46f 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -128,16 +128,6 @@ nsHTMLScrollFrame::DestroyFrom(nsIFrame* aDestructRoot) nsContainerFrame::DestroyFrom(aDestructRoot); } -NS_IMETHODIMP -nsHTMLScrollFrame::Init(nsIContent* aContent, - nsIFrame* aParent, - nsIFrame* aPrevInFlow) -{ - nsresult rv = nsContainerFrame::Init(aContent, aParent, aPrevInFlow); - mInner.Init(); - return rv; -} - NS_IMETHODIMP nsHTMLScrollFrame::SetInitialChildList(ChildListID aListID, nsFrameList& aChildList) @@ -1073,16 +1063,6 @@ nsXULScrollFrame::DestroyFrom(nsIFrame* aDestructRoot) nsBoxFrame::DestroyFrom(aDestructRoot); } -NS_IMETHODIMP -nsXULScrollFrame::Init(nsIContent* aContent, - nsIFrame* aParent, - nsIFrame* aPrevInFlow) -{ - nsresult rv = nsBoxFrame::Init(aContent, aParent, aPrevInFlow); - mInner.Init(); - return rv; -} - NS_IMETHODIMP nsXULScrollFrame::SetInitialChildList(ChildListID aListID, nsFrameList& aChildList) @@ -1677,14 +1657,6 @@ nsGfxScrollFrameInner::~nsGfxScrollFrameInner() } } -void -nsGfxScrollFrameInner::Init() -{ - if (mOuter->GetStateBits() & NS_FRAME_FONT_INFLATION_CONTAINER) { - mOuter->AddStateBits(NS_FRAME_FONT_INFLATION_FLOW_ROOT); - } -} - /* * Callback function from AsyncScroll, used in nsGfxScrollFrameInner::ScrollTo */ diff --git a/layout/generic/nsGfxScrollFrame.h b/layout/generic/nsGfxScrollFrame.h index 1fa67f832a91..04d0add3b4a8 100644 --- a/layout/generic/nsGfxScrollFrame.h +++ b/layout/generic/nsGfxScrollFrame.h @@ -77,8 +77,6 @@ public: nsGfxScrollFrameInner(nsContainerFrame* aOuter, bool aIsRoot); ~nsGfxScrollFrameInner(); - void Init(); - typedef nsIScrollableFrame::ScrollbarStyles ScrollbarStyles; ScrollbarStyles GetScrollbarStylesFromFrame() const; @@ -384,9 +382,6 @@ public: // Called to set the child frames. We typically have three: the scroll area, // the vertical scrollbar, and the horizontal scrollbar. - NS_IMETHOD Init(nsIContent* aContent, - nsIFrame* aParent, - nsIFrame* aPrevInFlow); NS_IMETHOD SetInitialChildList(ChildListID aListID, nsFrameList& aChildList); @@ -619,9 +614,6 @@ public: // Called to set the child frames. We typically have three: the scroll area, // the vertical scrollbar, and the horizontal scrollbar. - NS_IMETHOD Init(nsIContent* aContent, - nsIFrame* aParent, - nsIFrame* aPrevInFlow); NS_IMETHOD SetInitialChildList(ChildListID aListID, nsFrameList& aChildList); diff --git a/layout/reftests/font-inflation/reftest.list b/layout/reftests/font-inflation/reftest.list index 12ba5350007b..575f81224b57 100644 --- a/layout/reftests/font-inflation/reftest.list +++ b/layout/reftests/font-inflation/reftest.list @@ -94,3 +94,4 @@ fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(f fuzzy-if(gtk2Widget,1,8) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,100) == threshold-select-combobox-contents-at-2.html threshold-select-combobox-contents-at-2-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,0) == relevant-width-1.html relevant-width-1-ref.html +test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.lineThreshold,0) == relevant-width-overflow-1.html relevant-width-overflow-1-ref.html diff --git a/layout/reftests/font-inflation/relevant-width-overflow-1-ref.html b/layout/reftests/font-inflation/relevant-width-overflow-1-ref.html new file mode 100644 index 000000000000..96f555569cd9 --- /dev/null +++ b/layout/reftests/font-inflation/relevant-width-overflow-1-ref.html @@ -0,0 +1,9 @@ + + +
+ Text in middle. +
Text in inner.
+
diff --git a/layout/reftests/font-inflation/relevant-width-overflow-1.html b/layout/reftests/font-inflation/relevant-width-overflow-1.html new file mode 100644 index 000000000000..ca6bf57c7183 --- /dev/null +++ b/layout/reftests/font-inflation/relevant-width-overflow-1.html @@ -0,0 +1,16 @@ + + + +
+
+ Text in middle. +
Text in inner.
+
+
From f7da0ff83e1774e2f5fd3cfa0eec5e98c74702b3 Mon Sep 17 00:00:00 2001 From: Phil Ringnalda Date: Sun, 20 May 2012 11:51:34 -0700 Subject: [PATCH 08/78] Bug 756885 - Bail out of test_bug624329.xul early on 10.7, where win.maximize() gives us a resize without actually maximizing, r=karlt --- toolkit/content/tests/chrome/test_bug624329.xul | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/toolkit/content/tests/chrome/test_bug624329.xul b/toolkit/content/tests/chrome/test_bug624329.xul index 8336406bead8..03e33002331f 100644 --- a/toolkit/content/tests/chrome/test_bug624329.xul +++ b/toolkit/content/tests/chrome/test_bug624329.xul @@ -54,6 +54,14 @@ function childFocused() { } function childResized() { + const isOSXLion = navigator.userAgent.indexOf("Mac OS X 10.7") != -1; + if (isOSXLion) { + todo_is(win.windowState, win.STATE_MAXIMIZED, + "A resize before being maximized breaks this test on 10.7"); + finish(); + return; + } + is(win.windowState, win.STATE_MAXIMIZED, "window should be maximized"); From 7fbb165bed21befe0a959df1ed9615379730d672 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Mon, 21 May 2012 08:41:53 +0100 Subject: [PATCH 09/78] bug 753230 - update graphite2 to upstream rev 978:c418207451a7. r=jdaggett --- gfx/graphite2/src/Code.cpp | 1 + gfx/graphite2/src/Pass.cpp | 61 ++++++++++++++++------------ gfx/graphite2/src/Silf.cpp | 3 +- gfx/graphite2/src/TtfUtil.cpp | 7 ++-- gfx/graphite2/src/call_machine.cpp | 2 - gfx/graphite2/src/direct_machine.cpp | 1 - gfx/graphite2/src/inc/Code.h | 3 +- gfx/graphite2/src/inc/Machine.h | 1 - 8 files changed, 44 insertions(+), 35 deletions(-) diff --git a/gfx/graphite2/src/Code.cpp b/gfx/graphite2/src/Code.cpp index 7b1b6e4d29a9..d3686aa8efcb 100644 --- a/gfx/graphite2/src/Code.cpp +++ b/gfx/graphite2/src/Code.cpp @@ -307,6 +307,7 @@ opcode Machine::Code::decoder::fetch_opcode(const byte * bc) case CNTXT_ITEM : valid_upto(_max.rule_length, _max.pre_context + int8(bc[0])); if (bc + 2 + bc[1] >= _max.bytecode) failure(jump_past_end); + if (_pre_context != 0) failure(nested_context_item); break; case ATTR_SET : case ATTR_ADD : diff --git a/gfx/graphite2/src/Pass.cpp b/gfx/graphite2/src/Pass.cpp index 85c0a53cae71..3c757de26f9c 100644 --- a/gfx/graphite2/src/Pass.cpp +++ b/gfx/graphite2/src/Pass.cpp @@ -102,14 +102,14 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su be::skip(p, m_sSuccess + 1); // More sanity checks - if ( reinterpret_cast(o_rule_map) > pass_end + if ( reinterpret_cast(o_rule_map + m_sSuccess*sizeof(uint16)) > pass_end || p > pass_end) return false; const size_t numEntries = be::peek(o_rule_map + m_sSuccess*sizeof(uint16)); const byte * const rule_map = p; be::skip(p, numEntries); - if (p > pass_end) return false; + if (p + 2 > pass_end) return false; m_minPreCtxt = be::read(p); m_maxPreCtxt = be::read(p); const byte * const start_states = p; @@ -120,7 +120,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su be::skip(p, m_numRules); be::skip(p); // skip reserved byte - if (p > pass_end) return false; + if (p + 2 > pass_end) return false; const size_t pass_constraint_len = be::read(p); const uint16 * const o_constraint = reinterpret_cast(p); be::skip(p, m_numRules + 1); @@ -341,6 +341,26 @@ bool Pass::runFSM(FiniteStateMachine& fsm, Slot * slot) const return true; } +#if !defined GRAPHITE2_NTRACING + +inline +Slot * input_slot(const SlotMap & slots, const int n) +{ + Slot * s = slots[slots.context() + n]; + if (!s->isCopied()) return s; + + return s->prev() ? s->prev()->next() : (s->next() ? s->next()->prev() : slots.segment.last()); +} + +inline +Slot * output_slot(const SlotMap & slots, const int n) +{ + Slot * s = slots[slots.context() + n - 1]; + return s ? s->next() : slots.segment.first(); +} + +#endif //!defined GRAPHITE2_NTRACING + void Pass::findNDoRule(Slot * & slot, Machine &m, FiniteStateMachine & fsm) const { assert(slot); @@ -366,18 +386,17 @@ void Pass::findNDoRule(Slot * & slot, Machine &m, FiniteStateMachine & fsm) cons if (r->rule->action->deletes()) fsm.slots.collectGarbage(); adjustSlot(adv, slot, fsm.slots); *dbgout << "cursor" << slotid(slot) - << json::close // Close "output" object << json::close; // Close RuelEvent object return; } else + { *dbgout << json::close // close "considered" array - << "output" << json::object - << "slots" << json::array << json::close - << "cursor" << slotid(slot->next()) - << json::close + << "output" << json::null + << "cursor" << slotid(slot->next()) << json::close; + } } } else @@ -398,23 +417,6 @@ void Pass::findNDoRule(Slot * & slot, Machine &m, FiniteStateMachine & fsm) cons #if !defined GRAPHITE2_NTRACING -inline -Slot * input_slot(const SlotMap & slots, const int n) -{ - Slot * s = slots[slots.context() + n]; - if (!s->isCopied()) return s; - - return s->prev() ? s->prev()->next() : s->next()->prev(); -} - -inline -Slot * output_slot(const SlotMap & slots, const int n) -{ - Slot * s = slots[slots.context() + n - 1]; - return s ? s->next() : slots.segment.first(); -} - - void Pass::dumpRuleEventConsidered(const FiniteStateMachine & fsm, const RuleEntry & re) const { *dbgout << "considered" << json::array; @@ -445,11 +447,18 @@ void Pass::dumpRuleEventOutput(const FiniteStateMachine & fsm, const Rule & r, S << json::close // close Rule object << json::close // close considered array << "output" << json::object + << "range" << json::flat << json::object + << "start" << slotid(input_slot(fsm.slots, 0)) + << "end" << slotid(last_slot) + << json::close // close "input" << "slots" << json::array; fsm.slots.segment.positionSlots(0); + for(Slot * slot = output_slot(fsm.slots, 0); slot != last_slot; slot = slot->next()) *dbgout << dslot(&fsm.slots.segment, slot); - *dbgout << json::close; // close "slots"; + *dbgout << json::close // close "slots" + << json::close; // close "output" object + } #endif diff --git a/gfx/graphite2/src/Silf.cpp b/gfx/graphite2/src/Silf.cpp index d837a0211859..01ae6e8c14f7 100644 --- a/gfx/graphite2/src/Silf.cpp +++ b/gfx/graphite2/src/Silf.cpp @@ -213,7 +213,8 @@ size_t Silf::readClassMap(const byte *p, size_t data_len, uint32 version) for (const uint32 *o = m_classOffsets + m_nLinear, * const o_end = m_classOffsets + m_nClass; o != o_end; ++o) { const uint16 * lookup = m_classData + *o; - if (lookup[0] == 0 // A LookupClass with no looks is a suspicious thing ... + if (*o > max_off - 4 // LookupClass doesn't stretch over max_off + || lookup[0] == 0 // A LookupClass with no looks is a suspicious thing ... || lookup[0] > (max_off - *o - 4)/2 // numIDs lookup pairs fits within (start of LookupClass' lookups array, max_off] || lookup[3] != lookup[0] - lookup[1]) // rangeShift: numIDs - searchRange return 0; diff --git a/gfx/graphite2/src/TtfUtil.cpp b/gfx/graphite2/src/TtfUtil.cpp index c82f6dbd2072..aa995e13602b 100644 --- a/gfx/graphite2/src/TtfUtil.cpp +++ b/gfx/graphite2/src/TtfUtil.cpp @@ -807,13 +807,14 @@ bool HorMetrics(gid16 nGlyphId, const void * pHmtx, size_t lHmtxSize, const void // guard against bad glyph id size_t lLsbOffset = sizeof(Sfnt::HorizontalMetric) * cLongHorMetrics + sizeof(int16) * (nGlyphId - cLongHorMetrics); // offset in bytes - if (lLsbOffset + 1 >= lHmtxSize) // + 1 because entries are two bytes wide + // We test like this as LsbOffset is an offset not a length. + if (lLsbOffset > lHmtxSize - sizeof(int16)) { nLsb = 0; return false; } nAdvWid = be::swap(phmtx[cLongHorMetrics - 1].advance_width); - nLsb = be::peek(reinterpret_cast(phmtx) + lLsbOffset); + nLsb = be::peek(reinterpret_cast(phmtx) + lLsbOffset); } return true; @@ -1177,7 +1178,7 @@ size_t LocaLookup(gid16 nGlyphId, void * GlyfLookup(const void * pGlyf, size_t nGlyfOffset, size_t nTableLen) { const uint8 * pByte = reinterpret_cast(pGlyf); - if (nGlyfOffset == size_t(-1) || nGlyfOffset > nTableLen) + if (nGlyfOffset == size_t(-1) || nGlyfOffset >= nTableLen) return NULL; return const_cast(pByte + nGlyfOffset); } diff --git a/gfx/graphite2/src/call_machine.cpp b/gfx/graphite2/src/call_machine.cpp index 831b5948796e..f06f43cbda35 100644 --- a/gfx/graphite2/src/call_machine.cpp +++ b/gfx/graphite2/src/call_machine.cpp @@ -104,8 +104,6 @@ Machine::stack_t Machine::run(const instr * program, { assert(program != 0); -// assert(_status == finished); - // Declare virtual machine registers const instr * ip = program-1; diff --git a/gfx/graphite2/src/direct_machine.cpp b/gfx/graphite2/src/direct_machine.cpp index 3d473b3c979a..09709c30336c 100644 --- a/gfx/graphite2/src/direct_machine.cpp +++ b/gfx/graphite2/src/direct_machine.cpp @@ -107,7 +107,6 @@ Machine::stack_t Machine::run(const instr * program, slotref * & is) { assert(program != 0); -// assert(_status == finished); const stack_t *sp = static_cast( direct_run(false, program, data, _stack, is, &_map)); diff --git a/gfx/graphite2/src/inc/Code.h b/gfx/graphite2/src/inc/Code.h index 82f75543fc13..f5fb81fe7a15 100644 --- a/gfx/graphite2/src/inc/Code.h +++ b/gfx/graphite2/src/inc/Code.h @@ -55,7 +55,8 @@ public: out_of_range_data, jump_past_end, arguments_exhausted, - missing_return + missing_return, + nested_context_item }; private: diff --git a/gfx/graphite2/src/inc/Machine.h b/gfx/graphite2/src/inc/Machine.h index 8cb76ae6ab13..c4ff3889175e 100644 --- a/gfx/graphite2/src/inc/Machine.h +++ b/gfx/graphite2/src/inc/Machine.h @@ -179,7 +179,6 @@ inline void Machine::check_final_stack(const int32 * const sp) if (sp < base) _status = stack_underflow; // This should be impossible now. else if (sp >= limit) _status = stack_overflow; // So should this. else if (sp != base) _status = stack_not_empty; - else _status = finished; } } // namespace vm From ae6df9b968b72b7506b3cd72248f595763e33cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A3o=20Gottwald?= Date: Mon, 21 May 2012 15:43:19 +0200 Subject: [PATCH 10/78] Bug 756759 - Remove gnomestripe's non-native fallback styling for toolbarbuttons. r=neil --- .../gnomestripe/global/toolbarbutton.css | 28 ++---------------- toolkit/themes/winstripe/global/jar.mn | 2 -- .../winstripe/global/toolbar/Lighten.png | Bin 188 -> 0 bytes .../themes/winstripe/global/toolbarbutton.css | 2 +- 4 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 toolkit/themes/winstripe/global/toolbar/Lighten.png diff --git a/toolkit/themes/gnomestripe/global/toolbarbutton.css b/toolkit/themes/gnomestripe/global/toolbarbutton.css index 717e840e886f..482910faff88 100644 --- a/toolkit/themes/gnomestripe/global/toolbarbutton.css +++ b/toolkit/themes/gnomestripe/global/toolbarbutton.css @@ -15,9 +15,7 @@ toolbarbutton { -moz-box-align: center; -moz-box-pack: center; margin: 0; - border: 1px solid transparent; padding: 3px; - background-color: transparent; color: -moz-DialogText; } @@ -40,13 +38,11 @@ toolbarbutton.tabbable { } toolbarbutton:hover { - border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; color: -moz-buttonhovertext; } toolbarbutton:hover:active, toolbarbutton[open="true"] { - border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow; padding-top: 4px; padding-bottom: 2px; -moz-padding-start: 4px; @@ -58,27 +54,12 @@ toolbarbutton[disabled="true"], toolbarbutton[disabled="true"]:hover, toolbarbutton[disabled="true"]:hover:active, toolbarbutton[disabled="true"][open="true"] { - border-color: transparent; padding: 3px; color: GrayText; } -/* ..... checked state ..... */ - -toolbarbutton[checked="true"] { - border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow !important; - padding-top: 4px !important; - padding-bottom: 2px !important; - -moz-padding-start: 4px !important; - -moz-padding-end: 2px !important; - background-image: url("chrome://global/skin/toolbar/Lighten.png"); - color: ButtonText !important; -} - -toolbarbutton[checked="true"]:hover, -toolbarbutton[checked="true"]:hover:active { - color: -moz-buttonhovertext !important; - background-color: -moz-buttonhoverface !important; +toolbarbutton[checked="true"]:not(:hover) { + color: ButtonText; } toolbarbutton:-moz-lwtheme:not(:hover):not([checked="true"]):not([open="true"]):not([disabled="true"]) { @@ -92,8 +73,6 @@ toolbarbutton:-moz-lwtheme:not(:hover):not([checked="true"]):not([open="true"]): -moz-appearance: toolbarbutton-dropdown !important; list-style-image: none; -moz-image-region: auto; - border: none !important; - background-color: transparent !important; padding: 0; margin: 0; } @@ -117,7 +96,6 @@ toolbarbutton[type="menu-button"][open="true"], toolbarbutton[type="menu-button"][disabled="true"], toolbarbutton[type="menu-button"][disabled="true"]:hover, toolbarbutton[type="menu-button"][disabled="true"]:hover:active { - border-style: none; padding: 0 !important; } @@ -130,8 +108,6 @@ toolbarbutton[type="menu-button"][disabled="true"]:hover:active { /* .......... dropmarker .......... */ .toolbarbutton-menubutton-dropmarker { - border: none !important; - background-color: transparent !important; padding: 3px; -moz-appearance: toolbarbutton-dropdown !important; list-style-image: none; diff --git a/toolkit/themes/winstripe/global/jar.mn b/toolkit/themes/winstripe/global/jar.mn index f4be5a015215..eb2b57d1f281 100644 --- a/toolkit/themes/winstripe/global/jar.mn +++ b/toolkit/themes/winstripe/global/jar.mn @@ -171,7 +171,6 @@ toolkit.jar: skin/classic/global/splitter/grip-left.gif (splitter/grip-left.gif) skin/classic/global/splitter/grip-right.gif (splitter/grip-right.gif) skin/classic/global/toolbar/chevron.gif (toolbar/chevron.gif) - skin/classic/global/toolbar/Lighten.png (toolbar/Lighten.png) skin/classic/global/toolbar/spring.png (toolbar/spring.png) skin/classic/global/tree/columnpicker.gif (tree/columnpicker.gif) skin/classic/global/tree/sort-asc.png (tree/sort-asc.png) @@ -348,7 +347,6 @@ toolkit.jar: skin/classic/aero/global/splitter/grip-left.gif (splitter/grip-left.gif) skin/classic/aero/global/splitter/grip-right.gif (splitter/grip-right.gif) skin/classic/aero/global/toolbar/chevron.gif (toolbar/chevron.gif) - skin/classic/aero/global/toolbar/Lighten.png (toolbar/Lighten.png) skin/classic/aero/global/toolbar/spring.png (toolbar/spring-aero.png) skin/classic/aero/global/tree/columnpicker.gif (tree/columnpicker.gif) skin/classic/aero/global/tree/sort-asc.png (tree/sort-asc-aero.png) diff --git a/toolkit/themes/winstripe/global/toolbar/Lighten.png b/toolkit/themes/winstripe/global/toolbar/Lighten.png deleted file mode 100644 index 26bcaef05fd1fb91cddeae9a82c327e86100c588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6v`SnfN}P*Q6H7Al^Atidb5j{| zpDI`?q@*S*7#SECDHxhr85vj^n<{7<7#bMts|a%i>S8bP^mS#w#KXxi${=nmq6QS= zEbxddW?Nn{1`MLk^{Ln>}1|G9slK^$makCucb a7lXMT<9yTFv$uf?7(8A5T-G@yGywqHfG)oP diff --git a/toolkit/themes/winstripe/global/toolbarbutton.css b/toolkit/themes/winstripe/global/toolbarbutton.css index ffcb69132a2d..7ac59ffd1dfb 100644 --- a/toolkit/themes/winstripe/global/toolbarbutton.css +++ b/toolkit/themes/winstripe/global/toolbarbutton.css @@ -75,7 +75,7 @@ toolbarbutton[checked="true"]:not([disabled="true"]) { padding-bottom: 2px; -moz-padding-start: 4px; -moz-padding-end: 2px; - background-image: url("chrome://global/skin/toolbar/Lighten.png"); + background-color: rgba(255,255,255,0.5); color: ButtonText; } From e845b8fe0aa7c6d148fd0c99515157dba397eeaf Mon Sep 17 00:00:00 2001 From: Jeff Muizelaar Date: Mon, 21 May 2012 10:22:11 -0400 Subject: [PATCH 11/78] Bug 752341. Avoid using CGContextSetTextMatrix. r=bgirard CGContextSetTextMatrix has behaviour that depends on the text drawing mode. We want consistency so avoid CGContextSetTextMatrix. --HG-- extra : rebase_source : c6e46252823586d947ec1dd19db7df980dee23f8 --- gfx/2d/DrawTargetCG.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gfx/2d/DrawTargetCG.cpp b/gfx/2d/DrawTargetCG.cpp index 6ff25328ef73..4a1ee4f3da80 100644 --- a/gfx/2d/DrawTargetCG.cpp +++ b/gfx/2d/DrawTargetCG.cpp @@ -692,14 +692,13 @@ DrawTargetCG::FillGlyphs(ScaledFont *aFont, const GlyphBuffer &aBuffer, const Pa glyphs.resize(aBuffer.mNumGlyphs); positions.resize(aBuffer.mNumGlyphs); - CGFloat xprev = aBuffer.mGlyphs[0].mPosition.x; - CGFloat yprev = aBuffer.mGlyphs[0].mPosition.y; - CGContextSetTextPosition(cg, xprev, yprev); - // Handle the flip - CGAffineTransform matrix = CGAffineTransformMakeScale(1, -1);//CGAffineTransformMake(1, 0, 0, -1, 0, -mSize.height); - // "Note that the text matrix is not a part of the graphics state" - CGContextSetTextMatrix(cg, matrix); + CGAffineTransform matrix = CGAffineTransformMakeScale(1, -1); + CGContextConcatCTM(cg, matrix); + // CGContextSetTextMatrix works differently with kCGTextClip && kCGTextFill + // It seems that it transforms the positions with TextFill and not with TextClip + // Therefore we'll avoid it. See also: + // http://cgit.freedesktop.org/cairo/commit/?id=9c0d761bfcdd28d52c83d74f46dd3c709ae0fa69 for (unsigned int i = 0; i < aBuffer.mNumGlyphs; i++) { glyphs[i] = aBuffer.mGlyphs[i].mIndex; From be36052d54cd7b7fbffe724bc0e1207b76ddcb32 Mon Sep 17 00:00:00 2001 From: Phil Ringnalda Date: Sun, 20 May 2012 15:27:45 -0700 Subject: [PATCH 12/78] Bug 705046 - Disable the chunks of test_html5_tree_construction_part2.html which touch plugins and thus expose our brokenness on 10.7, so we can unhide the rest of the mochitest-5 suite, r=hsivonen --- .../mochitest/test_html5_tree_construction_part2.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/parser/htmlparser/tests/mochitest/test_html5_tree_construction_part2.html b/parser/htmlparser/tests/mochitest/test_html5_tree_construction_part2.html index d3dacaf92535..0be8fa8bd495 100644 --- a/parser/htmlparser/tests/mochitest/test_html5_tree_construction_part2.html +++ b/parser/htmlparser/tests/mochitest/test_html5_tree_construction_part2.html @@ -17,7 +17,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=366936 + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_dotdot.html b/dom/tests/mochitest/devicestorage/test_dotdot.html new file mode 100644 index 000000000000..f54debd317ab --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_dotdot.html @@ -0,0 +1,72 @@ + + + + + Test for the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_enumerate.html b/dom/tests/mochitest/devicestorage/test_enumerate.html new file mode 100644 index 000000000000..b9af36954e56 --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_enumerate.html @@ -0,0 +1,101 @@ + + + + + Test for the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html b/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html new file mode 100644 index 000000000000..0d56d62130d4 --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html @@ -0,0 +1,50 @@ + + + + + Test for the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html b/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html new file mode 100644 index 000000000000..b84f9c151729 --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html @@ -0,0 +1,95 @@ + + + + + Test for the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_overwrite.html b/dom/tests/mochitest/devicestorage/test_overwrite.html new file mode 100644 index 000000000000..e2a342e1ee37 --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_overwrite.html @@ -0,0 +1,90 @@ + + + + + + Test for basic sanity of the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/dom/tests/mochitest/devicestorage/test_sanity.html b/dom/tests/mochitest/devicestorage/test_sanity.html new file mode 100644 index 000000000000..097765b1590e --- /dev/null +++ b/dom/tests/mochitest/devicestorage/test_sanity.html @@ -0,0 +1,72 @@ + + + + + + Test for basic sanity of the device storage API + + + + + + +Mozilla Bug 717103 +

+ +
+
+
+ + + diff --git a/layout/build/Makefile.in b/layout/build/Makefile.in index 1125f87cf511..78fa9aa263a5 100644 --- a/layout/build/Makefile.in +++ b/layout/build/Makefile.in @@ -62,6 +62,7 @@ SHARED_LIBRARY_LIBS = \ $(DEPTH)/dom/base/$(LIB_PREFIX)jsdombase_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/battery/$(LIB_PREFIX)dom_battery_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/contacts/$(LIB_PREFIX)jsdomcontacts_s.$(LIB_SUFFIX) \ + $(DEPTH)/dom/devicestorage/$(LIB_PREFIX)domdevicestorage_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/power/$(LIB_PREFIX)dom_power_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/settings/$(LIB_PREFIX)jsdomsettings_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/network/src/$(LIB_PREFIX)dom_network_s.$(LIB_SUFFIX) \ @@ -214,7 +215,7 @@ LOCAL_INCLUDES += -I$(srcdir)/../base \ -I$(srcdir)/../xul/base/src \ -I$(srcdir)/../mathml \ -I$(topsrcdir)/content/base/src \ - -I$(topsrcdir)/content/canvas/src \ + -I$(topsrcdir)/content/canvas/src \ -I$(topsrcdir)/content/html/content/src \ -I$(topsrcdir)/content/html/document/src \ -I$(topsrcdir)/content/xslt/src/base \ diff --git a/mobile/xul/installer/package-manifest.in b/mobile/xul/installer/package-manifest.in index 3bad6db98521..6f677122244a 100644 --- a/mobile/xul/installer/package-manifest.in +++ b/mobile/xul/installer/package-manifest.in @@ -168,6 +168,7 @@ @BINPATH@/components/dom_canvas.xpt @BINPATH@/components/dom_core.xpt @BINPATH@/components/dom_css.xpt +@BINPATH@/components/dom_devicestorage.xpt @BINPATH@/components/dom_events.xpt @BINPATH@/components/dom_geolocation.xpt @BINPATH@/components/dom_network.xpt diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index fd76fc5ecddd..ab09e508e450 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -3463,6 +3463,9 @@ pref("geo.enabled", true); // Enable/Disable the orientation API for content pref("device.motion.enabled", true); +// Enable/Disable the device storage API for content +pref("device.storage.enabled", false); + // Toggle which thread the HTML5 parser uses for stream parsing pref("html5.offmainthread", true); // Time in milliseconds between the time a network buffer is seen and the diff --git a/toolkit/toolkit-makefiles.sh b/toolkit/toolkit-makefiles.sh index b9c44012aa36..a925de00df54 100644 --- a/toolkit/toolkit-makefiles.sh +++ b/toolkit/toolkit-makefiles.sh @@ -18,6 +18,7 @@ MAKEFILES_dom=" dom/interfaces/canvas/Makefile dom/interfaces/core/Makefile dom/interfaces/css/Makefile + dom/interfaces/devicestorage/Makefile dom/interfaces/events/Makefile dom/interfaces/geolocation/Makefile dom/interfaces/html/Makefile From dd467d764cb7079180ef1646e2adbb74b3061947 Mon Sep 17 00:00:00 2001 From: Xi Yang Date: Tue, 22 May 2012 01:30:53 +0900 Subject: [PATCH 21/78] Bug 754869 - MustPrune should take nsAccessible*, r=surkov --- accessible/src/base/nsAccUtils.cpp | 26 +++++++++++++------------- accessible/src/base/nsAccUtils.h | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/accessible/src/base/nsAccUtils.cpp b/accessible/src/base/nsAccUtils.cpp index 1b6a448024dd..a881cd5401cd 100644 --- a/accessible/src/base/nsAccUtils.cpp +++ b/accessible/src/base/nsAccUtils.cpp @@ -461,24 +461,24 @@ nsAccUtils::TextLength(nsAccessible *aAccessible) } bool -nsAccUtils::MustPrune(nsIAccessible *aAccessible) +nsAccUtils::MustPrune(nsAccessible* aAccessible) { - PRUint32 role = nsAccUtils::Role(aAccessible); + roles::Role role = aAccessible->Role(); // We don't prune buttons any more however AT don't expect children inside of // button in general, we allow menu buttons to have children to make them // accessible. - return role == nsIAccessibleRole::ROLE_MENUITEM || - role == nsIAccessibleRole::ROLE_COMBOBOX_OPTION || - role == nsIAccessibleRole::ROLE_OPTION || - role == nsIAccessibleRole::ROLE_ENTRY || - role == nsIAccessibleRole::ROLE_FLAT_EQUATION || - role == nsIAccessibleRole::ROLE_PASSWORD_TEXT || - role == nsIAccessibleRole::ROLE_TOGGLE_BUTTON || - role == nsIAccessibleRole::ROLE_GRAPHIC || - role == nsIAccessibleRole::ROLE_SLIDER || - role == nsIAccessibleRole::ROLE_PROGRESSBAR || - role == nsIAccessibleRole::ROLE_SEPARATOR; + return role == roles::MENUITEM || + role == roles::COMBOBOX_OPTION || + role == roles::OPTION || + role == roles::ENTRY || + role == roles::FLAT_EQUATION || + role == roles::PASSWORD_TEXT || + role == roles::TOGGLE_BUTTON || + role == roles::GRAPHIC || + role == roles::SLIDER || + role == roles::PROGRESSBAR || + role == roles::SEPARATOR; } nsresult diff --git a/accessible/src/base/nsAccUtils.h b/accessible/src/base/nsAccUtils.h index 393194b0129a..02b5fcebd2eb 100644 --- a/accessible/src/base/nsAccUtils.h +++ b/accessible/src/base/nsAccUtils.h @@ -295,7 +295,7 @@ public: * Return true if the given accessible can't have children. Used when exposing * to platform accessibility APIs, should the children be pruned off? */ - static bool MustPrune(nsIAccessible *aAccessible); + static bool MustPrune(nsAccessible* aAccessible); /** * Search hint enum constants. Used by GetHeaderCellsFor() method. From 80e2fc45e7ca62467edce8d2a423d32bd416e7d8 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Mon, 21 May 2012 10:47:40 -0700 Subject: [PATCH 22/78] Bug 756813: Prevent creation of ImageLayer if ImageContainer is null r=gal --- layout/base/nsDisplayList.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 751c74a0705f..24c21cff7b90 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -1129,8 +1129,14 @@ nsDisplayBackground::TryOptimizeToImageLayer(nsDisplayListBuilder* aBuilder) *bg, layer); + nsImageRenderer* imageRenderer = &state.mImageRenderer; // We only care about images here, not gradients. - if (!state.mImageRenderer.IsRasterImage()) + if (imageRenderer->IsRasterImage()) + return false; + + nsRefPtr imageContainer = imageRenderer->GetContainer(); + // Image is not ready to be made into a layer yet + if (!imageContainer) return false; // We currently can't handle tiled or partial backgrounds. @@ -1145,7 +1151,7 @@ nsDisplayBackground::TryOptimizeToImageLayer(nsDisplayListBuilder* aBuilder) PRInt32 appUnitsPerDevPixel = presContext->AppUnitsPerDevPixel(); mDestRect = nsLayoutUtils::RectToGfxRect(state.mDestArea, appUnitsPerDevPixel); - mImageContainer = state.mImageRenderer.GetContainer(); + mImageContainer = imageContainer; // Ok, we can turn this into a layer if needed. return true; From 465e967ce9cc2c5ca9033fa86ee5f078125801e9 Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Mon, 21 May 2012 18:56:46 +0100 Subject: [PATCH 23/78] Backout a693c64dc64e (bug 715768), c520957cc03f & 713ed280a80d (bug 756767), 20cb25a8b8ba (bug 756454), f3b5ad2320cb (bug 756424) for crashes --- gfx/2d/2D.h | 10 +- gfx/2d/DrawTargetD2D.cpp | 103 +- gfx/2d/DrawTargetD2D.h | 10 +- gfx/2d/Factory.cpp | 16 - gfx/2d/HelpersD2D.h | 10 + gfx/2d/Makefile.in | 1 - gfx/2d/ShadersD2D.fx | 2 - gfx/2d/ShadersD2D.h | 22403 ++++++++++++++-------------- gfx/2d/SourceSurfaceD2D.cpp | 13 +- gfx/2d/SourceSurfaceD2D.h | 1 + gfx/2d/SourceSurfaceD2DTarget.cpp | 2 +- gfx/2d/SourceSurfaceD2DTarget.h | 2 +- gfx/2d/SourceSurfaceRawData.cpp | 30 - gfx/2d/SourceSurfaceRawData.h | 44 - gfx/2d/Tools.h | 13 - gfx/2d/gfx2d.vcxproj | 238 +- gfx/thebes/gfxContext.cpp | 9 - gfx/thebes/gfxContext.h | 1 - gfx/thebes/gfxPattern.cpp | 2 - gfx/thebes/gfxPlatform.cpp | 35 +- gfx/thebes/gfxPlatform.h | 5 - modules/libpref/src/init/all.js | 1 - 22 files changed, 11399 insertions(+), 11552 deletions(-) delete mode 100644 gfx/2d/SourceSurfaceRawData.cpp delete mode 100644 gfx/2d/SourceSurfaceRawData.h diff --git a/gfx/2d/2D.h b/gfx/2d/2D.h index 3154102116fa..6e6d573922d2 100644 --- a/gfx/2d/2D.h +++ b/gfx/2d/2D.h @@ -311,7 +311,7 @@ class DataSourceSurface : public SourceSurface public: virtual SurfaceType GetType() const { return SURFACE_DATA; } /* Get the raw bitmap data of the surface */ - virtual uint8_t *GetData() = 0; + virtual unsigned char *GetData() = 0; /* * Stride of the surface, distance in bytes between the start of the image * data belonging to row y and row y+1. This may be negative. @@ -748,8 +748,8 @@ public: return mUserData.Get(key); } - /* Within this rectangle all pixels will be opaque by the time the result of - * this DrawTarget is first used for drawing. Either by the underlying surface + /* Within this rectangle all pixels will be opaque by the time the result of + * this DrawTarget is first used for drawing. Either by the underlying surface * being used as an input to external drawing, or Snapshot() being called. * This rectangle is specified in device space. */ @@ -810,7 +810,7 @@ public: */ static TemporaryRef CreateDataSourceSurface(const IntSize &aSize, SurfaceFormat aFormat); - + /* * This creates a simple data source surface for some existing data. It will * wrap this data and the data for this source surface. The caller is @@ -818,7 +818,7 @@ public: * surface. */ static TemporaryRef - CreateWrappingDataSourceSurface(uint8_t *aData, int32_t aStride, + CreateDataSourceSurfaceFromData(unsigned char *aData, int32_t aStride, const IntSize &aSize, SurfaceFormat aFormat); #ifdef WIN32 diff --git a/gfx/2d/DrawTargetD2D.cpp b/gfx/2d/DrawTargetD2D.cpp index 6622d342135a..6fad7b95ec73 100644 --- a/gfx/2d/DrawTargetD2D.cpp +++ b/gfx/2d/DrawTargetD2D.cpp @@ -258,7 +258,25 @@ DrawTargetD2D::DrawSurface(SourceSurface *aSurface, bitmap = srcSurf->GetBitmap(); if (!bitmap) { - return; + if (aSource.width > rt->GetMaximumBitmapSize() || + aSource.height > rt->GetMaximumBitmapSize()) { + gfxDebug() << "Bitmap source larger than texture size specified. DrawBitmap will silently fail."; + // Don't know how to deal with this yet. + return; + } + + int stride = srcSurf->GetSize().width * BytesPerPixel(srcSurf->GetFormat()); + + unsigned char *data = srcSurf->mRawData + + (uint32_t)aSource.y * stride + + (uint32_t)aSource.x * BytesPerPixel(srcSurf->GetFormat()); + + D2D1_BITMAP_PROPERTIES props = + D2D1::BitmapProperties(D2D1::PixelFormat(DXGIFormat(srcSurf->GetFormat()), AlphaMode(srcSurf->GetFormat()))); + mRT->CreateBitmap(D2D1::SizeU(UINT32(aSource.width), UINT32(aSource.height)), data, stride, props, byRef(bitmap)); + + srcRect.x -= (uint32_t)aSource.x; + srcRect.y -= (uint32_t)aSource.y; } } break; @@ -269,30 +287,6 @@ DrawTargetD2D::DrawSurface(SourceSurface *aSurface, AddDependencyOnSource(srcSurf); } break; - case SURFACE_DATA: - { - DataSourceSurface *srcSurf = static_cast(aSurface); - if (aSource.width > rt->GetMaximumBitmapSize() || - aSource.height > rt->GetMaximumBitmapSize()) { - gfxDebug() << "Bitmap source larger than texture size specified. DrawBitmap will silently fail."; - // Don't know how to deal with this yet. - return; - } - - int stride = srcSurf->Stride(); - - unsigned char *data = srcSurf->GetData() + - (uint32_t)aSource.y * stride + - (uint32_t)aSource.x * BytesPerPixel(srcSurf->GetFormat()); - - D2D1_BITMAP_PROPERTIES props = - D2D1::BitmapProperties(D2D1::PixelFormat(DXGIFormat(srcSurf->GetFormat()), AlphaMode(srcSurf->GetFormat()))); - mRT->CreateBitmap(D2D1::SizeU(UINT32(aSource.width), UINT32(aSource.height)), data, stride, props, byRef(bitmap)); - - srcRect.x -= (uint32_t)aSource.x; - srcRect.y -= (uint32_t)aSource.y; - } - break; } rt->DrawBitmap(bitmap, D2DRect(aDest), aOptions.mAlpha, D2DFilter(aSurfOptions.mFilter), D2DRect(srcRect)); @@ -1986,7 +1980,11 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha) bitmap = surf->mBitmap; if (!bitmap) { - return NULL; + bitmap = CreatePartialBitmapForSurface(surf, mat); + + if (!bitmap) { + return NULL; + } } } break; @@ -1998,17 +1996,6 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha) AddDependencyOnSource(surf); } break; - case SURFACE_DATA: - { - DataSourceSurface *dataSurf = - static_cast(pat->mSurface.get()); - bitmap = CreatePartialBitmapForSurface(dataSurf, mat); - - if (!bitmap) { - return NULL; - } - } - break; } mRT->CreateBitmapBrush(bitmap, @@ -2099,10 +2086,10 @@ DrawTargetD2D::CreateStrokeStyleForOptions(const StrokeOptions &aStrokeOptions) return style; } -TemporaryRef +TemporaryRef DrawTargetD2D::CreateGradientTexture(const GradientStopsD2D *aStops) { - CD3D10_TEXTURE2D_DESC desc(DXGI_FORMAT_B8G8R8A8_UNORM, 4096, 1, 1, 1); + CD3D10_TEXTURE1D_DESC desc(DXGI_FORMAT_B8G8R8A8_UNORM, 4096, 1, 1); std::vector rawStops; rawStops.resize(aStops->mStopCollection->GetGradientStopCount()); @@ -2157,10 +2144,9 @@ DrawTargetD2D::CreateGradientTexture(const GradientStopsD2D *aStops) D3D10_SUBRESOURCE_DATA data; data.pSysMem = &textureData.front(); - data.SysMemPitch = 4096 * 4; - RefPtr tex; - mDevice->CreateTexture2D(&desc, &data, byRef(tex)); + RefPtr tex; + mDevice->CreateTexture1D(&desc, &data, byRef(tex)); return tex; } @@ -2230,7 +2216,7 @@ DrawTargetD2D::CreateTextureForAnalysis(IDWriteGlyphRunAnalysis *aAnalysis, cons return tex; } TemporaryRef -DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix &aMatrix) +DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix &aMatrix) { RefPtr bitmap; @@ -2252,9 +2238,7 @@ DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix rect = invTransform.TransformBounds(rect); rect.RoundOut(); - IntSize size = aSurface->GetSize(); - - Rect uploadRect(0, 0, size.width, size.height); + Rect uploadRect(0, 0, aSurface->mSize.width, aSurface->mSize.height); // Calculate the rectangle on the source bitmap that touches our // surface. @@ -2266,25 +2250,24 @@ DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix return NULL; } - int stride = aSurface->Stride(); - if (uploadRect.width <= mRT->GetMaximumBitmapSize() && uploadRect.height <= mRT->GetMaximumBitmapSize()) { - int Bpp = BytesPerPixel(aSurface->GetFormat()); + int Bpp = BytesPerPixel(aSurface->mFormat); + int stride = Bpp * aSurface->mSize.width; // A partial upload will suffice. mRT->CreateBitmap(D2D1::SizeU(uint32_t(uploadRect.width), uint32_t(uploadRect.height)), - aSurface->GetData() + int(uploadRect.x) * 4 + int(uploadRect.y) * stride, + aSurface->mRawData + int(uploadRect.x) * 4 + int(uploadRect.y) * stride, stride, - D2D1::BitmapProperties(D2DPixelFormat(aSurface->GetFormat())), + D2D1::BitmapProperties(D2DPixelFormat(aSurface->mFormat)), byRef(bitmap)); aMatrix.Translate(uploadRect.x, uploadRect.y); return bitmap; } else { - int Bpp = BytesPerPixel(aSurface->GetFormat()); + int Bpp = BytesPerPixel(aSurface->mFormat); if (Bpp != 4) { // This shouldn't actually happen in practice! @@ -2292,13 +2275,15 @@ DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix return NULL; } - ImageHalfScaler scaler(aSurface->GetData(), stride, size); + int stride = Bpp * aSurface->mSize.width; + + ImageHalfScaler scaler(aSurface->mRawData, stride, IntSize(aSurface->mSize)); // Calculate the maximum width/height of the image post transform. - Point topRight = transform * Point(size.width, 0); + Point topRight = transform * Point(aSurface->mSize.width, 0); Point topLeft = transform * Point(0, 0); - Point bottomRight = transform * Point(size.width, size.height); - Point bottomLeft = transform * Point(0, size.height); + Point bottomRight = transform * Point(aSurface->mSize.width, aSurface->mSize.height); + Point bottomLeft = transform * Point(0, aSurface->mSize.height); IntSize scaleSize; @@ -2321,10 +2306,10 @@ DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix mRT->CreateBitmap(D2D1::SizeU(newSize.width, newSize.height), scaler.GetScaledData(), scaler.GetStride(), - D2D1::BitmapProperties(D2DPixelFormat(aSurface->GetFormat())), + D2D1::BitmapProperties(D2DPixelFormat(aSurface->mFormat)), byRef(bitmap)); - aMatrix.Scale(size.width / newSize.width, size.height / newSize.height); + aMatrix.Scale(aSurface->mSize.width / newSize.width, aSurface->mSize.height / newSize.height); return bitmap; } } @@ -2343,7 +2328,7 @@ DrawTargetD2D::SetupEffectForRadialGradient(const RadialGradientPattern *aPatter const GradientStopsD2D *stops = static_cast(aPattern->mStops.get()); - RefPtr tex = CreateGradientTexture(stops); + RefPtr tex = CreateGradientTexture(stops); RefPtr srView; mDevice->CreateShaderResourceView(tex, NULL, byRef(srView)); diff --git a/gfx/2d/DrawTargetD2D.h b/gfx/2d/DrawTargetD2D.h index 88ac4557e876..489b32c55339 100644 --- a/gfx/2d/DrawTargetD2D.h +++ b/gfx/2d/DrawTargetD2D.h @@ -177,13 +177,13 @@ private: TemporaryRef CreateBrushForPattern(const Pattern &aPattern, Float aAlpha = 1.0f); - TemporaryRef CreateGradientTexture(const GradientStopsD2D *aStops); + TemporaryRef CreateGradientTexture(const GradientStopsD2D *aStops); TemporaryRef CreateTextureForAnalysis(IDWriteGlyphRunAnalysis *aAnalysis, const IntRect &aBounds); - // This creates a (partially) uploaded bitmap for a DataSourceSurface. It - // uploads the minimum requirement and possibly downscales. It adjusts the - // input Matrix to compensate. - TemporaryRef CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix &aMatrix); + // This creates a partially uploaded bitmap for a SourceSurfaceD2D that is + // too big to fit in a bitmap. It adjusts the passed Matrix to accomodate the + // partial upload. + TemporaryRef CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix &aMatrix); void SetupEffectForRadialGradient(const RadialGradientPattern *aPattern); void SetupStateForRendering(); diff --git a/gfx/2d/Factory.cpp b/gfx/2d/Factory.cpp index b5c3cdd4150c..6c15208ca068 100644 --- a/gfx/2d/Factory.cpp +++ b/gfx/2d/Factory.cpp @@ -37,8 +37,6 @@ #include "DrawTargetDual.h" -#include "SourceSurfaceRawData.h" - #include "Logging.h" #ifdef PR_LOGGING @@ -363,19 +361,5 @@ Factory::CreateDrawTargetForCairoSurface(cairo_surface_t* aSurface) return NULL; } -TemporaryRef -Factory::CreateWrappingDataSourceSurface(uint8_t *aData, int32_t aStride, - const IntSize &aSize, - SurfaceFormat aFormat) -{ - RefPtr newSurf = new SourceSurfaceRawData(); - - if (newSurf->InitWrappingData(aData, aSize, aStride, aFormat, false)) { - return newSurf; - } - - return NULL; -} - } } diff --git a/gfx/2d/HelpersD2D.h b/gfx/2d/HelpersD2D.h index c32095e1925d..88de452356f7 100644 --- a/gfx/2d/HelpersD2D.h +++ b/gfx/2d/HelpersD2D.h @@ -132,6 +132,16 @@ static inline D2D1_PIXEL_FORMAT D2DPixelFormat(SurfaceFormat aFormat) return D2D1::PixelFormat(DXGIFormat(aFormat), AlphaMode(aFormat)); } +static inline int BytesPerPixel(SurfaceFormat aFormat) +{ + switch (aFormat) { + case FORMAT_A8: + return 1; + default: + return 4; + } +} + static bool IsPatternSupportedByD2D(const Pattern &aPattern) { if (aPattern.GetType() != PATTERN_RADIAL_GRADIENT) { diff --git a/gfx/2d/Makefile.in b/gfx/2d/Makefile.in index 79c7884dad5f..9e735e8ba981 100644 --- a/gfx/2d/Makefile.in +++ b/gfx/2d/Makefile.in @@ -43,7 +43,6 @@ CPPSRCS = \ ScaledFontBase.cpp \ DrawTargetDual.cpp \ ImageScaling.cpp \ - SourceSurfaceRawData.cpp \ $(NULL) ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) diff --git a/gfx/2d/ShadersD2D.fx b/gfx/2d/ShadersD2D.fx index 7fa6ec7e2af7..2cc07aeeed4f 100644 --- a/gfx/2d/ShadersD2D.fx +++ b/gfx/2d/ShadersD2D.fx @@ -421,7 +421,6 @@ technique10 SampleTextTexture { pass Unmasked { - SetRasterizerState(TextureRast); SetBlendState(bTextBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF ); SetVertexShader(CompileShader(vs_4_0_level_9_3, SampleTextureVS())); SetGeometryShader(NULL); @@ -429,7 +428,6 @@ technique10 SampleTextTexture } pass Masked { - SetRasterizerState(TextureRast); SetBlendState(bTextBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF ); SetVertexShader(CompileShader(vs_4_0_level_9_3, SampleTextureVS())); SetGeometryShader(NULL); diff --git a/gfx/2d/ShadersD2D.h b/gfx/2d/ShadersD2D.h index ac3fec766dac..4185f4179594 100644 --- a/gfx/2d/ShadersD2D.h +++ b/gfx/2d/ShadersD2D.h @@ -2,11208 +2,11201 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#if 0 -// -// FX Version: fx_4_0 -// Child effect (requires effect pool): false -// -// 3 local buffer(s) -// -cbuffer cb0 -{ - float4 QuadDesc; // Offset: 0, size: 16 - float4 TexCoords; // Offset: 16, size: 16 - float4 MaskTexCoords; // Offset: 32, size: 16 - float4 TextColor; // Offset: 48, size: 16 -} - -cbuffer cb1 -{ - float4 BlurOffsetsH[3]; // Offset: 0, size: 48 - float4 BlurOffsetsV[3]; // Offset: 48, size: 48 - float4 BlurWeights[3]; // Offset: 96, size: 48 - float4 ShadowColor; // Offset: 144, size: 16 -} - -cbuffer cb2 -{ - float3x3 DeviceSpaceToUserSpace; // Offset: 0, size: 44 - float2 dimensions; // Offset: 48, size: 8 - float3 diff; // Offset: 64, size: 12 - float2 center1; // Offset: 80, size: 8 - float A; // Offset: 88, size: 4 - float radius1; // Offset: 92, size: 4 - float sq_radius1; // Offset: 96, size: 4 -} - -// -// 11 local object(s) -// -Texture2D tex; -Texture2D mask; -SamplerState sSampler -{ - Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); - Texture = tex; - AddressU = uint(CLAMP /* 3 */); - AddressV = uint(CLAMP /* 3 */); -}; -SamplerState sWrapSampler -{ - Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); - Texture = tex; - AddressU = uint(WRAP /* 1 */); - AddressV = uint(WRAP /* 1 */); -}; -SamplerState sMirrorSampler -{ - Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); - Texture = tex; - AddressU = uint(MIRROR /* 2 */); - AddressV = uint(MIRROR /* 2 */); -}; -SamplerState sMaskSampler -{ - Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); - Texture = mask; - AddressU = uint(CLAMP /* 3 */); - AddressV = uint(CLAMP /* 3 */); -}; -SamplerState sShadowSampler -{ - Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); - Texture = tex; - AddressU = uint(BORDER /* 4 */); - AddressV = uint(BORDER /* 4 */); - BorderColor = float4(0, 0, 0, 0); -}; -RasterizerState TextureRast -{ - ScissorEnable = bool(FALSE /* 0 */); - CullMode = uint(NONE /* 1 */); -}; -BlendState ShadowBlendH -{ - BlendEnable[0] = bool(FALSE /* 0 */); - RenderTargetWriteMask[0] = byte(0x0f); -}; -BlendState ShadowBlendV -{ - BlendEnable[0] = bool(TRUE /* 1 */); - SrcBlend[0] = uint(ONE /* 2 */); - DestBlend[0] = uint(INV_SRC_ALPHA /* 6 */); - BlendOp[0] = uint(ADD /* 1 */); - SrcBlendAlpha[0] = uint(ONE /* 2 */); - DestBlendAlpha[0] = uint(INV_SRC_ALPHA /* 6 */); - BlendOpAlpha[0] = uint(ADD /* 1 */); - RenderTargetWriteMask[0] = byte(0x0f); -}; -BlendState bTextBlend -{ - AlphaToCoverageEnable = bool(FALSE /* 0 */); - BlendEnable[0] = bool(TRUE /* 1 */); - SrcBlend[0] = uint(SRC1_COLOR /* 16 */); - DestBlend[0] = uint(INV_SRC1_COLOR /* 17 */); - BlendOp[0] = uint(ADD /* 1 */); - SrcBlendAlpha[0] = uint(SRC1_ALPHA /* 18 */); - DestBlendAlpha[0] = uint(INV_SRC1_ALPHA /* 19 */); - BlendOpAlpha[0] = uint(ADD /* 1 */); - RenderTargetWriteMask[0] = byte(0x0f); -}; - -// -// 5 technique(s) -// -technique10 SampleTexture -{ - pass P0 - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // tex texture float4 2d 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - texld r0, t0, s0 - mov oC0, r0 - - // approximately 2 instruction slots used (1 texture, 1 arithmetic) - ps_4_0 - dcl_sampler s0, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_input_ps linear v1.xy - dcl_output o0.xyzw - sample o0.xyzw, v1.xyxx, t0.xyzw, s0 - ret - // Approximately 2 instruction slots used - - }; - } - -} - -technique10 SampleRadialGradient -{ - pass APos - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c3, 0.5, 0, 0, 0 - def c4, 1, -1, 0, -0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -c2.x - mul r0.w, r0.w, c1.z - mov r0.z, c1.w - dp3 r0.x, r0, c0 - mad r0.y, r0.x, r0.x, -r0.w - abs r0.z, r0.y - rsq r0.z, r0.z - rcp r1.x, r0.z - mov r1.yz, -r1.x - add r0.xzw, r0.x, r1.xyyz - rcp r1.x, c1.z - mul r0.xzw, r0, r1.x - mov r1.w, c1.w - mad r1.xyz, r0.xzww, c0.z, r1.w - cmp r2.x, r1.x, r0.x, r0.w - cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw - mov r2.y, c3.x - texld r1, t0, s1 - texld r2, r2, s0 - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - add r0.w, r0.w, r0.x - cmp r0.x, r0.w, r0.x, r0.z - cmp r1, -r0.x, c4.z, r1 - cmp r0, r0.y, r1, c4.z - mov oC0, r0 - - // approximately 28 instruction slots used (2 texture, 26 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[7], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 3 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - add r0.x, r0.x, -cb0[6].x - mul r0.x, r0.x, cb0[5].z - mad r0.x, r0.z, r0.z, -r0.x - lt r0.y, r0.x, l(0.000000) - sqrt r1.x, |r0.x| - mov r1.y, -r1.x - add r0.xz, r0.zzzz, r1.xxyx - div r0.xz, r0.xxzx, cb0[5].zzzz - mul r1.xy, r0.xzxx, cb0[4].zzzz - ge r1.xy, r1.xyxx, -cb0[5].wwww - and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) - add r0.x, -r0.z, r0.x - mad r2.x, r1.x, r0.x, r0.z - mov r2.y, l(0.500000) - sample r2.xyzw, r2.xyxx, t0.xyzw, s0 - if_nz r0.y - mov o0.xyzw, l(0,0,0,0) - ret - endif - max r0.x, r1.y, r1.x - ge r0.x, l(0.000000), r0.x - if_nz r0.x - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r2.xyz, r2.wwww, r2.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r2.xyzw - ret - // Approximately 33 instruction slots used - - }; - } - - pass A0 - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c2, 0.5, 0, 0, 0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - mul r0.w, c1.w, c1.w - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -r0.w - mul r0.w, r0.w, c2.x - mov r0.z, c1.w - dp3 r0.x, r0, c0 - rcp r0.x, r0.x - mul r0.x, r0.x, r0.w - mov r0.y, c2.x - texld r1, t0, s1 - texld r2, r0, s0 - mov r0.w, c1.w - mad r0.x, r0.x, -c0.z, -r0.w - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - cmp r0, r0.x, c2.y, r1 - mov oC0, r0 - - // approximately 18 instruction slots used (2 texture, 16 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[6], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 2 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - mad r0.x, -cb0[5].w, cb0[5].w, r0.x - mul r0.x, r0.x, l(0.500000) - div r0.x, r0.x, r0.z - mul r0.z, r0.x, cb0[4].z - ge r0.z, -cb0[5].w, r0.z - mov r0.y, l(0.500000) - sample r1.xyzw, r0.xyxx, t0.xyzw, s0 - if_nz r0.z - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r1.xyz, r1.wwww, r1.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r1.xyzw - ret - // Approximately 19 instruction slots used - - }; - } - - pass APosWrap - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sWrapSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c3, 0.5, 0, 0, 0 - def c4, 1, -1, 0, -0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -c2.x - mul r0.w, r0.w, c1.z - mov r0.z, c1.w - dp3 r0.x, r0, c0 - mad r0.y, r0.x, r0.x, -r0.w - abs r0.z, r0.y - rsq r0.z, r0.z - rcp r1.x, r0.z - mov r1.yz, -r1.x - add r0.xzw, r0.x, r1.xyyz - rcp r1.x, c1.z - mul r0.xzw, r0, r1.x - mov r1.w, c1.w - mad r1.xyz, r0.xzww, c0.z, r1.w - cmp r2.x, r1.x, r0.x, r0.w - cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw - mov r2.y, c3.x - texld r1, t0, s1 - texld r2, r2, s0 - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - add r0.w, r0.w, r0.x - cmp r0.x, r0.w, r0.x, r0.z - cmp r1, -r0.x, c4.z, r1 - cmp r0, r0.y, r1, c4.z - mov oC0, r0 - - // approximately 28 instruction slots used (2 texture, 26 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[7], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 3 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - add r0.x, r0.x, -cb0[6].x - mul r0.x, r0.x, cb0[5].z - mad r0.x, r0.z, r0.z, -r0.x - lt r0.y, r0.x, l(0.000000) - sqrt r1.x, |r0.x| - mov r1.y, -r1.x - add r0.xz, r0.zzzz, r1.xxyx - div r0.xz, r0.xxzx, cb0[5].zzzz - mul r1.xy, r0.xzxx, cb0[4].zzzz - ge r1.xy, r1.xyxx, -cb0[5].wwww - and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) - add r0.x, -r0.z, r0.x - mad r2.x, r1.x, r0.x, r0.z - mov r2.y, l(0.500000) - sample r2.xyzw, r2.xyxx, t0.xyzw, s0 - if_nz r0.y - mov o0.xyzw, l(0,0,0,0) - ret - endif - max r0.x, r1.y, r1.x - ge r0.x, l(0.000000), r0.x - if_nz r0.x - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r2.xyz, r2.wwww, r2.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r2.xyzw - ret - // Approximately 33 instruction slots used - - }; - } - - pass A0Wrap - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sWrapSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c2, 0.5, 0, 0, 0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - mul r0.w, c1.w, c1.w - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -r0.w - mul r0.w, r0.w, c2.x - mov r0.z, c1.w - dp3 r0.x, r0, c0 - rcp r0.x, r0.x - mul r0.x, r0.x, r0.w - mov r0.y, c2.x - texld r1, t0, s1 - texld r2, r0, s0 - mov r0.w, c1.w - mad r0.x, r0.x, -c0.z, -r0.w - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - cmp r0, r0.x, c2.y, r1 - mov oC0, r0 - - // approximately 18 instruction slots used (2 texture, 16 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[6], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 2 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - mad r0.x, -cb0[5].w, cb0[5].w, r0.x - mul r0.x, r0.x, l(0.500000) - div r0.x, r0.x, r0.z - mul r0.z, r0.x, cb0[4].z - ge r0.z, -cb0[5].w, r0.z - mov r0.y, l(0.500000) - sample r1.xyzw, r0.xyxx, t0.xyzw, s0 - if_nz r0.z - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r1.xyz, r1.wwww, r1.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r1.xyzw - ret - // Approximately 19 instruction slots used - - }; - } - - pass APosMirror - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sMirrorSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c3, 0.5, 0, 0, 0 - def c4, 1, -1, 0, -0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -c2.x - mul r0.w, r0.w, c1.z - mov r0.z, c1.w - dp3 r0.x, r0, c0 - mad r0.y, r0.x, r0.x, -r0.w - abs r0.z, r0.y - rsq r0.z, r0.z - rcp r1.x, r0.z - mov r1.yz, -r1.x - add r0.xzw, r0.x, r1.xyyz - rcp r1.x, c1.z - mul r0.xzw, r0, r1.x - mov r1.w, c1.w - mad r1.xyz, r0.xzww, c0.z, r1.w - cmp r2.x, r1.x, r0.x, r0.w - cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw - mov r2.y, c3.x - texld r1, t0, s1 - texld r2, r2, s0 - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - add r0.w, r0.w, r0.x - cmp r0.x, r0.w, r0.x, r0.z - cmp r1, -r0.x, c4.z, r1 - cmp r0, r0.y, r1, c4.z - mov oC0, r0 - - // approximately 28 instruction slots used (2 texture, 26 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[7], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 3 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - add r0.x, r0.x, -cb0[6].x - mul r0.x, r0.x, cb0[5].z - mad r0.x, r0.z, r0.z, -r0.x - lt r0.y, r0.x, l(0.000000) - sqrt r1.x, |r0.x| - mov r1.y, -r1.x - add r0.xz, r0.zzzz, r1.xxyx - div r0.xz, r0.xxzx, cb0[5].zzzz - mul r1.xy, r0.xzxx, cb0[4].zzzz - ge r1.xy, r1.xyxx, -cb0[5].wwww - and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) - add r0.x, -r0.z, r0.x - mad r2.x, r1.x, r0.x, r0.z - mov r2.y, l(0.500000) - sample r2.xyzw, r2.xyxx, t0.xyzw, s0 - if_nz r0.y - mov o0.xyzw, l(0,0,0,0) - ret - endif - max r0.x, r1.y, r1.x - ge r0.x, l(0.000000), r0.x - if_nz r0.x - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r2.xyz, r2.wwww, r2.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r2.xyzw - ret - // Approximately 33 instruction slots used - - }; - } - - pass A0Mirror - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 - // float2 dimensions; // Offset: 48 Size: 8 - // float3 diff; // Offset: 64 Size: 12 [unused] - // float2 center1; // Offset: 80 Size: 8 [unused] - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 [unused] - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // cb2 cbuffer NA NA 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) - // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) - // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) - // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c6, 1, 0.5, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad r0.xy, v0, c1.zwzw, c1 - add r0.z, r0.x, c6.x - mul r0.z, r0.z, c5.x - mul r1.x, r0.z, c6.y - add r0.z, -r0.y, c6.x - add oPos.xy, r0, c0 - mul r0.x, r0.z, c5.y - mul r1.y, r0.x, c6.y - mov r1.z, c6.x - dp3 oT0.w, r1, c3 - dp3 oT0.z, r1, c4 - mov oPos.zw, c6.xyzx - - // approximately 13 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_constantbuffer cb1[4], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - dcl_temps 2 - mov o0.zw, l(0,0,0,1.000000) - mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.xy, r0.xyxx - add r0.x, r0.x, l(1.000000) - add r0.y, -r0.y, l(1.000000) - mul r0.xy, r0.xyxx, cb1[3].xyxx - mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) - mov r1.z, l(1.000000) - dp3 o1.z, r1.xyzx, cb1[0].xyzx - dp3 o1.w, r1.xyzx, cb1[1].xyzx - mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx - ret - // Approximately 12 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb2 - // { - // - // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] - // float2 dimensions; // Offset: 48 Size: 8 [unused] - // float3 diff; // Offset: 64 Size: 12 - // float2 center1; // Offset: 80 Size: 8 - // float A; // Offset: 88 Size: 4 [unused] - // float radius1; // Offset: 92 Size: 4 - // float sq_radius1; // Offset: 96 Size: 4 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sMirrorSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb2 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - def c2, 0.5, 0, 0, 0 - dcl t0 - dcl_2d s0 - dcl_2d s1 - mul r0.w, c1.w, c1.w - add r0.xy, t0.wzzw, -c1 - dp2add r0.w, r0, r0, -r0.w - mul r0.w, r0.w, c2.x - mov r0.z, c1.w - dp3 r0.x, r0, c0 - rcp r0.x, r0.x - mul r0.x, r0.x, r0.w - mov r0.y, c2.x - texld r1, t0, s1 - texld r2, r0, s0 - mov r0.w, c1.w - mad r0.x, r0.x, -c0.z, -r0.w - mul r2.xyz, r2.w, r2 - mul r1, r1.w, r2 - cmp r0, r0.x, c2.y, r1 - mov oC0, r0 - - // approximately 18 instruction slots used (2 texture, 16 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[6], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 2 - add r0.xy, v1.zwzz, -cb0[5].xyxx - mov r0.z, cb0[5].w - dp3 r0.z, r0.xyzx, cb0[4].xyzx - dp2 r0.x, r0.xyxx, r0.xyxx - mad r0.x, -cb0[5].w, cb0[5].w, r0.x - mul r0.x, r0.x, l(0.500000) - div r0.x, r0.x, r0.z - mul r0.z, r0.x, cb0[4].z - ge r0.z, -cb0[5].w, r0.z - mov r0.y, l(0.500000) - sample r1.xyzw, r0.xyxx, t0.xyzw, s0 - if_nz r0.z - mov o0.xyzw, l(0,0,0,0) - ret - endif - mul r1.xyz, r1.wwww, r1.xyzx - sample r0.xyzw, v1.xyxx, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, r1.xyzw - ret - // Approximately 19 instruction slots used - - }; - } - -} - -technique10 SampleMaskedTexture -{ - pass P0 - { - RasterizerState = TextureRast; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - dcl_2d s1 - mov r0.xy, t0.wzzw - texld r1, t0, s0 - texld r0, r0, s1 - mul r0, r0.w, r1 - mov oC0, r0 - - // approximately 5 instruction slots used (2 texture, 3 arithmetic) - ps_4_0 - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 2 - sample r0.xyzw, v1.xyxx, t0.xyzw, s0 - sample r1.xyzw, v1.zwzz, t1.xyzw, s1 - mul o0.xyzw, r0.xyzw, r1.wwww - ret - // Approximately 4 instruction slots used - - }; - } - -} - -technique10 SampleTextureWithShadow -{ - pass P0 - { - RasterizerState = TextureRast; - AB_BlendFactor = float4(1, 1, 1, 1); - AB_SampleMask = uint(0xffffffff); - BlendState = ShadowBlendH; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb1 - // { - // - // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 - // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 [unused] - // float4 BlurWeights[3]; // Offset: 96 Size: 48 - // float4 ShadowColor; // Offset: 144 Size: 16 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sShadowSampler sampler NA NA 0 1 - // tex texture float4 2d 0 1 - // cb1 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 0 3 ( FLT, FLT, FLT, FLT) - // c3 cb0 6 4 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - add r0.x, t0.x, c0.y - mov r0.y, t0.y - add r1.x, t0.x, c0.x - mov r1.y, t0.y - texld r0, r0, s0 - texld r1, r1, s0 - mul r0.x, r0.w, c3.y - mad r0.x, c3.x, r1.w, r0.x - add r1.x, t0.x, c0.z - mov r1.y, t0.y - add r2.x, t0.x, c0.w - mov r2.y, t0.y - texld r1, r1, s0 - texld r2, r2, s0 - mad r0.x, c3.z, r1.w, r0.x - mad r0.x, c3.w, r2.w, r0.x - add r1.x, t0.x, c1.x - mov r1.y, t0.y - add r2.x, t0.x, c1.y - mov r2.y, t0.y - texld r1, r1, s0 - texld r2, r2, s0 - mad r0.x, c4.x, r1.w, r0.x - mad r0.x, c4.y, r2.w, r0.x - add r1.x, t0.x, c1.z - mov r1.y, t0.y - add r2.x, t0.x, c1.w - mov r2.y, t0.y - texld r1, r1, s0 - texld r2, r2, s0 - mad r0.x, c4.z, r1.w, r0.x - mad r0.x, c4.w, r2.w, r0.x - add r1.x, t0.x, c2.x - mov r1.y, t0.y - texld r1, r1, s0 - mad r0.x, c5.x, r1.w, r0.x - mul r0, r0.x, c6 - mov oC0, r0 - - // approximately 38 instruction slots used (9 texture, 29 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[10], immediateIndexed - dcl_sampler s0, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_input_ps linear v1.xy - dcl_output o0.xyzw - dcl_temps 4 - add r0.xyzw, v1.xxxx, cb0[0].zxwy - mov r1.xz, r0.yywy - mov r1.yw, v1.yyyy - sample r2.xyzw, r1.zwzz, t0.xyzw, s0 - sample r1.xyzw, r1.xyxx, t0.xyzw, s0 - mul r1.x, r2.w, cb0[6].y - mad r1.x, cb0[6].x, r1.w, r1.x - mov r0.yw, v1.yyyy - sample r2.xyzw, r0.xyxx, t0.xyzw, s0 - sample r0.xyzw, r0.zwzz, t0.xyzw, s0 - mad r0.x, cb0[6].z, r2.w, r1.x - mad r0.x, cb0[6].w, r0.w, r0.x - add r1.xyzw, v1.xxxx, cb0[1].zxwy - mov r2.xz, r1.yywy - mov r2.yw, v1.yyyy - sample r3.xyzw, r2.xyxx, t0.xyzw, s0 - sample r2.xyzw, r2.zwzz, t0.xyzw, s0 - mad r0.x, cb0[7].x, r3.w, r0.x - mad r0.x, cb0[7].y, r2.w, r0.x - mov r1.yw, v1.yyyy - sample r2.xyzw, r1.xyxx, t0.xyzw, s0 - sample r1.xyzw, r1.zwzz, t0.xyzw, s0 - mad r0.x, cb0[7].z, r2.w, r0.x - mad r0.x, cb0[7].w, r1.w, r0.x - add r1.x, v1.x, cb0[2].x - mov r1.y, v1.y - sample r1.xyzw, r1.xyxx, t0.xyzw, s0 - mad r0.x, cb0[8].x, r1.w, r0.x - mul o0.xyzw, r0.xxxx, cb0[9].xyzw - ret - // Approximately 30 instruction slots used - - }; - } - - pass P1 - { - RasterizerState = TextureRast; - AB_BlendFactor = float4(1, 1, 1, 1); - AB_SampleMask = uint(0xffffffff); - BlendState = ShadowBlendV; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb1 - // { - // - // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 [unused] - // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 - // float4 BlurWeights[3]; // Offset: 96 Size: 48 - // float4 ShadowColor; // Offset: 144 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sShadowSampler sampler NA NA 0 1 - // tex texture float4 2d 0 1 - // cb1 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 3 6 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - add r0.y, t0.y, c0.y - mov r0.x, t0.x - add r1.y, t0.y, c0.x - mov r1.x, t0.x - texld r0, r0, s0 - texld r1, r1, s0 - mul r0, r0, c3.y - mad r0, c3.x, r1, r0 - add r1.y, t0.y, c0.z - mov r1.x, t0.x - add r2.y, t0.y, c0.w - mov r2.x, t0.x - texld r1, r1, s0 - texld r2, r2, s0 - mad r0, c3.z, r1, r0 - mad r0, c3.w, r2, r0 - add r1.y, t0.y, c1.x - mov r1.x, t0.x - add r2.y, t0.y, c1.y - mov r2.x, t0.x - texld r1, r1, s0 - texld r2, r2, s0 - mad r0, c4.x, r1, r0 - mad r0, c4.y, r2, r0 - add r1.y, t0.y, c1.z - mov r1.x, t0.x - add r2.y, t0.y, c1.w - mov r2.x, t0.x - texld r1, r1, s0 - texld r2, r2, s0 - mad r0, c4.z, r1, r0 - mad r0, c4.w, r2, r0 - add r1.y, t0.y, c2.x - mov r1.x, t0.x - texld r1, r1, s0 - mad r0, c5.x, r1, r0 - mov oC0, r0 - - // approximately 37 instruction slots used (9 texture, 28 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[9], immediateIndexed - dcl_sampler s0, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_input_ps linear v1.xy - dcl_output o0.xyzw - dcl_temps 4 - mov r0.xz, v1.xxxx - add r1.xyzw, v1.yyyy, cb0[3].xzyw - mov r0.yw, r1.xxxz - sample r2.xyzw, r0.zwzz, t0.xyzw, s0 - sample r0.xyzw, r0.xyxx, t0.xyzw, s0 - mul r2.xyzw, r2.xyzw, cb0[6].yyyy - mad r0.xyzw, cb0[6].xxxx, r0.xyzw, r2.xyzw - mov r1.xz, v1.xxxx - sample r2.xyzw, r1.xyxx, t0.xyzw, s0 - sample r1.xyzw, r1.zwzz, t0.xyzw, s0 - mad r0.xyzw, cb0[6].zzzz, r2.xyzw, r0.xyzw - mad r0.xyzw, cb0[6].wwww, r1.xyzw, r0.xyzw - mov r1.xz, v1.xxxx - add r2.xyzw, v1.yyyy, cb0[4].xzyw - mov r1.yw, r2.xxxz - sample r3.xyzw, r1.xyxx, t0.xyzw, s0 - sample r1.xyzw, r1.zwzz, t0.xyzw, s0 - mad r0.xyzw, cb0[7].xxxx, r3.xyzw, r0.xyzw - mad r0.xyzw, cb0[7].yyyy, r1.xyzw, r0.xyzw - mov r2.xz, v1.xxxx - sample r1.xyzw, r2.xyxx, t0.xyzw, s0 - sample r2.xyzw, r2.zwzz, t0.xyzw, s0 - mad r0.xyzw, cb0[7].zzzz, r1.xyzw, r0.xyzw - mad r0.xyzw, cb0[7].wwww, r2.xyzw, r0.xyzw - add r1.y, v1.y, cb0[5].x - mov r1.x, v1.x - sample r1.xyzw, r1.xyxx, t0.xyzw, s0 - mad o0.xyzw, cb0[8].xxxx, r1.xyzw, r0.xyzw - ret - // Approximately 29 instruction slots used - - }; - } - - pass P2 - { - RasterizerState = TextureRast; - AB_BlendFactor = float4(1, 1, 1, 1); - AB_SampleMask = uint(0xffffffff); - BlendState = ShadowBlendV; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb1 - // { - // - // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 [unused] - // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 - // float4 BlurWeights[3]; // Offset: 96 Size: 48 - // float4 ShadowColor; // Offset: 144 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sMaskSampler sampler NA NA 0 1 - // sShadowSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb1 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 3 6 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t1 - // s1 s1 t0 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - dcl_2d s1 - add r0.y, t0.y, c0.y - mov r0.x, t0.x - add r1.y, t0.y, c0.x - mov r1.x, t0.x - texld r0, r0, s1 - texld r1, r1, s1 - mul r0, r0, c3.y - mad r0, c3.x, r1, r0 - add r1.y, t0.y, c0.z - mov r1.x, t0.x - add r2.y, t0.y, c0.w - mov r2.x, t0.x - texld r1, r1, s1 - texld r2, r2, s1 - mad r0, c3.z, r1, r0 - mad r0, c3.w, r2, r0 - add r1.y, t0.y, c1.x - mov r1.x, t0.x - add r2.y, t0.y, c1.y - mov r2.x, t0.x - texld r1, r1, s1 - texld r2, r2, s1 - mad r0, c4.x, r1, r0 - mad r0, c4.y, r2, r0 - add r1.y, t0.y, c1.z - mov r1.x, t0.x - add r2.y, t0.y, c1.w - mov r2.x, t0.x - texld r1, r1, s1 - texld r2, r2, s1 - mad r0, c4.z, r1, r0 - mad r0, c4.w, r2, r0 - add r1.y, t0.y, c2.x - mov r1.x, t0.x - mov r2.xy, t0.wzzw - texld r1, r1, s1 - texld r2, r2, s0 - mad r0, c5.x, r1, r0 - mul r0, r2.w, r0 - mov oC0, r0 - - // approximately 40 instruction slots used (10 texture, 30 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[9], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_temps 4 - mov r0.xz, v1.xxxx - add r1.xyzw, v1.yyyy, cb0[3].xzyw - mov r0.yw, r1.xxxz - sample r2.xyzw, r0.zwzz, t0.xyzw, s1 - sample r0.xyzw, r0.xyxx, t0.xyzw, s1 - mul r2.xyzw, r2.xyzw, cb0[6].yyyy - mad r0.xyzw, cb0[6].xxxx, r0.xyzw, r2.xyzw - mov r1.xz, v1.xxxx - sample r2.xyzw, r1.xyxx, t0.xyzw, s1 - sample r1.xyzw, r1.zwzz, t0.xyzw, s1 - mad r0.xyzw, cb0[6].zzzz, r2.xyzw, r0.xyzw - mad r0.xyzw, cb0[6].wwww, r1.xyzw, r0.xyzw - mov r1.xz, v1.xxxx - add r2.xyzw, v1.yyyy, cb0[4].xzyw - mov r1.yw, r2.xxxz - sample r3.xyzw, r1.xyxx, t0.xyzw, s1 - sample r1.xyzw, r1.zwzz, t0.xyzw, s1 - mad r0.xyzw, cb0[7].xxxx, r3.xyzw, r0.xyzw - mad r0.xyzw, cb0[7].yyyy, r1.xyzw, r0.xyzw - mov r2.xz, v1.xxxx - sample r1.xyzw, r2.xyxx, t0.xyzw, s1 - sample r2.xyzw, r2.zwzz, t0.xyzw, s1 - mad r0.xyzw, cb0[7].zzzz, r1.xyzw, r0.xyzw - mad r0.xyzw, cb0[7].wwww, r2.xyzw, r0.xyzw - add r1.y, v1.y, cb0[5].x - mov r1.x, v1.x - sample r1.xyzw, r1.xyxx, t0.xyzw, s1 - mad r0.xyzw, cb0[8].xxxx, r1.xyzw, r0.xyzw - sample r1.xyzw, v1.zwzz, t1.xyzw, s0 - mul o0.xyzw, r0.xyzw, r1.wwww - ret - // Approximately 31 instruction slots used - - }; - } - -} - -technique10 SampleTextTexture -{ - pass Unmasked - { - RasterizerState = TextureRast; - AB_BlendFactor = float4(0, 0, 0, 0); - AB_SampleMask = uint(0xffffffff); - BlendState = bTextBlend; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 [unused] - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 [unused] - // float4 TextColor; // Offset: 48 Size: 16 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // tex texture float4 2d 0 1 - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // SV_Target 1 xyzw 1 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - mov oC0, c0 - texld r0, t0, s0 - mul r0, r0.zyxy, c0.w - mov oC1, r0 - - // approximately 4 instruction slots used (1 texture, 3 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[4], immediateIndexed - dcl_sampler s0, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_input_ps linear v1.xy - dcl_output o0.xyzw - dcl_output o1.xyzw - dcl_temps 1 - mov o0.xyzw, cb0[3].xyzw - sample r0.xyzw, v1.xyxx, t0.xyzw, s0 - mul o1.xyzw, r0.zyxy, cb0[3].wwww - ret - // Approximately 4 instruction slots used - - }; - } - - pass Masked - { - RasterizerState = TextureRast; - AB_BlendFactor = float4(0, 0, 0, 0); - AB_SampleMask = uint(0xffffffff); - BlendState = bTextBlend; - VertexShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 - // float4 TexCoords; // Offset: 16 Size: 16 - // float4 MaskTexCoords; // Offset: 32 Size: 16 - // float4 TextColor; // Offset: 48 Size: 16 [unused] - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // POSITION 0 xyz 0 NONE float xy - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float xyzw - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) - // - // - // Runtime generated constant mappings: - // - // Target Reg Constant Description - // ---------- -------------------------------------------------- - // c0 Vertex Shader position offset - // - // - // Level9 shader bytecode: - // - vs_2_x - def c4, 0, 1, 0, 0 - dcl_texcoord v0 - mad oT0.xy, v0, c2.zwzw, c2 - mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx - mad r0.xy, v0, c1.zwzw, c1 - add oPos.xy, r0, c0 - mov oPos.zw, c4.xyxy - - // approximately 5 instruction slots used - vs_4_0 - dcl_constantbuffer cb0[3], immediateIndexed - dcl_input v0.xy - dcl_output_siv o0.xyzw, position - dcl_output o1.xy - dcl_output o1.zw - mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx - mov o0.zw, l(0,0,0,1.000000) - mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx - mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy - ret - // Approximately 5 instruction slots used - - }; - GeometryShader = NULL; - PixelShader = asm { - // - // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 - // - // - // Buffer Definitions: - // - // cbuffer cb0 - // { - // - // float4 QuadDesc; // Offset: 0 Size: 16 [unused] - // float4 TexCoords; // Offset: 16 Size: 16 [unused] - // float4 MaskTexCoords; // Offset: 32 Size: 16 [unused] - // float4 TextColor; // Offset: 48 Size: 16 - // - // } - // - // - // Resource Bindings: - // - // Name Type Format Dim Slot Elements - // ------------------------------ ---------- ------- ----------- ---- -------- - // sSampler sampler NA NA 0 1 - // sMaskSampler sampler NA NA 1 1 - // tex texture float4 2d 0 1 - // mask texture float4 2d 1 1 - // cb0 cbuffer NA NA 0 1 - // - // - // - // Input signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Position 0 xyzw 0 POS float - // TEXCOORD 0 xy 1 NONE float xy - // TEXCOORD 1 zw 1 NONE float zw - // - // - // Output signature: - // - // Name Index Mask Register SysValue Format Used - // -------------------- ----- ------ -------- -------- ------ ------ - // SV_Target 0 xyzw 0 TARGET float xyzw - // SV_Target 1 xyzw 1 TARGET float xyzw - // - // - // Constant buffer to DX9 shader constant mappings: - // - // Target Reg Buffer Start Reg # of Regs Data Conversion - // ---------- ------- --------- --------- ---------------------- - // c0 cb0 3 1 ( FLT, FLT, FLT, FLT) - // - // - // Sampler/Resource to DX9 shader sampler mappings: - // - // Target Sampler Source Sampler Source Resource - // -------------- --------------- ---------------- - // s0 s0 t0 - // s1 s1 t1 - // - // - // Level9 shader bytecode: - // - ps_2_x - dcl t0 - dcl_2d s0 - dcl_2d s1 - mov r0.xy, t0.wzzw - texld r1, t0, s0 - texld r0, r0, s1 - mul r2, r0.w, c0 - mov oC0, r2 - mul r1, r1.zyxy, c0.w - mul r0, r0.w, r1 - mov oC1, r0 - - // approximately 8 instruction slots used (2 texture, 6 arithmetic) - ps_4_0 - dcl_constantbuffer cb0[4], immediateIndexed - dcl_sampler s0, mode_default - dcl_sampler s1, mode_default - dcl_resource_texture2d (float,float,float,float) t0 - dcl_resource_texture2d (float,float,float,float) t1 - dcl_input_ps linear v1.xy - dcl_input_ps linear v1.zw - dcl_output o0.xyzw - dcl_output o1.xyzw - dcl_temps 2 - sample r0.xyzw, v1.zwzz, t1.xyzw, s1 - mul o0.xyzw, r0.wwww, cb0[3].xyzw - sample r1.xyzw, v1.xyxx, t0.xyzw, s0 - mul r1.xyzw, r1.zyxy, cb0[3].wwww - mul o1.xyzw, r0.wwww, r1.xyzw - ret - // Approximately 6 instruction slots used - - }; - } - -} - -#endif - -const BYTE d2deffect[] = -{ - 68, 88, 66, 67, 103, 57, - 133, 3, 51, 56, 175, 39, - 21, 65, 54, 209, 72, 159, - 240, 237, 1, 0, 0, 0, - 16, 191, 0, 0, 1, 0, - 0, 0, 36, 0, 0, 0, - 70, 88, 49, 48, 228, 190, - 0, 0, 1, 16, 255, 254, - 3, 0, 0, 0, 15, 0, - 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 4, 180, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 26, 0, 0, 0, - 0, 0, 0, 0, 99, 98, - 48, 0, 102, 108, 111, 97, - 116, 52, 0, 8, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, - 0, 16, 0, 0, 0, 16, - 0, 0, 0, 10, 33, 0, - 0, 81, 117, 97, 100, 68, - 101, 115, 99, 0, 84, 101, - 120, 67, 111, 111, 114, 100, - 115, 0, 77, 97, 115, 107, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 84, 101, - 120, 116, 67, 111, 108, 111, - 114, 0, 99, 98, 49, 0, - 8, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 48, 0, 0, 0, - 10, 33, 0, 0, 66, 108, - 117, 114, 79, 102, 102, 115, - 101, 116, 115, 72, 0, 66, - 108, 117, 114, 79, 102, 102, - 115, 101, 116, 115, 86, 0, - 66, 108, 117, 114, 87, 101, - 105, 103, 104, 116, 115, 0, - 83, 104, 97, 100, 111, 119, - 67, 111, 108, 111, 114, 0, - 99, 98, 50, 0, 102, 108, - 111, 97, 116, 51, 120, 51, - 0, 172, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 48, - 0, 0, 0, 36, 0, 0, - 0, 11, 91, 0, 0, 68, - 101, 118, 105, 99, 101, 83, - 112, 97, 99, 101, 84, 111, - 85, 115, 101, 114, 83, 112, - 97, 99, 101, 0, 102, 108, - 111, 97, 116, 50, 0, 232, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 8, - 0, 0, 0, 16, 0, 0, - 0, 8, 0, 0, 0, 10, - 17, 0, 0, 100, 105, 109, - 101, 110, 115, 105, 111, 110, - 115, 0, 102, 108, 111, 97, - 116, 51, 0, 22, 1, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 0, - 0, 16, 0, 0, 0, 12, - 0, 0, 0, 10, 25, 0, - 0, 100, 105, 102, 102, 0, - 99, 101, 110, 116, 101, 114, - 49, 0, 102, 108, 111, 97, - 116, 0, 70, 1, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 16, 0, 0, 0, 4, 0, - 0, 0, 9, 9, 0, 0, - 65, 0, 114, 97, 100, 105, - 117, 115, 49, 0, 115, 113, - 95, 114, 97, 100, 105, 117, - 115, 49, 0, 84, 101, 120, - 116, 117, 114, 101, 50, 68, - 0, 125, 1, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 116, - 101, 120, 0, 109, 97, 115, - 107, 0, 83, 97, 109, 112, - 108, 101, 114, 83, 116, 97, - 116, 101, 0, 172, 1, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 21, 0, 0, - 0, 115, 83, 97, 109, 112, - 108, 101, 114, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 21, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 3, 0, 0, 0, 115, 87, - 114, 97, 112, 83, 97, 109, - 112, 108, 101, 114, 0, 1, - 0, 0, 0, 2, 0, 0, - 0, 21, 0, 0, 0, 1, - 0, 0, 0, 2, 0, 0, - 0, 1, 0, 0, 0, 1, - 0, 0, 0, 2, 0, 0, - 0, 1, 0, 0, 0, 115, - 77, 105, 114, 114, 111, 114, - 83, 97, 109, 112, 108, 101, - 114, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 21, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 115, 77, 97, 115, - 107, 83, 97, 109, 112, 108, - 101, 114, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 21, - 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 3, - 0, 0, 0, 115, 83, 104, - 97, 100, 111, 119, 83, 97, - 109, 112, 108, 101, 114, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 21, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 4, 0, 0, 0, - 4, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 82, 97, 115, 116, 101, 114, - 105, 122, 101, 114, 83, 116, - 97, 116, 101, 0, 238, 2, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 84, 101, 120, 116, - 117, 114, 101, 82, 97, 115, - 116, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 66, 108, 101, 110, - 100, 83, 116, 97, 116, 101, - 0, 62, 3, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 83, - 104, 97, 100, 111, 119, 66, - 108, 101, 110, 100, 72, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 83, 104, 97, 100, 111, 119, - 66, 108, 101, 110, 100, 86, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 2, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 6, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 2, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 6, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 15, 0, 0, - 0, 98, 84, 101, 120, 116, - 66, 108, 101, 110, 100, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 16, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 17, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 18, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 19, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 83, 97, 109, 112, 108, 101, - 84, 101, 120, 116, 117, 114, - 101, 0, 80, 48, 0, 68, - 4, 0, 0, 68, 88, 66, - 67, 26, 214, 157, 140, 185, - 91, 182, 211, 177, 171, 114, - 225, 174, 107, 56, 117, 1, - 0, 0, 0, 68, 4, 0, - 0, 6, 0, 0, 0, 56, - 0, 0, 0, 248, 0, 0, - 0, 244, 1, 0, 0, 112, - 2, 0, 0, 160, 3, 0, - 0, 212, 3, 0, 0, 65, - 111, 110, 57, 184, 0, 0, - 0, 184, 0, 0, 0, 0, - 2, 254, 255, 132, 0, 0, - 0, 52, 0, 0, 0, 1, - 0, 36, 0, 0, 0, 48, - 0, 0, 0, 48, 0, 0, - 0, 36, 0, 1, 0, 48, - 0, 0, 0, 0, 0, 3, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 2, 254, 255, 81, 0, 0, - 5, 4, 0, 15, 160, 0, - 0, 0, 0, 0, 0, 128, - 63, 0, 0, 0, 0, 0, - 0, 0, 0, 31, 0, 0, - 2, 5, 0, 0, 128, 0, - 0, 15, 144, 4, 0, 0, - 4, 0, 0, 3, 224, 0, - 0, 228, 144, 2, 0, 238, - 160, 2, 0, 228, 160, 4, - 0, 0, 4, 0, 0, 12, - 224, 0, 0, 20, 144, 3, - 0, 180, 160, 3, 0, 20, - 160, 4, 0, 0, 4, 0, - 0, 3, 128, 0, 0, 228, - 144, 1, 0, 238, 160, 1, - 0, 228, 160, 2, 0, 0, - 3, 0, 0, 3, 192, 0, - 0, 228, 128, 0, 0, 228, - 160, 1, 0, 0, 2, 0, - 0, 12, 192, 4, 0, 68, - 160, 255, 255, 0, 0, 83, - 72, 68, 82, 244, 0, 0, - 0, 64, 0, 1, 0, 61, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 95, 0, 0, 3, 50, - 16, 16, 0, 0, 0, 0, - 0, 103, 0, 0, 4, 242, - 32, 16, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 101, - 0, 0, 3, 50, 32, 16, - 0, 1, 0, 0, 0, 101, - 0, 0, 3, 194, 32, 16, - 0, 1, 0, 0, 0, 50, - 0, 0, 11, 50, 32, 16, - 0, 0, 0, 0, 0, 70, - 16, 16, 0, 0, 0, 0, - 0, 230, 138, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 70, 128, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 8, 194, - 32, 16, 0, 0, 0, 0, - 0, 2, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 128, 63, 50, 0, 0, - 11, 50, 32, 16, 0, 1, - 0, 0, 0, 70, 16, 16, - 0, 0, 0, 0, 0, 230, - 138, 32, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 70, - 128, 32, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 50, - 0, 0, 11, 194, 32, 16, - 0, 1, 0, 0, 0, 6, - 20, 16, 0, 0, 0, 0, - 0, 166, 142, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 6, 132, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 62, 0, 0, 1, 83, - 84, 65, 84, 116, 0, 0, - 0, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 68, 69, - 70, 40, 1, 0, 0, 1, - 0, 0, 0, 64, 0, 0, - 0, 1, 0, 0, 0, 28, - 0, 0, 0, 0, 4, 254, - 255, 0, 1, 0, 0, 246, - 0, 0, 0, 60, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 99, - 98, 48, 0, 60, 0, 0, - 0, 4, 0, 0, 0, 88, - 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 184, 0, 0, - 0, 0, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 196, 0, 0, 0, 0, - 0, 0, 0, 212, 0, 0, - 0, 16, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 196, 0, 0, 0, 0, - 0, 0, 0, 222, 0, 0, - 0, 32, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 196, 0, 0, 0, 0, - 0, 0, 0, 236, 0, 0, - 0, 48, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 196, 0, 0, 0, 0, - 0, 0, 0, 81, 117, 97, - 100, 68, 101, 115, 99, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 84, 101, 120, 67, 111, - 111, 114, 100, 115, 0, 77, - 97, 115, 107, 84, 101, 120, - 67, 111, 111, 114, 100, 115, - 0, 84, 101, 120, 116, 67, - 111, 108, 111, 114, 0, 77, - 105, 99, 114, 111, 115, 111, - 102, 116, 32, 40, 82, 41, - 32, 72, 76, 83, 76, 32, - 83, 104, 97, 100, 101, 114, - 32, 67, 111, 109, 112, 105, - 108, 101, 114, 32, 57, 46, - 50, 57, 46, 57, 53, 50, - 46, 51, 49, 49, 49, 0, - 171, 73, 83, 71, 78, 44, - 0, 0, 0, 1, 0, 0, - 0, 8, 0, 0, 0, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 7, 3, 0, 0, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 171, 171, 171, 79, - 83, 71, 78, 104, 0, 0, - 0, 3, 0, 0, 0, 8, - 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 15, - 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 3, - 12, 0, 0, 92, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 12, - 3, 0, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 171, 171, 171, 127, 4, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 212, - 2, 0, 0, 68, 88, 66, - 67, 22, 206, 82, 103, 196, - 235, 84, 233, 156, 39, 210, - 152, 32, 145, 169, 162, 1, - 0, 0, 0, 212, 2, 0, - 0, 6, 0, 0, 0, 56, - 0, 0, 0, 164, 0, 0, - 0, 16, 1, 0, 0, 140, - 1, 0, 0, 48, 2, 0, - 0, 160, 2, 0, 0, 65, - 111, 110, 57, 100, 0, 0, - 0, 100, 0, 0, 0, 0, - 2, 255, 255, 60, 0, 0, - 0, 40, 0, 0, 0, 0, - 0, 40, 0, 0, 0, 40, - 0, 0, 0, 40, 0, 1, - 0, 36, 0, 0, 0, 40, - 0, 0, 0, 0, 0, 1, - 2, 255, 255, 31, 0, 0, - 2, 0, 0, 0, 128, 0, - 0, 15, 176, 31, 0, 0, - 2, 0, 0, 0, 144, 0, - 8, 15, 160, 66, 0, 0, - 3, 0, 0, 15, 128, 0, - 0, 228, 176, 0, 8, 228, - 160, 1, 0, 0, 2, 0, - 8, 15, 128, 0, 0, 228, - 128, 255, 255, 0, 0, 83, - 72, 68, 82, 100, 0, 0, - 0, 64, 0, 0, 0, 25, - 0, 0, 0, 90, 0, 0, - 3, 0, 96, 16, 0, 0, - 0, 0, 0, 88, 24, 0, - 4, 0, 112, 16, 0, 0, - 0, 0, 0, 85, 85, 0, - 0, 98, 16, 0, 3, 50, - 16, 16, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 242, - 32, 16, 0, 0, 0, 0, - 0, 69, 0, 0, 9, 242, - 32, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 0, 0, 0, 0, 0, - 96, 16, 0, 0, 0, 0, - 0, 62, 0, 0, 1, 83, - 84, 65, 84, 116, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 68, 69, - 70, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 28, - 0, 0, 0, 0, 4, 255, - 255, 0, 1, 0, 0, 105, - 0, 0, 0, 92, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 101, - 0, 0, 0, 2, 0, 0, - 0, 5, 0, 0, 0, 4, - 0, 0, 0, 255, 255, 255, - 255, 0, 0, 0, 0, 1, - 0, 0, 0, 12, 0, 0, - 0, 115, 83, 97, 109, 112, - 108, 101, 114, 0, 116, 101, - 120, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 171, 171, 73, - 83, 71, 78, 104, 0, 0, - 0, 3, 0, 0, 0, 8, - 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 15, - 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 3, - 3, 0, 0, 92, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 171, 171, 171, 79, 83, 71, - 78, 44, 0, 0, 0, 1, - 0, 0, 0, 8, 0, 0, - 0, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 83, 86, 95, 84, 97, - 114, 103, 101, 116, 0, 171, - 171, 219, 8, 0, 0, 0, - 0, 0, 0, 83, 97, 109, - 112, 108, 101, 82, 97, 100, - 105, 97, 108, 71, 114, 97, - 100, 105, 101, 110, 116, 0, - 65, 80, 111, 115, 0, 40, - 7, 0, 0, 68, 88, 66, - 67, 237, 58, 124, 168, 122, - 234, 242, 5, 75, 29, 195, - 6, 241, 206, 131, 117, 1, - 0, 0, 0, 40, 7, 0, - 0, 6, 0, 0, 0, 56, - 0, 0, 0, 148, 1, 0, - 0, 104, 3, 0, 0, 228, - 3, 0, 0, 132, 6, 0, - 0, 184, 6, 0, 0, 65, - 111, 110, 57, 84, 1, 0, - 0, 84, 1, 0, 0, 0, - 2, 254, 255, 252, 0, 0, - 0, 88, 0, 0, 0, 4, - 0, 36, 0, 0, 0, 84, - 0, 0, 0, 84, 0, 0, - 0, 36, 0, 1, 0, 84, - 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 1, - 0, 2, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 3, 0, 0, 0, 0, - 0, 1, 0, 3, 0, 1, - 0, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 2, 254, 255, 81, 0, 0, - 5, 6, 0, 15, 160, 0, - 0, 128, 63, 0, 0, 0, - 63, 0, 0, 0, 0, 0, - 0, 0, 0, 31, 0, 0, - 2, 5, 0, 0, 128, 0, - 0, 15, 144, 4, 0, 0, - 4, 0, 0, 3, 224, 0, - 0, 228, 144, 2, 0, 238, - 160, 2, 0, 228, 160, 4, - 0, 0, 4, 0, 0, 3, - 128, 0, 0, 228, 144, 1, - 0, 238, 160, 1, 0, 228, - 160, 2, 0, 0, 3, 0, - 0, 4, 128, 0, 0, 0, - 128, 6, 0, 0, 160, 5, - 0, 0, 3, 0, 0, 4, - 128, 0, 0, 170, 128, 5, - 0, 0, 160, 5, 0, 0, - 3, 1, 0, 1, 128, 0, - 0, 170, 128, 6, 0, 85, - 160, 2, 0, 0, 3, 0, - 0, 4, 128, 0, 0, 85, - 129, 6, 0, 0, 160, 2, - 0, 0, 3, 0, 0, 3, - 192, 0, 0, 228, 128, 0, - 0, 228, 160, 5, 0, 0, - 3, 0, 0, 1, 128, 0, - 0, 170, 128, 5, 0, 85, - 160, 5, 0, 0, 3, 1, - 0, 2, 128, 0, 0, 0, - 128, 6, 0, 85, 160, 1, - 0, 0, 2, 1, 0, 4, - 128, 6, 0, 0, 160, 8, - 0, 0, 3, 0, 0, 8, - 224, 1, 0, 228, 128, 3, - 0, 228, 160, 8, 0, 0, - 3, 0, 0, 4, 224, 1, - 0, 228, 128, 4, 0, 228, - 160, 1, 0, 0, 2, 0, - 0, 12, 192, 6, 0, 36, - 160, 255, 255, 0, 0, 83, - 72, 68, 82, 204, 1, 0, - 0, 64, 0, 1, 0, 115, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 89, 0, 0, 4, 70, - 142, 32, 0, 1, 0, 0, - 0, 4, 0, 0, 0, 95, - 0, 0, 3, 50, 16, 16, - 0, 0, 0, 0, 0, 103, - 0, 0, 4, 242, 32, 16, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 50, 32, 16, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 194, 32, 16, 0, 1, - 0, 0, 0, 104, 0, 0, - 2, 2, 0, 0, 0, 54, - 0, 0, 8, 194, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, - 63, 50, 0, 0, 11, 50, - 0, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 0, - 0, 0, 0, 230, 138, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 128, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, - 5, 50, 32, 16, 0, 0, - 0, 0, 0, 70, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 7, 18, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 128, 63, 0, 0, 0, - 8, 34, 0, 16, 0, 0, - 0, 0, 0, 26, 0, 16, - 128, 65, 0, 0, 0, 0, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 128, 63, 56, - 0, 0, 8, 50, 0, 16, - 0, 0, 0, 0, 0, 70, - 0, 16, 0, 0, 0, 0, - 0, 70, 128, 32, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 56, 0, 0, 10, 50, - 0, 16, 0, 1, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 2, 64, 0, - 0, 0, 0, 0, 63, 0, - 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 54, - 0, 0, 5, 66, 0, 16, - 0, 1, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 128, - 63, 16, 0, 0, 8, 66, - 32, 16, 0, 1, 0, 0, - 0, 70, 2, 16, 0, 1, - 0, 0, 0, 70, 130, 32, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, - 8, 130, 32, 16, 0, 1, - 0, 0, 0, 70, 2, 16, - 0, 1, 0, 0, 0, 70, - 130, 32, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 50, - 0, 0, 11, 50, 32, 16, - 0, 1, 0, 0, 0, 70, - 16, 16, 0, 0, 0, 0, - 0, 230, 138, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 70, 128, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 62, 0, 0, 1, 83, - 84, 65, 84, 116, 0, 0, - 0, 12, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 68, 69, - 70, 152, 2, 0, 0, 2, - 0, 0, 0, 100, 0, 0, - 0, 2, 0, 0, 0, 28, - 0, 0, 0, 0, 4, 254, - 255, 0, 1, 0, 0, 103, - 2, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 99, 98, 48, 0, 99, - 98, 50, 0, 92, 0, 0, - 0, 4, 0, 0, 0, 148, - 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, - 0, 7, 0, 0, 0, 52, - 1, 0, 0, 112, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 0, 0, - 0, 0, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 16, 1, 0, - 0, 16, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 26, 1, 0, - 0, 32, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 40, 1, 0, - 0, 48, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 81, 117, 97, - 100, 68, 101, 115, 99, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 84, 101, 120, 67, 111, - 111, 114, 100, 115, 0, 77, - 97, 115, 107, 84, 101, 120, - 67, 111, 111, 114, 100, 115, - 0, 84, 101, 120, 116, 67, - 111, 108, 111, 114, 0, 171, - 171, 220, 1, 0, 0, 0, - 0, 0, 0, 44, 0, 0, - 0, 2, 0, 0, 0, 244, - 1, 0, 0, 0, 0, 0, - 0, 4, 2, 0, 0, 48, - 0, 0, 0, 8, 0, 0, - 0, 2, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 32, 2, 0, 0, 64, - 0, 0, 0, 12, 0, 0, - 0, 0, 0, 0, 0, 40, - 2, 0, 0, 0, 0, 0, - 0, 56, 2, 0, 0, 80, - 0, 0, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 64, 2, 0, 0, 88, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 84, 2, 0, 0, 92, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 92, 2, 0, 0, 96, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 68, 101, 118, 105, 99, - 101, 83, 112, 97, 99, 101, - 84, 111, 85, 115, 101, 114, - 83, 112, 97, 99, 101, 0, - 171, 3, 0, 3, 0, 3, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, - 105, 109, 101, 110, 115, 105, - 111, 110, 115, 0, 171, 1, - 0, 3, 0, 1, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 105, 102, - 102, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 99, 101, 110, - 116, 101, 114, 49, 0, 65, - 0, 171, 171, 0, 0, 3, - 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 114, 97, 100, 105, 117, - 115, 49, 0, 115, 113, 95, - 114, 97, 100, 105, 117, 115, - 49, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 73, 83, 71, - 78, 44, 0, 0, 0, 1, - 0, 0, 0, 8, 0, 0, - 0, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 7, 3, 0, - 0, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 171, 171, - 171, 79, 83, 71, 78, 104, - 0, 0, 0, 3, 0, 0, - 0, 8, 0, 0, 0, 80, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 3, 12, 0, 0, 92, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 12, 3, 0, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 171, 171, 171, 213, - 11, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 220, 9, 0, 0, 68, - 88, 66, 67, 75, 110, 115, - 165, 159, 108, 132, 208, 154, - 90, 141, 18, 236, 102, 72, - 112, 1, 0, 0, 0, 220, - 9, 0, 0, 6, 0, 0, - 0, 56, 0, 0, 0, 128, - 2, 0, 0, 88, 6, 0, - 0, 212, 6, 0, 0, 56, - 9, 0, 0, 168, 9, 0, - 0, 65, 111, 110, 57, 64, - 2, 0, 0, 64, 2, 0, - 0, 0, 2, 255, 255, 8, - 2, 0, 0, 56, 0, 0, - 0, 1, 0, 44, 0, 0, - 0, 56, 0, 0, 0, 56, - 0, 2, 0, 36, 0, 0, - 0, 56, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 0, - 0, 4, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 1, - 2, 255, 255, 81, 0, 0, - 5, 3, 0, 15, 160, 0, - 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, - 5, 4, 0, 15, 160, 0, - 0, 128, 63, 0, 0, 128, - 191, 0, 0, 0, 0, 0, - 0, 0, 128, 31, 0, 0, - 2, 0, 0, 0, 128, 0, - 0, 15, 176, 31, 0, 0, - 2, 0, 0, 0, 144, 0, - 8, 15, 160, 31, 0, 0, - 2, 0, 0, 0, 144, 1, - 8, 15, 160, 2, 0, 0, - 3, 0, 0, 3, 128, 0, - 0, 235, 176, 1, 0, 228, - 161, 90, 0, 0, 4, 0, - 0, 8, 128, 0, 0, 228, - 128, 0, 0, 228, 128, 2, - 0, 0, 161, 5, 0, 0, - 3, 0, 0, 8, 128, 0, - 0, 255, 128, 1, 0, 170, - 160, 1, 0, 0, 2, 0, - 0, 4, 128, 1, 0, 255, - 160, 8, 0, 0, 3, 0, - 0, 1, 128, 0, 0, 228, - 128, 0, 0, 228, 160, 4, - 0, 0, 4, 0, 0, 2, - 128, 0, 0, 0, 128, 0, - 0, 0, 128, 0, 0, 255, - 129, 35, 0, 0, 2, 0, - 0, 4, 128, 0, 0, 85, - 128, 7, 0, 0, 2, 0, - 0, 4, 128, 0, 0, 170, - 128, 6, 0, 0, 2, 1, - 0, 1, 128, 0, 0, 170, - 128, 1, 0, 0, 2, 1, - 0, 6, 128, 1, 0, 0, - 129, 2, 0, 0, 3, 0, - 0, 13, 128, 0, 0, 0, - 128, 1, 0, 148, 128, 6, - 0, 0, 2, 1, 0, 1, - 128, 1, 0, 170, 160, 5, - 0, 0, 3, 0, 0, 13, - 128, 0, 0, 228, 128, 1, - 0, 0, 128, 1, 0, 0, - 2, 1, 0, 8, 128, 1, - 0, 255, 160, 4, 0, 0, - 4, 1, 0, 7, 128, 0, - 0, 248, 128, 0, 0, 170, - 160, 1, 0, 255, 128, 88, - 0, 0, 4, 2, 0, 1, - 128, 1, 0, 0, 128, 0, - 0, 0, 128, 0, 0, 255, - 128, 88, 0, 0, 4, 0, - 0, 13, 128, 1, 0, 148, - 128, 4, 0, 68, 160, 4, - 0, 230, 160, 1, 0, 0, - 2, 2, 0, 2, 128, 3, - 0, 0, 160, 66, 0, 0, - 3, 1, 0, 15, 128, 0, - 0, 228, 176, 1, 8, 228, - 160, 66, 0, 0, 3, 2, - 0, 15, 128, 2, 0, 228, - 128, 0, 8, 228, 160, 5, - 0, 0, 3, 2, 0, 7, - 128, 2, 0, 255, 128, 2, - 0, 228, 128, 5, 0, 0, - 3, 1, 0, 15, 128, 1, - 0, 255, 128, 2, 0, 228, - 128, 2, 0, 0, 3, 0, - 0, 8, 128, 0, 0, 255, - 128, 0, 0, 0, 128, 88, - 0, 0, 4, 0, 0, 1, - 128, 0, 0, 255, 128, 0, - 0, 0, 128, 0, 0, 170, - 128, 88, 0, 0, 4, 1, - 0, 15, 128, 0, 0, 0, - 129, 4, 0, 170, 160, 1, - 0, 228, 128, 88, 0, 0, - 4, 0, 0, 15, 128, 0, - 0, 85, 128, 1, 0, 228, - 128, 4, 0, 170, 160, 1, - 0, 0, 2, 0, 8, 15, - 128, 0, 0, 228, 128, 255, - 255, 0, 0, 83, 72, 68, - 82, 208, 3, 0, 0, 64, - 0, 0, 0, 244, 0, 0, - 0, 89, 0, 0, 4, 70, - 142, 32, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 90, - 0, 0, 3, 0, 96, 16, - 0, 0, 0, 0, 0, 90, - 0, 0, 3, 0, 96, 16, - 0, 1, 0, 0, 0, 88, - 24, 0, 4, 0, 112, 16, - 0, 0, 0, 0, 0, 85, - 85, 0, 0, 88, 24, 0, - 4, 0, 112, 16, 0, 1, - 0, 0, 0, 85, 85, 0, - 0, 98, 16, 0, 3, 50, - 16, 16, 0, 1, 0, 0, - 0, 98, 16, 0, 3, 194, - 16, 16, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 242, - 32, 16, 0, 0, 0, 0, - 0, 104, 0, 0, 2, 3, - 0, 0, 0, 0, 0, 0, - 9, 50, 0, 16, 0, 0, - 0, 0, 0, 230, 26, 16, - 0, 1, 0, 0, 0, 70, - 128, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 54, 0, 0, - 6, 66, 0, 16, 0, 0, - 0, 0, 0, 58, 128, 32, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 16, 0, 0, - 8, 66, 0, 16, 0, 0, - 0, 0, 0, 70, 2, 16, - 0, 0, 0, 0, 0, 70, - 130, 32, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 15, - 0, 0, 7, 18, 0, 16, - 0, 0, 0, 0, 0, 70, - 0, 16, 0, 0, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, - 9, 18, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 10, - 128, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 6, - 0, 0, 0, 56, 0, 0, - 8, 18, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 42, - 128, 32, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 50, - 0, 0, 10, 18, 0, 16, - 0, 0, 0, 0, 0, 42, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 128, 65, 0, 0, 0, 0, - 0, 0, 0, 49, 0, 0, - 7, 34, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 6, 18, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 128, 129, - 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 6, 34, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 128, 65, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 7, 82, - 0, 16, 0, 0, 0, 0, - 0, 166, 10, 16, 0, 0, - 0, 0, 0, 6, 1, 16, - 0, 1, 0, 0, 0, 14, - 0, 0, 8, 82, 0, 16, - 0, 0, 0, 0, 0, 6, - 2, 16, 0, 0, 0, 0, - 0, 166, 138, 32, 0, 0, - 0, 0, 0, 5, 0, 0, - 0, 56, 0, 0, 8, 50, - 0, 16, 0, 1, 0, 0, - 0, 134, 0, 16, 0, 0, - 0, 0, 0, 166, 138, 32, - 0, 0, 0, 0, 0, 4, - 0, 0, 0, 29, 0, 0, - 9, 50, 0, 16, 0, 1, - 0, 0, 0, 70, 0, 16, - 0, 1, 0, 0, 0, 246, - 143, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 1, 0, 0, - 10, 50, 0, 16, 0, 1, - 0, 0, 0, 70, 0, 16, - 0, 1, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 128, - 63, 0, 0, 128, 63, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 18, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 128, 65, - 0, 0, 0, 0, 0, 0, - 0, 10, 0, 16, 0, 0, - 0, 0, 0, 50, 0, 0, - 9, 18, 0, 16, 0, 2, - 0, 0, 0, 10, 0, 16, - 0, 1, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 0, 0, - 0, 0, 0, 54, 0, 0, - 5, 34, 0, 16, 0, 2, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 0, 63, 69, - 0, 0, 9, 242, 0, 16, - 0, 2, 0, 0, 0, 70, - 0, 16, 0, 2, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 31, - 0, 4, 3, 26, 0, 16, - 0, 0, 0, 0, 0, 54, - 0, 0, 8, 242, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 62, 0, 0, 1, 21, - 0, 0, 1, 52, 0, 0, - 7, 18, 0, 16, 0, 0, - 0, 0, 0, 26, 0, 16, - 0, 1, 0, 0, 0, 10, - 0, 16, 0, 1, 0, 0, - 0, 29, 0, 0, 7, 18, - 0, 16, 0, 0, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 31, - 0, 4, 3, 10, 0, 16, - 0, 0, 0, 0, 0, 54, - 0, 0, 8, 242, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 62, 0, 0, 1, 21, - 0, 0, 1, 56, 0, 0, - 7, 114, 0, 16, 0, 2, - 0, 0, 0, 246, 15, 16, - 0, 2, 0, 0, 0, 70, - 2, 16, 0, 2, 0, 0, - 0, 69, 0, 0, 9, 242, - 0, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 1, 0, 0, 0, 0, - 96, 16, 0, 1, 0, 0, - 0, 56, 0, 0, 7, 242, - 32, 16, 0, 0, 0, 0, - 0, 246, 15, 16, 0, 0, - 0, 0, 0, 70, 14, 16, - 0, 2, 0, 0, 0, 62, - 0, 0, 1, 83, 84, 65, - 84, 116, 0, 0, 0, 33, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 17, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 82, 68, 69, 70, 92, - 2, 0, 0, 1, 0, 0, - 0, 224, 0, 0, 0, 5, - 0, 0, 0, 28, 0, 0, - 0, 0, 4, 255, 255, 0, - 1, 0, 0, 43, 2, 0, - 0, 188, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 197, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 210, - 0, 0, 0, 2, 0, 0, - 0, 5, 0, 0, 0, 4, - 0, 0, 0, 255, 255, 255, - 255, 0, 0, 0, 0, 1, - 0, 0, 0, 12, 0, 0, - 0, 214, 0, 0, 0, 2, - 0, 0, 0, 5, 0, 0, - 0, 4, 0, 0, 0, 255, - 255, 255, 255, 1, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 219, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 115, - 83, 97, 109, 112, 108, 101, - 114, 0, 115, 77, 97, 115, - 107, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 101, 120, - 0, 109, 97, 115, 107, 0, - 99, 98, 50, 0, 171, 219, - 0, 0, 0, 7, 0, 0, - 0, 248, 0, 0, 0, 112, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 160, - 1, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, - 0, 0, 0, 184, 1, 0, - 0, 0, 0, 0, 0, 200, - 1, 0, 0, 48, 0, 0, - 0, 8, 0, 0, 0, 0, - 0, 0, 0, 212, 1, 0, - 0, 0, 0, 0, 0, 228, - 1, 0, 0, 64, 0, 0, - 0, 12, 0, 0, 0, 2, - 0, 0, 0, 236, 1, 0, - 0, 0, 0, 0, 0, 252, - 1, 0, 0, 80, 0, 0, - 0, 8, 0, 0, 0, 2, - 0, 0, 0, 212, 1, 0, - 0, 0, 0, 0, 0, 4, - 2, 0, 0, 88, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 8, 2, 0, - 0, 0, 0, 0, 0, 24, - 2, 0, 0, 92, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 8, 2, 0, - 0, 0, 0, 0, 0, 32, - 2, 0, 0, 96, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 8, 2, 0, - 0, 0, 0, 0, 0, 68, - 101, 118, 105, 99, 101, 83, - 112, 97, 99, 101, 84, 111, - 85, 115, 101, 114, 83, 112, - 97, 99, 101, 0, 171, 3, - 0, 3, 0, 3, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 105, 109, - 101, 110, 115, 105, 111, 110, - 115, 0, 171, 1, 0, 3, - 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 100, 105, 102, 102, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 99, 101, 110, 116, 101, - 114, 49, 0, 65, 0, 171, - 171, 0, 0, 3, 0, 1, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, - 97, 100, 105, 117, 115, 49, - 0, 115, 113, 95, 114, 97, - 100, 105, 117, 115, 49, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 57, - 46, 50, 57, 46, 57, 53, - 50, 46, 51, 49, 49, 49, - 0, 73, 83, 71, 78, 104, - 0, 0, 0, 3, 0, 0, - 0, 8, 0, 0, 0, 80, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 3, 3, 0, 0, 92, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 12, 12, 0, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 171, 171, 171, 79, - 83, 71, 78, 44, 0, 0, - 0, 1, 0, 0, 0, 8, - 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 15, - 0, 0, 0, 83, 86, 95, - 84, 97, 114, 103, 101, 116, - 0, 171, 171, 21, 19, 0, - 0, 0, 0, 0, 0, 65, - 48, 0, 40, 7, 0, 0, - 68, 88, 66, 67, 237, 58, - 124, 168, 122, 234, 242, 5, - 75, 29, 195, 6, 241, 206, - 131, 117, 1, 0, 0, 0, - 40, 7, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 148, 1, 0, 0, 104, 3, - 0, 0, 228, 3, 0, 0, - 132, 6, 0, 0, 184, 6, - 0, 0, 65, 111, 110, 57, - 84, 1, 0, 0, 84, 1, - 0, 0, 0, 2, 254, 255, - 252, 0, 0, 0, 88, 0, - 0, 0, 4, 0, 36, 0, - 0, 0, 84, 0, 0, 0, - 84, 0, 0, 0, 36, 0, - 1, 0, 84, 0, 0, 0, - 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 1, 0, 2, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 3, 0, - 0, 0, 0, 0, 1, 0, - 3, 0, 1, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 81, 0, 0, 5, 6, 0, - 15, 160, 0, 0, 128, 63, - 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 4, 0, 0, 4, 0, 0, - 3, 224, 0, 0, 228, 144, - 2, 0, 238, 160, 2, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 128, 0, 0, - 228, 144, 1, 0, 238, 160, - 1, 0, 228, 160, 2, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 0, 128, 6, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 170, 128, 5, 0, 0, 160, - 5, 0, 0, 3, 1, 0, - 1, 128, 0, 0, 170, 128, - 6, 0, 85, 160, 2, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 85, 129, 6, 0, - 0, 160, 2, 0, 0, 3, - 0, 0, 3, 192, 0, 0, - 228, 128, 0, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 170, 128, - 5, 0, 85, 160, 5, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 0, 128, 6, 0, - 85, 160, 1, 0, 0, 2, - 1, 0, 4, 128, 6, 0, - 0, 160, 8, 0, 0, 3, - 0, 0, 8, 224, 1, 0, - 228, 128, 3, 0, 228, 160, - 8, 0, 0, 3, 0, 0, - 4, 224, 1, 0, 228, 128, - 4, 0, 228, 160, 1, 0, - 0, 2, 0, 0, 12, 192, - 6, 0, 36, 160, 255, 255, - 0, 0, 83, 72, 68, 82, - 204, 1, 0, 0, 64, 0, - 1, 0, 115, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 1, 0, 0, 0, 4, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 0, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 194, 32, - 16, 0, 1, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 54, 0, 0, 8, - 194, 32, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 128, 63, 50, 0, - 0, 11, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 8, 34, 0, - 16, 0, 0, 0, 0, 0, - 26, 0, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 56, 0, 0, 8, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 128, - 32, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 56, 0, - 0, 10, 50, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 66, 0, 16, 0, 1, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 16, 0, - 0, 8, 66, 32, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 130, 32, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 12, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 152, 2, - 0, 0, 2, 0, 0, 0, - 100, 0, 0, 0, 2, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 254, 255, 0, 1, - 0, 0, 103, 2, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 99, 98, - 48, 0, 99, 98, 50, 0, - 92, 0, 0, 0, 4, 0, - 0, 0, 148, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 7, 0, - 0, 0, 52, 1, 0, 0, - 112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 244, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 16, 1, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 26, 1, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 40, 1, 0, 0, 48, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 81, 117, 97, 100, 68, 101, - 115, 99, 0, 171, 171, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 101, - 120, 67, 111, 111, 114, 100, - 115, 0, 77, 97, 115, 107, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 84, 101, - 120, 116, 67, 111, 108, 111, - 114, 0, 171, 171, 220, 1, - 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 2, 0, - 0, 0, 244, 1, 0, 0, - 0, 0, 0, 0, 4, 2, - 0, 0, 48, 0, 0, 0, - 8, 0, 0, 0, 2, 0, - 0, 0, 16, 2, 0, 0, - 0, 0, 0, 0, 32, 2, - 0, 0, 64, 0, 0, 0, - 12, 0, 0, 0, 0, 0, - 0, 0, 40, 2, 0, 0, - 0, 0, 0, 0, 56, 2, - 0, 0, 80, 0, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 16, 2, 0, 0, - 0, 0, 0, 0, 64, 2, - 0, 0, 88, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 68, 2, 0, 0, - 0, 0, 0, 0, 84, 2, - 0, 0, 92, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 68, 2, 0, 0, - 0, 0, 0, 0, 92, 2, - 0, 0, 96, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 68, 2, 0, 0, - 0, 0, 0, 0, 68, 101, - 118, 105, 99, 101, 83, 112, - 97, 99, 101, 84, 111, 85, - 115, 101, 114, 83, 112, 97, - 99, 101, 0, 171, 3, 0, - 3, 0, 3, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 100, 105, 109, 101, - 110, 115, 105, 111, 110, 115, - 0, 171, 1, 0, 3, 0, - 1, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 100, 105, 102, 102, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 99, 101, 110, 116, 101, 114, - 49, 0, 65, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 114, 97, - 100, 105, 117, 115, 49, 0, - 115, 113, 95, 114, 97, 100, - 105, 117, 115, 49, 0, 77, - 105, 99, 114, 111, 115, 111, - 102, 116, 32, 40, 82, 41, - 32, 72, 76, 83, 76, 32, - 83, 104, 97, 100, 101, 114, - 32, 67, 111, 109, 112, 105, - 108, 101, 114, 32, 57, 46, - 50, 57, 46, 57, 53, 50, - 46, 51, 49, 49, 49, 0, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 7, 3, 0, 0, 80, 79, - 83, 73, 84, 73, 79, 78, - 0, 171, 171, 171, 79, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 12, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 0, 29, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 188, 7, - 0, 0, 68, 88, 66, 67, - 158, 207, 216, 153, 107, 204, - 140, 217, 118, 241, 126, 175, - 204, 121, 49, 49, 1, 0, - 0, 0, 188, 7, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 196, 1, 0, 0, - 56, 4, 0, 0, 180, 4, - 0, 0, 24, 7, 0, 0, - 136, 7, 0, 0, 65, 111, - 110, 57, 132, 1, 0, 0, - 132, 1, 0, 0, 0, 2, - 255, 255, 76, 1, 0, 0, - 56, 0, 0, 0, 1, 0, - 44, 0, 0, 0, 56, 0, - 0, 0, 56, 0, 2, 0, - 36, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 4, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 81, 0, 0, 5, 2, 0, - 15, 160, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 1, 8, 15, 160, - 5, 0, 0, 3, 0, 0, - 8, 128, 1, 0, 255, 160, - 1, 0, 255, 160, 2, 0, - 0, 3, 0, 0, 3, 128, - 0, 0, 235, 176, 1, 0, - 228, 161, 90, 0, 0, 4, - 0, 0, 8, 128, 0, 0, - 228, 128, 0, 0, 228, 128, - 0, 0, 255, 129, 5, 0, - 0, 3, 0, 0, 8, 128, - 0, 0, 255, 128, 2, 0, - 0, 160, 1, 0, 0, 2, - 0, 0, 4, 128, 1, 0, - 255, 160, 8, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 128, 0, 0, 228, 160, - 6, 0, 0, 2, 0, 0, - 1, 128, 0, 0, 0, 128, - 5, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 0, 0, 255, 128, 1, 0, - 0, 2, 0, 0, 2, 128, - 2, 0, 0, 160, 66, 0, - 0, 3, 1, 0, 15, 128, - 0, 0, 228, 176, 1, 8, - 228, 160, 66, 0, 0, 3, - 2, 0, 15, 128, 0, 0, - 228, 128, 0, 8, 228, 160, - 1, 0, 0, 2, 0, 0, - 8, 128, 1, 0, 255, 160, - 4, 0, 0, 4, 0, 0, - 1, 128, 0, 0, 0, 128, - 0, 0, 170, 161, 0, 0, - 255, 129, 5, 0, 0, 3, - 2, 0, 7, 128, 2, 0, - 255, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 255, 128, - 2, 0, 228, 128, 88, 0, - 0, 4, 0, 0, 15, 128, - 0, 0, 0, 128, 2, 0, - 85, 160, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 108, 2, 0, 0, - 64, 0, 0, 0, 155, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 1, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 1, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 194, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 0, 0, - 0, 9, 50, 0, 16, 0, - 0, 0, 0, 0, 230, 26, - 16, 0, 1, 0, 0, 0, - 70, 128, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 54, 0, - 0, 6, 66, 0, 16, 0, - 0, 0, 0, 0, 58, 128, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 15, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 18, 0, 16, 0, - 0, 0, 0, 0, 58, 128, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 14, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 66, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 32, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 29, 0, 0, 9, - 66, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 34, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 63, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 31, 0, - 4, 3, 42, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 242, 32, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 21, 0, - 0, 1, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 1, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 32, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 19, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 9, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 92, 2, - 0, 0, 1, 0, 0, 0, - 224, 0, 0, 0, 5, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 255, 255, 0, 1, - 0, 0, 43, 2, 0, 0, - 188, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 197, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 210, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 214, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 1, 0, 0, 0, - 1, 0, 0, 0, 12, 0, - 0, 0, 219, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 83, - 97, 109, 112, 108, 101, 114, - 0, 115, 77, 97, 115, 107, - 83, 97, 109, 112, 108, 101, - 114, 0, 116, 101, 120, 0, - 109, 97, 115, 107, 0, 99, - 98, 50, 0, 171, 219, 0, - 0, 0, 7, 0, 0, 0, - 248, 0, 0, 0, 112, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 160, 1, - 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, - 0, 0, 184, 1, 0, 0, - 0, 0, 0, 0, 200, 1, - 0, 0, 48, 0, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 212, 1, 0, 0, - 0, 0, 0, 0, 228, 1, - 0, 0, 64, 0, 0, 0, - 12, 0, 0, 0, 2, 0, - 0, 0, 236, 1, 0, 0, - 0, 0, 0, 0, 252, 1, - 0, 0, 80, 0, 0, 0, - 8, 0, 0, 0, 2, 0, - 0, 0, 212, 1, 0, 0, - 0, 0, 0, 0, 4, 2, - 0, 0, 88, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 8, 2, 0, 0, - 0, 0, 0, 0, 24, 2, - 0, 0, 92, 0, 0, 0, - 4, 0, 0, 0, 2, 0, - 0, 0, 8, 2, 0, 0, - 0, 0, 0, 0, 32, 2, - 0, 0, 96, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 8, 2, 0, 0, - 0, 0, 0, 0, 68, 101, - 118, 105, 99, 101, 83, 112, - 97, 99, 101, 84, 111, 85, - 115, 101, 114, 83, 112, 97, - 99, 101, 0, 171, 3, 0, - 3, 0, 3, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 100, 105, 109, 101, - 110, 115, 105, 111, 110, 115, - 0, 171, 1, 0, 3, 0, - 1, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 100, 105, 102, 102, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 99, 101, 110, 116, 101, 114, - 49, 0, 65, 0, 171, 171, - 0, 0, 3, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 114, 97, - 100, 105, 117, 115, 49, 0, - 115, 113, 95, 114, 97, 100, - 105, 117, 115, 49, 0, 77, - 105, 99, 114, 111, 115, 111, - 102, 116, 32, 40, 82, 41, - 32, 72, 76, 83, 76, 32, - 83, 104, 97, 100, 101, 114, - 32, 67, 111, 109, 112, 105, - 108, 101, 114, 32, 57, 46, - 50, 57, 46, 57, 53, 50, - 46, 51, 49, 49, 49, 0, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 12, 12, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171, 64, 36, 0, 0, - 0, 0, 0, 0, 65, 80, - 111, 115, 87, 114, 97, 112, - 0, 40, 7, 0, 0, 68, - 88, 66, 67, 237, 58, 124, - 168, 122, 234, 242, 5, 75, - 29, 195, 6, 241, 206, 131, - 117, 1, 0, 0, 0, 40, - 7, 0, 0, 6, 0, 0, - 0, 56, 0, 0, 0, 148, - 1, 0, 0, 104, 3, 0, - 0, 228, 3, 0, 0, 132, - 6, 0, 0, 184, 6, 0, - 0, 65, 111, 110, 57, 84, - 1, 0, 0, 84, 1, 0, - 0, 0, 2, 254, 255, 252, - 0, 0, 0, 88, 0, 0, - 0, 4, 0, 36, 0, 0, - 0, 84, 0, 0, 0, 84, - 0, 0, 0, 36, 0, 1, - 0, 84, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 2, - 0, 1, 0, 2, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 2, 0, 3, 0, 0, - 0, 0, 0, 1, 0, 3, - 0, 1, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 2, 254, 255, 81, - 0, 0, 5, 6, 0, 15, - 160, 0, 0, 128, 63, 0, - 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 31, - 0, 0, 2, 5, 0, 0, - 128, 0, 0, 15, 144, 4, - 0, 0, 4, 0, 0, 3, - 224, 0, 0, 228, 144, 2, - 0, 238, 160, 2, 0, 228, - 160, 4, 0, 0, 4, 0, - 0, 3, 128, 0, 0, 228, - 144, 1, 0, 238, 160, 1, - 0, 228, 160, 2, 0, 0, - 3, 0, 0, 4, 128, 0, - 0, 0, 128, 6, 0, 0, - 160, 5, 0, 0, 3, 0, - 0, 4, 128, 0, 0, 170, - 128, 5, 0, 0, 160, 5, - 0, 0, 3, 1, 0, 1, - 128, 0, 0, 170, 128, 6, - 0, 85, 160, 2, 0, 0, - 3, 0, 0, 4, 128, 0, - 0, 85, 129, 6, 0, 0, - 160, 2, 0, 0, 3, 0, - 0, 3, 192, 0, 0, 228, - 128, 0, 0, 228, 160, 5, - 0, 0, 3, 0, 0, 1, - 128, 0, 0, 170, 128, 5, - 0, 85, 160, 5, 0, 0, - 3, 1, 0, 2, 128, 0, - 0, 0, 128, 6, 0, 85, - 160, 1, 0, 0, 2, 1, - 0, 4, 128, 6, 0, 0, - 160, 8, 0, 0, 3, 0, - 0, 8, 224, 1, 0, 228, - 128, 3, 0, 228, 160, 8, - 0, 0, 3, 0, 0, 4, - 224, 1, 0, 228, 128, 4, - 0, 228, 160, 1, 0, 0, - 2, 0, 0, 12, 192, 6, - 0, 36, 160, 255, 255, 0, - 0, 83, 72, 68, 82, 204, - 1, 0, 0, 64, 0, 1, - 0, 115, 0, 0, 0, 89, - 0, 0, 4, 70, 142, 32, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 1, - 0, 0, 0, 4, 0, 0, - 0, 95, 0, 0, 3, 50, - 16, 16, 0, 0, 0, 0, - 0, 103, 0, 0, 4, 242, - 32, 16, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 101, - 0, 0, 3, 50, 32, 16, - 0, 1, 0, 0, 0, 101, - 0, 0, 3, 194, 32, 16, - 0, 1, 0, 0, 0, 104, - 0, 0, 2, 2, 0, 0, - 0, 54, 0, 0, 8, 194, - 32, 16, 0, 0, 0, 0, - 0, 2, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 128, 63, 50, 0, 0, - 11, 50, 0, 16, 0, 0, - 0, 0, 0, 70, 16, 16, - 0, 0, 0, 0, 0, 230, - 138, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, - 128, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 54, - 0, 0, 5, 50, 32, 16, - 0, 0, 0, 0, 0, 70, - 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 18, - 0, 16, 0, 0, 0, 0, - 0, 10, 0, 16, 0, 0, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 128, 63, 0, - 0, 0, 8, 34, 0, 16, - 0, 0, 0, 0, 0, 26, - 0, 16, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 128, - 63, 56, 0, 0, 8, 50, - 0, 16, 0, 0, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 70, 128, 32, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 56, 0, 0, - 10, 50, 0, 16, 0, 1, - 0, 0, 0, 70, 0, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, - 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 5, 66, - 0, 16, 0, 1, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 128, 63, 16, 0, 0, - 8, 66, 32, 16, 0, 1, - 0, 0, 0, 70, 2, 16, - 0, 1, 0, 0, 0, 70, - 130, 32, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 16, - 0, 0, 8, 130, 32, 16, - 0, 1, 0, 0, 0, 70, - 2, 16, 0, 1, 0, 0, - 0, 70, 130, 32, 0, 1, - 0, 0, 0, 1, 0, 0, - 0, 50, 0, 0, 11, 50, - 32, 16, 0, 1, 0, 0, - 0, 70, 16, 16, 0, 0, - 0, 0, 0, 230, 138, 32, - 0, 0, 0, 0, 0, 2, - 0, 0, 0, 70, 128, 32, - 0, 0, 0, 0, 0, 2, - 0, 0, 0, 62, 0, 0, - 1, 83, 84, 65, 84, 116, - 0, 0, 0, 12, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 4, 0, 0, - 0, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, - 68, 69, 70, 152, 2, 0, - 0, 2, 0, 0, 0, 100, - 0, 0, 0, 2, 0, 0, - 0, 28, 0, 0, 0, 0, - 4, 254, 255, 0, 1, 0, - 0, 103, 2, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 99, 98, 48, - 0, 99, 98, 50, 0, 92, - 0, 0, 0, 4, 0, 0, - 0, 148, 0, 0, 0, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 96, - 0, 0, 0, 7, 0, 0, - 0, 52, 1, 0, 0, 112, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 244, - 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 2, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 16, - 1, 0, 0, 16, 0, 0, - 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 26, - 1, 0, 0, 32, 0, 0, - 0, 16, 0, 0, 0, 2, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 40, - 1, 0, 0, 48, 0, 0, - 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 81, - 117, 97, 100, 68, 101, 115, - 99, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 101, 120, - 67, 111, 111, 114, 100, 115, - 0, 77, 97, 115, 107, 84, - 101, 120, 67, 111, 111, 114, - 100, 115, 0, 84, 101, 120, - 116, 67, 111, 108, 111, 114, - 0, 171, 171, 220, 1, 0, - 0, 0, 0, 0, 0, 44, - 0, 0, 0, 2, 0, 0, - 0, 244, 1, 0, 0, 0, - 0, 0, 0, 4, 2, 0, - 0, 48, 0, 0, 0, 8, - 0, 0, 0, 2, 0, 0, - 0, 16, 2, 0, 0, 0, - 0, 0, 0, 32, 2, 0, - 0, 64, 0, 0, 0, 12, - 0, 0, 0, 0, 0, 0, - 0, 40, 2, 0, 0, 0, - 0, 0, 0, 56, 2, 0, - 0, 80, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 0, - 0, 16, 2, 0, 0, 0, - 0, 0, 0, 64, 2, 0, - 0, 88, 0, 0, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 68, 2, 0, 0, 0, - 0, 0, 0, 84, 2, 0, - 0, 92, 0, 0, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 68, 2, 0, 0, 0, - 0, 0, 0, 92, 2, 0, - 0, 96, 0, 0, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 68, 2, 0, 0, 0, - 0, 0, 0, 68, 101, 118, - 105, 99, 101, 83, 112, 97, - 99, 101, 84, 111, 85, 115, - 101, 114, 83, 112, 97, 99, - 101, 0, 171, 3, 0, 3, - 0, 3, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 100, 105, 109, 101, 110, - 115, 105, 111, 110, 115, 0, - 171, 1, 0, 3, 0, 1, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, - 105, 102, 102, 0, 171, 171, - 171, 1, 0, 3, 0, 1, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 99, - 101, 110, 116, 101, 114, 49, - 0, 65, 0, 171, 171, 0, - 0, 3, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 114, 97, 100, - 105, 117, 115, 49, 0, 115, - 113, 95, 114, 97, 100, 105, - 117, 115, 49, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 73, - 83, 71, 78, 44, 0, 0, - 0, 1, 0, 0, 0, 8, - 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 7, - 3, 0, 0, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 171, 171, 171, 79, 83, 71, - 78, 104, 0, 0, 0, 3, - 0, 0, 0, 8, 0, 0, - 0, 80, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 3, 12, 0, - 0, 92, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 12, 3, 0, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 171, 171, - 171, 17, 44, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 224, 9, 0, - 0, 68, 88, 66, 67, 24, - 242, 43, 93, 196, 38, 133, - 163, 204, 85, 187, 56, 214, - 99, 96, 127, 1, 0, 0, - 0, 224, 9, 0, 0, 6, - 0, 0, 0, 56, 0, 0, - 0, 128, 2, 0, 0, 88, - 6, 0, 0, 212, 6, 0, - 0, 60, 9, 0, 0, 172, - 9, 0, 0, 65, 111, 110, - 57, 64, 2, 0, 0, 64, - 2, 0, 0, 0, 2, 255, - 255, 8, 2, 0, 0, 56, - 0, 0, 0, 1, 0, 44, - 0, 0, 0, 56, 0, 0, - 0, 56, 0, 2, 0, 36, - 0, 0, 0, 56, 0, 0, - 0, 0, 0, 1, 1, 1, - 0, 0, 0, 4, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 1, 2, 255, 255, 81, - 0, 0, 5, 3, 0, 15, - 160, 0, 0, 0, 63, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, - 0, 0, 5, 4, 0, 15, - 160, 0, 0, 128, 63, 0, - 0, 128, 191, 0, 0, 0, - 0, 0, 0, 0, 128, 31, - 0, 0, 2, 0, 0, 0, - 128, 0, 0, 15, 176, 31, - 0, 0, 2, 0, 0, 0, - 144, 0, 8, 15, 160, 31, - 0, 0, 2, 0, 0, 0, - 144, 1, 8, 15, 160, 2, - 0, 0, 3, 0, 0, 3, - 128, 0, 0, 235, 176, 1, - 0, 228, 161, 90, 0, 0, - 4, 0, 0, 8, 128, 0, - 0, 228, 128, 0, 0, 228, - 128, 2, 0, 0, 161, 5, - 0, 0, 3, 0, 0, 8, - 128, 0, 0, 255, 128, 1, - 0, 170, 160, 1, 0, 0, - 2, 0, 0, 4, 128, 1, - 0, 255, 160, 8, 0, 0, - 3, 0, 0, 1, 128, 0, - 0, 228, 128, 0, 0, 228, - 160, 4, 0, 0, 4, 0, - 0, 2, 128, 0, 0, 0, - 128, 0, 0, 0, 128, 0, - 0, 255, 129, 35, 0, 0, - 2, 0, 0, 4, 128, 0, - 0, 85, 128, 7, 0, 0, - 2, 0, 0, 4, 128, 0, - 0, 170, 128, 6, 0, 0, - 2, 1, 0, 1, 128, 0, - 0, 170, 128, 1, 0, 0, - 2, 1, 0, 6, 128, 1, - 0, 0, 129, 2, 0, 0, - 3, 0, 0, 13, 128, 0, - 0, 0, 128, 1, 0, 148, - 128, 6, 0, 0, 2, 1, - 0, 1, 128, 1, 0, 170, - 160, 5, 0, 0, 3, 0, - 0, 13, 128, 0, 0, 228, - 128, 1, 0, 0, 128, 1, - 0, 0, 2, 1, 0, 8, - 128, 1, 0, 255, 160, 4, - 0, 0, 4, 1, 0, 7, - 128, 0, 0, 248, 128, 0, - 0, 170, 160, 1, 0, 255, - 128, 88, 0, 0, 4, 2, - 0, 1, 128, 1, 0, 0, - 128, 0, 0, 0, 128, 0, - 0, 255, 128, 88, 0, 0, - 4, 0, 0, 13, 128, 1, - 0, 148, 128, 4, 0, 68, - 160, 4, 0, 230, 160, 1, - 0, 0, 2, 2, 0, 2, - 128, 3, 0, 0, 160, 66, - 0, 0, 3, 1, 0, 15, - 128, 0, 0, 228, 176, 1, - 8, 228, 160, 66, 0, 0, - 3, 2, 0, 15, 128, 2, - 0, 228, 128, 0, 8, 228, - 160, 5, 0, 0, 3, 2, - 0, 7, 128, 2, 0, 255, - 128, 2, 0, 228, 128, 5, - 0, 0, 3, 1, 0, 15, - 128, 1, 0, 255, 128, 2, - 0, 228, 128, 2, 0, 0, - 3, 0, 0, 8, 128, 0, - 0, 255, 128, 0, 0, 0, - 128, 88, 0, 0, 4, 0, - 0, 1, 128, 0, 0, 255, - 128, 0, 0, 0, 128, 0, - 0, 170, 128, 88, 0, 0, - 4, 1, 0, 15, 128, 0, - 0, 0, 129, 4, 0, 170, - 160, 1, 0, 228, 128, 88, - 0, 0, 4, 0, 0, 15, - 128, 0, 0, 85, 128, 1, - 0, 228, 128, 4, 0, 170, - 160, 1, 0, 0, 2, 0, - 8, 15, 128, 0, 0, 228, - 128, 255, 255, 0, 0, 83, - 72, 68, 82, 208, 3, 0, - 0, 64, 0, 0, 0, 244, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 0, - 0, 0, 0, 7, 0, 0, - 0, 90, 0, 0, 3, 0, - 96, 16, 0, 0, 0, 0, - 0, 90, 0, 0, 3, 0, - 96, 16, 0, 1, 0, 0, - 0, 88, 24, 0, 4, 0, - 112, 16, 0, 0, 0, 0, - 0, 85, 85, 0, 0, 88, - 24, 0, 4, 0, 112, 16, - 0, 1, 0, 0, 0, 85, - 85, 0, 0, 98, 16, 0, - 3, 50, 16, 16, 0, 1, - 0, 0, 0, 98, 16, 0, - 3, 194, 16, 16, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 242, 32, 16, 0, 0, - 0, 0, 0, 104, 0, 0, - 2, 3, 0, 0, 0, 0, - 0, 0, 9, 50, 0, 16, - 0, 0, 0, 0, 0, 230, - 26, 16, 0, 1, 0, 0, - 0, 70, 128, 32, 128, 65, - 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 54, - 0, 0, 6, 66, 0, 16, - 0, 0, 0, 0, 0, 58, - 128, 32, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 16, - 0, 0, 8, 66, 0, 16, - 0, 0, 0, 0, 0, 70, - 2, 16, 0, 0, 0, 0, - 0, 70, 130, 32, 0, 0, - 0, 0, 0, 4, 0, 0, - 0, 15, 0, 0, 7, 18, - 0, 16, 0, 0, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 70, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 9, 18, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 10, 128, 32, 128, 65, - 0, 0, 0, 0, 0, 0, - 0, 6, 0, 0, 0, 56, - 0, 0, 8, 18, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 42, 128, 32, 0, 0, - 0, 0, 0, 5, 0, 0, - 0, 50, 0, 0, 10, 18, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 0, 0, - 0, 0, 0, 42, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 49, - 0, 0, 7, 34, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 0, 0, 75, 0, 0, - 6, 18, 0, 16, 0, 1, - 0, 0, 0, 10, 0, 16, - 128, 129, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, - 6, 34, 0, 16, 0, 1, - 0, 0, 0, 10, 0, 16, - 128, 65, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 7, 82, 0, 16, 0, 0, - 0, 0, 0, 166, 10, 16, - 0, 0, 0, 0, 0, 6, - 1, 16, 0, 1, 0, 0, - 0, 14, 0, 0, 8, 82, - 0, 16, 0, 0, 0, 0, - 0, 6, 2, 16, 0, 0, - 0, 0, 0, 166, 138, 32, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 56, 0, 0, - 8, 50, 0, 16, 0, 1, - 0, 0, 0, 134, 0, 16, - 0, 0, 0, 0, 0, 166, - 138, 32, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 29, - 0, 0, 9, 50, 0, 16, - 0, 1, 0, 0, 0, 70, - 0, 16, 0, 1, 0, 0, - 0, 246, 143, 32, 128, 65, - 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 1, - 0, 0, 10, 50, 0, 16, - 0, 1, 0, 0, 0, 70, - 0, 16, 0, 1, 0, 0, - 0, 2, 64, 0, 0, 0, - 0, 128, 63, 0, 0, 128, - 63, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 8, 18, 0, 16, 0, 0, - 0, 0, 0, 42, 0, 16, - 128, 65, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 50, - 0, 0, 9, 18, 0, 16, - 0, 2, 0, 0, 0, 10, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 0, 0, - 0, 0, 0, 42, 0, 16, - 0, 0, 0, 0, 0, 54, - 0, 0, 5, 34, 0, 16, - 0, 2, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 0, - 63, 69, 0, 0, 9, 242, - 0, 16, 0, 2, 0, 0, - 0, 70, 0, 16, 0, 2, - 0, 0, 0, 70, 126, 16, - 0, 0, 0, 0, 0, 0, - 96, 16, 0, 0, 0, 0, - 0, 31, 0, 4, 3, 26, - 0, 16, 0, 0, 0, 0, - 0, 54, 0, 0, 8, 242, - 32, 16, 0, 0, 0, 0, - 0, 2, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, - 1, 21, 0, 0, 1, 52, - 0, 0, 7, 18, 0, 16, - 0, 0, 0, 0, 0, 26, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 0, 1, - 0, 0, 0, 29, 0, 0, - 7, 18, 0, 16, 0, 0, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 31, 0, 4, 3, 10, - 0, 16, 0, 0, 0, 0, - 0, 54, 0, 0, 8, 242, - 32, 16, 0, 0, 0, 0, - 0, 2, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, - 1, 21, 0, 0, 1, 56, - 0, 0, 7, 114, 0, 16, - 0, 2, 0, 0, 0, 246, - 15, 16, 0, 2, 0, 0, - 0, 70, 2, 16, 0, 2, - 0, 0, 0, 69, 0, 0, - 9, 242, 0, 16, 0, 0, - 0, 0, 0, 70, 16, 16, - 0, 1, 0, 0, 0, 70, - 126, 16, 0, 1, 0, 0, - 0, 0, 96, 16, 0, 1, - 0, 0, 0, 56, 0, 0, - 7, 242, 32, 16, 0, 0, - 0, 0, 0, 246, 15, 16, - 0, 0, 0, 0, 0, 70, - 14, 16, 0, 2, 0, 0, - 0, 62, 0, 0, 1, 83, - 84, 65, 84, 116, 0, 0, - 0, 33, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 68, 69, - 70, 96, 2, 0, 0, 1, - 0, 0, 0, 228, 0, 0, - 0, 5, 0, 0, 0, 28, - 0, 0, 0, 0, 4, 255, - 255, 0, 1, 0, 0, 47, - 2, 0, 0, 188, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 201, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 214, 0, 0, 0, 2, - 0, 0, 0, 5, 0, 0, - 0, 4, 0, 0, 0, 255, - 255, 255, 255, 0, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 218, 0, 0, - 0, 2, 0, 0, 0, 5, - 0, 0, 0, 4, 0, 0, - 0, 255, 255, 255, 255, 1, - 0, 0, 0, 1, 0, 0, - 0, 12, 0, 0, 0, 223, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 115, 87, 114, 97, 112, - 83, 97, 109, 112, 108, 101, - 114, 0, 115, 77, 97, 115, - 107, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 101, 120, - 0, 109, 97, 115, 107, 0, - 99, 98, 50, 0, 171, 223, - 0, 0, 0, 7, 0, 0, - 0, 252, 0, 0, 0, 112, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 164, - 1, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, - 0, 0, 0, 188, 1, 0, - 0, 0, 0, 0, 0, 204, - 1, 0, 0, 48, 0, 0, - 0, 8, 0, 0, 0, 0, - 0, 0, 0, 216, 1, 0, - 0, 0, 0, 0, 0, 232, - 1, 0, 0, 64, 0, 0, - 0, 12, 0, 0, 0, 2, - 0, 0, 0, 240, 1, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 80, 0, 0, - 0, 8, 0, 0, 0, 2, - 0, 0, 0, 216, 1, 0, - 0, 0, 0, 0, 0, 8, - 2, 0, 0, 88, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 12, 2, 0, - 0, 0, 0, 0, 0, 28, - 2, 0, 0, 92, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 12, 2, 0, - 0, 0, 0, 0, 0, 36, - 2, 0, 0, 96, 0, 0, - 0, 4, 0, 0, 0, 2, - 0, 0, 0, 12, 2, 0, - 0, 0, 0, 0, 0, 68, - 101, 118, 105, 99, 101, 83, - 112, 97, 99, 101, 84, 111, - 85, 115, 101, 114, 83, 112, - 97, 99, 101, 0, 171, 3, - 0, 3, 0, 3, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 105, 109, - 101, 110, 115, 105, 111, 110, - 115, 0, 171, 1, 0, 3, - 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 100, 105, 102, 102, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 99, 101, 110, 116, 101, - 114, 49, 0, 65, 0, 171, - 171, 0, 0, 3, 0, 1, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, - 97, 100, 105, 117, 115, 49, - 0, 115, 113, 95, 114, 97, - 100, 105, 117, 115, 49, 0, - 77, 105, 99, 114, 111, 115, - 111, 102, 116, 32, 40, 82, - 41, 32, 72, 76, 83, 76, - 32, 83, 104, 97, 100, 101, - 114, 32, 67, 111, 109, 112, - 105, 108, 101, 114, 32, 57, - 46, 50, 57, 46, 57, 53, - 50, 46, 51, 49, 49, 49, - 0, 73, 83, 71, 78, 104, - 0, 0, 0, 3, 0, 0, - 0, 8, 0, 0, 0, 80, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 3, 3, 0, 0, 92, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 12, 12, 0, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 171, 171, 171, 79, - 83, 71, 78, 44, 0, 0, - 0, 1, 0, 0, 0, 8, - 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 15, - 0, 0, 0, 83, 86, 95, - 84, 97, 114, 103, 101, 116, - 0, 171, 171, 81, 51, 0, - 0, 0, 0, 0, 0, 65, - 48, 87, 114, 97, 112, 0, - 40, 7, 0, 0, 68, 88, - 66, 67, 237, 58, 124, 168, - 122, 234, 242, 5, 75, 29, - 195, 6, 241, 206, 131, 117, - 1, 0, 0, 0, 40, 7, - 0, 0, 6, 0, 0, 0, - 56, 0, 0, 0, 148, 1, - 0, 0, 104, 3, 0, 0, - 228, 3, 0, 0, 132, 6, - 0, 0, 184, 6, 0, 0, - 65, 111, 110, 57, 84, 1, - 0, 0, 84, 1, 0, 0, - 0, 2, 254, 255, 252, 0, - 0, 0, 88, 0, 0, 0, - 4, 0, 36, 0, 0, 0, - 84, 0, 0, 0, 84, 0, - 0, 0, 36, 0, 1, 0, - 84, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 1, 0, 2, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 3, 0, 0, 0, - 0, 0, 1, 0, 3, 0, - 1, 0, 5, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 2, 254, 255, 81, 0, - 0, 5, 6, 0, 15, 160, - 0, 0, 128, 63, 0, 0, - 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 4, 0, - 0, 4, 0, 0, 3, 224, - 0, 0, 228, 144, 2, 0, - 238, 160, 2, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 128, 0, 0, 228, 144, - 1, 0, 238, 160, 1, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 0, 128, 6, 0, 0, 160, - 5, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 170, 128, - 5, 0, 0, 160, 5, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 170, 128, 6, 0, - 85, 160, 2, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 85, 129, 6, 0, 0, 160, - 2, 0, 0, 3, 0, 0, - 3, 192, 0, 0, 228, 128, - 0, 0, 228, 160, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 170, 128, 5, 0, - 85, 160, 5, 0, 0, 3, - 1, 0, 2, 128, 0, 0, - 0, 128, 6, 0, 85, 160, - 1, 0, 0, 2, 1, 0, - 4, 128, 6, 0, 0, 160, - 8, 0, 0, 3, 0, 0, - 8, 224, 1, 0, 228, 128, - 3, 0, 228, 160, 8, 0, - 0, 3, 0, 0, 4, 224, - 1, 0, 228, 128, 4, 0, - 228, 160, 1, 0, 0, 2, - 0, 0, 12, 192, 6, 0, - 36, 160, 255, 255, 0, 0, - 83, 72, 68, 82, 204, 1, - 0, 0, 64, 0, 1, 0, - 115, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 1, 0, - 0, 0, 4, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 194, 32, 16, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 54, 0, 0, 8, 194, 32, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 50, 0, 0, 11, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 0, 0, - 0, 8, 34, 0, 16, 0, - 0, 0, 0, 0, 26, 0, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 8, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 70, 128, 32, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 56, 0, 0, 10, - 50, 0, 16, 0, 1, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 16, 0, 0, 8, - 66, 32, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 8, 130, 32, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 50, 32, - 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 70, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 12, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 152, 2, 0, 0, - 2, 0, 0, 0, 100, 0, - 0, 0, 2, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 254, 255, 0, 1, 0, 0, - 103, 2, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 99, 98, 48, 0, - 99, 98, 50, 0, 92, 0, - 0, 0, 4, 0, 0, 0, - 148, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, - 0, 0, 7, 0, 0, 0, - 52, 1, 0, 0, 112, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 16, 1, - 0, 0, 16, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 26, 1, - 0, 0, 32, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 40, 1, - 0, 0, 48, 0, 0, 0, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 81, 117, - 97, 100, 68, 101, 115, 99, - 0, 171, 171, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 77, 97, 115, 107, 84, 101, - 120, 67, 111, 111, 114, 100, - 115, 0, 84, 101, 120, 116, - 67, 111, 108, 111, 114, 0, - 171, 171, 220, 1, 0, 0, - 0, 0, 0, 0, 44, 0, - 0, 0, 2, 0, 0, 0, - 244, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 0, 0, - 48, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 32, 2, 0, 0, - 64, 0, 0, 0, 12, 0, - 0, 0, 0, 0, 0, 0, - 40, 2, 0, 0, 0, 0, - 0, 0, 56, 2, 0, 0, - 80, 0, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 64, 2, 0, 0, - 88, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 68, 2, 0, 0, 0, 0, - 0, 0, 84, 2, 0, 0, - 92, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 68, 2, 0, 0, 0, 0, - 0, 0, 92, 2, 0, 0, - 96, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 68, 2, 0, 0, 0, 0, - 0, 0, 68, 101, 118, 105, - 99, 101, 83, 112, 97, 99, - 101, 84, 111, 85, 115, 101, - 114, 83, 112, 97, 99, 101, - 0, 171, 3, 0, 3, 0, - 3, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 100, 105, 109, 101, 110, 115, - 105, 111, 110, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 105, - 102, 102, 0, 171, 171, 171, - 1, 0, 3, 0, 1, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 99, 101, - 110, 116, 101, 114, 49, 0, - 65, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 114, 97, 100, 105, - 117, 115, 49, 0, 115, 113, - 95, 114, 97, 100, 105, 117, - 115, 49, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 57, 46, 50, 57, - 46, 57, 53, 50, 46, 51, - 49, 49, 49, 0, 73, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 7, 3, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 171, - 171, 171, 79, 83, 71, 78, - 104, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 92, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 68, 61, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 192, 7, 0, 0, - 68, 88, 66, 67, 148, 128, - 74, 221, 199, 126, 74, 95, - 7, 207, 141, 28, 193, 83, - 71, 108, 1, 0, 0, 0, - 192, 7, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 196, 1, 0, 0, 56, 4, - 0, 0, 180, 4, 0, 0, - 28, 7, 0, 0, 140, 7, - 0, 0, 65, 111, 110, 57, - 132, 1, 0, 0, 132, 1, - 0, 0, 0, 2, 255, 255, - 76, 1, 0, 0, 56, 0, - 0, 0, 1, 0, 44, 0, - 0, 0, 56, 0, 0, 0, - 56, 0, 2, 0, 36, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 1, 1, 1, 0, - 0, 0, 4, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 1, 2, 255, 255, 81, 0, - 0, 5, 2, 0, 15, 160, - 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 31, 0, - 0, 2, 0, 0, 0, 144, - 1, 8, 15, 160, 5, 0, - 0, 3, 0, 0, 8, 128, - 1, 0, 255, 160, 1, 0, - 255, 160, 2, 0, 0, 3, - 0, 0, 3, 128, 0, 0, - 235, 176, 1, 0, 228, 161, - 90, 0, 0, 4, 0, 0, - 8, 128, 0, 0, 228, 128, - 0, 0, 228, 128, 0, 0, - 255, 129, 5, 0, 0, 3, - 0, 0, 8, 128, 0, 0, - 255, 128, 2, 0, 0, 160, - 1, 0, 0, 2, 0, 0, - 4, 128, 1, 0, 255, 160, - 8, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 128, - 0, 0, 228, 160, 6, 0, - 0, 2, 0, 0, 1, 128, - 0, 0, 0, 128, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 0, 0, - 255, 128, 1, 0, 0, 2, - 0, 0, 2, 128, 2, 0, - 0, 160, 66, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 176, 1, 8, 228, 160, - 66, 0, 0, 3, 2, 0, - 15, 128, 0, 0, 228, 128, - 0, 8, 228, 160, 1, 0, - 0, 2, 0, 0, 8, 128, - 1, 0, 255, 160, 4, 0, - 0, 4, 0, 0, 1, 128, - 0, 0, 0, 128, 0, 0, - 170, 161, 0, 0, 255, 129, - 5, 0, 0, 3, 2, 0, - 7, 128, 2, 0, 255, 128, - 2, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 255, 128, 2, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 15, 128, 0, 0, - 0, 128, 2, 0, 85, 160, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 108, 2, 0, 0, 64, 0, - 0, 0, 155, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 1, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 1, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 194, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 0, 0, 0, 9, - 50, 0, 16, 0, 0, 0, - 0, 0, 230, 26, 16, 0, - 1, 0, 0, 0, 70, 128, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 54, 0, 0, 6, - 66, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 16, 0, 0, 8, - 66, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 15, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 18, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 63, - 14, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 42, 128, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 29, 0, 0, 9, 66, 0, - 16, 0, 0, 0, 0, 0, - 58, 128, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 34, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 63, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 31, 0, 4, 3, - 42, 0, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 8, - 242, 32, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 21, 0, 0, 1, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 1, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 32, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 19, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 96, 2, 0, 0, - 1, 0, 0, 0, 228, 0, - 0, 0, 5, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 47, 2, 0, 0, 188, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 201, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 214, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 218, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 1, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 223, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 87, 114, 97, - 112, 83, 97, 109, 112, 108, - 101, 114, 0, 115, 77, 97, - 115, 107, 83, 97, 109, 112, - 108, 101, 114, 0, 116, 101, - 120, 0, 109, 97, 115, 107, - 0, 99, 98, 50, 0, 171, - 223, 0, 0, 0, 7, 0, - 0, 0, 252, 0, 0, 0, - 112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 164, 1, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 188, 1, - 0, 0, 0, 0, 0, 0, - 204, 1, 0, 0, 48, 0, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 216, 1, - 0, 0, 0, 0, 0, 0, - 232, 1, 0, 0, 64, 0, - 0, 0, 12, 0, 0, 0, - 2, 0, 0, 0, 240, 1, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 80, 0, - 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 216, 1, - 0, 0, 0, 0, 0, 0, - 8, 2, 0, 0, 88, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 12, 2, - 0, 0, 0, 0, 0, 0, - 28, 2, 0, 0, 92, 0, - 0, 0, 4, 0, 0, 0, - 2, 0, 0, 0, 12, 2, - 0, 0, 0, 0, 0, 0, - 36, 2, 0, 0, 96, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 12, 2, - 0, 0, 0, 0, 0, 0, - 68, 101, 118, 105, 99, 101, - 83, 112, 97, 99, 101, 84, - 111, 85, 115, 101, 114, 83, - 112, 97, 99, 101, 0, 171, - 3, 0, 3, 0, 3, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 105, - 109, 101, 110, 115, 105, 111, - 110, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 100, 105, 102, 102, - 0, 171, 171, 171, 1, 0, - 3, 0, 1, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 99, 101, 110, 116, - 101, 114, 49, 0, 65, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 114, 97, 100, 105, 117, 115, - 49, 0, 115, 113, 95, 114, - 97, 100, 105, 117, 115, 49, - 0, 77, 105, 99, 114, 111, - 115, 111, 102, 116, 32, 40, - 82, 41, 32, 72, 76, 83, - 76, 32, 83, 104, 97, 100, - 101, 114, 32, 67, 111, 109, - 112, 105, 108, 101, 114, 32, - 57, 46, 50, 57, 46, 57, - 53, 50, 46, 51, 49, 49, - 49, 0, 73, 83, 71, 78, - 104, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 92, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 12, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171, 132, 68, - 0, 0, 0, 0, 0, 0, - 65, 80, 111, 115, 77, 105, - 114, 114, 111, 114, 0, 40, - 7, 0, 0, 68, 88, 66, - 67, 237, 58, 124, 168, 122, - 234, 242, 5, 75, 29, 195, - 6, 241, 206, 131, 117, 1, - 0, 0, 0, 40, 7, 0, - 0, 6, 0, 0, 0, 56, - 0, 0, 0, 148, 1, 0, - 0, 104, 3, 0, 0, 228, - 3, 0, 0, 132, 6, 0, - 0, 184, 6, 0, 0, 65, - 111, 110, 57, 84, 1, 0, - 0, 84, 1, 0, 0, 0, - 2, 254, 255, 252, 0, 0, - 0, 88, 0, 0, 0, 4, - 0, 36, 0, 0, 0, 84, - 0, 0, 0, 84, 0, 0, - 0, 36, 0, 1, 0, 84, - 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 1, - 0, 2, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 3, 0, 0, 0, 0, - 0, 1, 0, 3, 0, 1, - 0, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 2, 254, 255, 81, 0, 0, - 5, 6, 0, 15, 160, 0, - 0, 128, 63, 0, 0, 0, - 63, 0, 0, 0, 0, 0, - 0, 0, 0, 31, 0, 0, - 2, 5, 0, 0, 128, 0, - 0, 15, 144, 4, 0, 0, - 4, 0, 0, 3, 224, 0, - 0, 228, 144, 2, 0, 238, - 160, 2, 0, 228, 160, 4, - 0, 0, 4, 0, 0, 3, - 128, 0, 0, 228, 144, 1, - 0, 238, 160, 1, 0, 228, - 160, 2, 0, 0, 3, 0, - 0, 4, 128, 0, 0, 0, - 128, 6, 0, 0, 160, 5, - 0, 0, 3, 0, 0, 4, - 128, 0, 0, 170, 128, 5, - 0, 0, 160, 5, 0, 0, - 3, 1, 0, 1, 128, 0, - 0, 170, 128, 6, 0, 85, - 160, 2, 0, 0, 3, 0, - 0, 4, 128, 0, 0, 85, - 129, 6, 0, 0, 160, 2, - 0, 0, 3, 0, 0, 3, - 192, 0, 0, 228, 128, 0, - 0, 228, 160, 5, 0, 0, - 3, 0, 0, 1, 128, 0, - 0, 170, 128, 5, 0, 85, - 160, 5, 0, 0, 3, 1, - 0, 2, 128, 0, 0, 0, - 128, 6, 0, 85, 160, 1, - 0, 0, 2, 1, 0, 4, - 128, 6, 0, 0, 160, 8, - 0, 0, 3, 0, 0, 8, - 224, 1, 0, 228, 128, 3, - 0, 228, 160, 8, 0, 0, - 3, 0, 0, 4, 224, 1, - 0, 228, 128, 4, 0, 228, - 160, 1, 0, 0, 2, 0, - 0, 12, 192, 6, 0, 36, - 160, 255, 255, 0, 0, 83, - 72, 68, 82, 204, 1, 0, - 0, 64, 0, 1, 0, 115, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 89, 0, 0, 4, 70, - 142, 32, 0, 1, 0, 0, - 0, 4, 0, 0, 0, 95, - 0, 0, 3, 50, 16, 16, - 0, 0, 0, 0, 0, 103, - 0, 0, 4, 242, 32, 16, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 50, 32, 16, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 194, 32, 16, 0, 1, - 0, 0, 0, 104, 0, 0, - 2, 2, 0, 0, 0, 54, - 0, 0, 8, 194, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, - 63, 50, 0, 0, 11, 50, - 0, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 0, - 0, 0, 0, 230, 138, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 128, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, - 5, 50, 32, 16, 0, 0, - 0, 0, 0, 70, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 7, 18, 0, 16, - 0, 0, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 128, 63, 0, 0, 0, - 8, 34, 0, 16, 0, 0, - 0, 0, 0, 26, 0, 16, - 128, 65, 0, 0, 0, 0, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 128, 63, 56, - 0, 0, 8, 50, 0, 16, - 0, 0, 0, 0, 0, 70, - 0, 16, 0, 0, 0, 0, - 0, 70, 128, 32, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 56, 0, 0, 10, 50, - 0, 16, 0, 1, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 2, 64, 0, - 0, 0, 0, 0, 63, 0, - 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 54, - 0, 0, 5, 66, 0, 16, - 0, 1, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 128, - 63, 16, 0, 0, 8, 66, - 32, 16, 0, 1, 0, 0, - 0, 70, 2, 16, 0, 1, - 0, 0, 0, 70, 130, 32, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, - 8, 130, 32, 16, 0, 1, - 0, 0, 0, 70, 2, 16, - 0, 1, 0, 0, 0, 70, - 130, 32, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 50, - 0, 0, 11, 50, 32, 16, - 0, 1, 0, 0, 0, 70, - 16, 16, 0, 0, 0, 0, - 0, 230, 138, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 70, 128, 32, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 62, 0, 0, 1, 83, - 84, 65, 84, 116, 0, 0, - 0, 12, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 68, 69, - 70, 152, 2, 0, 0, 2, - 0, 0, 0, 100, 0, 0, - 0, 2, 0, 0, 0, 28, - 0, 0, 0, 0, 4, 254, - 255, 0, 1, 0, 0, 103, - 2, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 96, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 99, 98, 48, 0, 99, - 98, 50, 0, 92, 0, 0, - 0, 4, 0, 0, 0, 148, - 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, - 0, 7, 0, 0, 0, 52, - 1, 0, 0, 112, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 244, 0, 0, - 0, 0, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 16, 1, 0, - 0, 16, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 26, 1, 0, - 0, 32, 0, 0, 0, 16, - 0, 0, 0, 2, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 40, 1, 0, - 0, 48, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 81, 117, 97, - 100, 68, 101, 115, 99, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 84, 101, 120, 67, 111, - 111, 114, 100, 115, 0, 77, - 97, 115, 107, 84, 101, 120, - 67, 111, 111, 114, 100, 115, - 0, 84, 101, 120, 116, 67, - 111, 108, 111, 114, 0, 171, - 171, 220, 1, 0, 0, 0, - 0, 0, 0, 44, 0, 0, - 0, 2, 0, 0, 0, 244, - 1, 0, 0, 0, 0, 0, - 0, 4, 2, 0, 0, 48, - 0, 0, 0, 8, 0, 0, - 0, 2, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 32, 2, 0, 0, 64, - 0, 0, 0, 12, 0, 0, - 0, 0, 0, 0, 0, 40, - 2, 0, 0, 0, 0, 0, - 0, 56, 2, 0, 0, 80, - 0, 0, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 64, 2, 0, 0, 88, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 84, 2, 0, 0, 92, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 92, 2, 0, 0, 96, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 68, - 2, 0, 0, 0, 0, 0, - 0, 68, 101, 118, 105, 99, - 101, 83, 112, 97, 99, 101, - 84, 111, 85, 115, 101, 114, - 83, 112, 97, 99, 101, 0, - 171, 3, 0, 3, 0, 3, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, - 105, 109, 101, 110, 115, 105, - 111, 110, 115, 0, 171, 1, - 0, 3, 0, 1, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 105, 102, - 102, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 99, 101, 110, - 116, 101, 114, 49, 0, 65, - 0, 171, 171, 0, 0, 3, - 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 114, 97, 100, 105, 117, - 115, 49, 0, 115, 113, 95, - 114, 97, 100, 105, 117, 115, - 49, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 73, 83, 71, - 78, 44, 0, 0, 0, 1, - 0, 0, 0, 8, 0, 0, - 0, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 7, 3, 0, - 0, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 171, 171, - 171, 79, 83, 71, 78, 104, - 0, 0, 0, 3, 0, 0, - 0, 8, 0, 0, 0, 80, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 3, 12, 0, 0, 92, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 12, 3, 0, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 171, 171, 171, 91, - 76, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 228, 9, 0, 0, 68, - 88, 66, 67, 90, 139, 199, - 161, 131, 3, 38, 117, 153, - 113, 42, 204, 54, 196, 132, - 44, 1, 0, 0, 0, 228, - 9, 0, 0, 6, 0, 0, - 0, 56, 0, 0, 0, 128, - 2, 0, 0, 88, 6, 0, - 0, 212, 6, 0, 0, 64, - 9, 0, 0, 176, 9, 0, - 0, 65, 111, 110, 57, 64, - 2, 0, 0, 64, 2, 0, - 0, 0, 2, 255, 255, 8, - 2, 0, 0, 56, 0, 0, - 0, 1, 0, 44, 0, 0, - 0, 56, 0, 0, 0, 56, - 0, 2, 0, 36, 0, 0, - 0, 56, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 0, - 0, 4, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 1, - 2, 255, 255, 81, 0, 0, - 5, 3, 0, 15, 160, 0, - 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, - 5, 4, 0, 15, 160, 0, - 0, 128, 63, 0, 0, 128, - 191, 0, 0, 0, 0, 0, - 0, 0, 128, 31, 0, 0, - 2, 0, 0, 0, 128, 0, - 0, 15, 176, 31, 0, 0, - 2, 0, 0, 0, 144, 0, - 8, 15, 160, 31, 0, 0, - 2, 0, 0, 0, 144, 1, - 8, 15, 160, 2, 0, 0, - 3, 0, 0, 3, 128, 0, - 0, 235, 176, 1, 0, 228, - 161, 90, 0, 0, 4, 0, - 0, 8, 128, 0, 0, 228, - 128, 0, 0, 228, 128, 2, - 0, 0, 161, 5, 0, 0, - 3, 0, 0, 8, 128, 0, - 0, 255, 128, 1, 0, 170, - 160, 1, 0, 0, 2, 0, - 0, 4, 128, 1, 0, 255, - 160, 8, 0, 0, 3, 0, - 0, 1, 128, 0, 0, 228, - 128, 0, 0, 228, 160, 4, - 0, 0, 4, 0, 0, 2, - 128, 0, 0, 0, 128, 0, - 0, 0, 128, 0, 0, 255, - 129, 35, 0, 0, 2, 0, - 0, 4, 128, 0, 0, 85, - 128, 7, 0, 0, 2, 0, - 0, 4, 128, 0, 0, 170, - 128, 6, 0, 0, 2, 1, - 0, 1, 128, 0, 0, 170, - 128, 1, 0, 0, 2, 1, - 0, 6, 128, 1, 0, 0, - 129, 2, 0, 0, 3, 0, - 0, 13, 128, 0, 0, 0, - 128, 1, 0, 148, 128, 6, - 0, 0, 2, 1, 0, 1, - 128, 1, 0, 170, 160, 5, - 0, 0, 3, 0, 0, 13, - 128, 0, 0, 228, 128, 1, - 0, 0, 128, 1, 0, 0, - 2, 1, 0, 8, 128, 1, - 0, 255, 160, 4, 0, 0, - 4, 1, 0, 7, 128, 0, - 0, 248, 128, 0, 0, 170, - 160, 1, 0, 255, 128, 88, - 0, 0, 4, 2, 0, 1, - 128, 1, 0, 0, 128, 0, - 0, 0, 128, 0, 0, 255, - 128, 88, 0, 0, 4, 0, - 0, 13, 128, 1, 0, 148, - 128, 4, 0, 68, 160, 4, - 0, 230, 160, 1, 0, 0, - 2, 2, 0, 2, 128, 3, - 0, 0, 160, 66, 0, 0, - 3, 1, 0, 15, 128, 0, - 0, 228, 176, 1, 8, 228, - 160, 66, 0, 0, 3, 2, - 0, 15, 128, 2, 0, 228, - 128, 0, 8, 228, 160, 5, - 0, 0, 3, 2, 0, 7, - 128, 2, 0, 255, 128, 2, - 0, 228, 128, 5, 0, 0, - 3, 1, 0, 15, 128, 1, - 0, 255, 128, 2, 0, 228, - 128, 2, 0, 0, 3, 0, - 0, 8, 128, 0, 0, 255, - 128, 0, 0, 0, 128, 88, - 0, 0, 4, 0, 0, 1, - 128, 0, 0, 255, 128, 0, - 0, 0, 128, 0, 0, 170, - 128, 88, 0, 0, 4, 1, - 0, 15, 128, 0, 0, 0, - 129, 4, 0, 170, 160, 1, - 0, 228, 128, 88, 0, 0, - 4, 0, 0, 15, 128, 0, - 0, 85, 128, 1, 0, 228, - 128, 4, 0, 170, 160, 1, - 0, 0, 2, 0, 8, 15, - 128, 0, 0, 228, 128, 255, - 255, 0, 0, 83, 72, 68, - 82, 208, 3, 0, 0, 64, - 0, 0, 0, 244, 0, 0, - 0, 89, 0, 0, 4, 70, - 142, 32, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 90, - 0, 0, 3, 0, 96, 16, - 0, 0, 0, 0, 0, 90, - 0, 0, 3, 0, 96, 16, - 0, 1, 0, 0, 0, 88, - 24, 0, 4, 0, 112, 16, - 0, 0, 0, 0, 0, 85, - 85, 0, 0, 88, 24, 0, - 4, 0, 112, 16, 0, 1, - 0, 0, 0, 85, 85, 0, - 0, 98, 16, 0, 3, 50, - 16, 16, 0, 1, 0, 0, - 0, 98, 16, 0, 3, 194, - 16, 16, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 242, - 32, 16, 0, 0, 0, 0, - 0, 104, 0, 0, 2, 3, - 0, 0, 0, 0, 0, 0, - 9, 50, 0, 16, 0, 0, - 0, 0, 0, 230, 26, 16, - 0, 1, 0, 0, 0, 70, - 128, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 54, 0, 0, - 6, 66, 0, 16, 0, 0, - 0, 0, 0, 58, 128, 32, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 16, 0, 0, - 8, 66, 0, 16, 0, 0, - 0, 0, 0, 70, 2, 16, - 0, 0, 0, 0, 0, 70, - 130, 32, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 15, - 0, 0, 7, 18, 0, 16, - 0, 0, 0, 0, 0, 70, - 0, 16, 0, 0, 0, 0, - 0, 70, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, - 9, 18, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 10, - 128, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 6, - 0, 0, 0, 56, 0, 0, - 8, 18, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 42, - 128, 32, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 50, - 0, 0, 10, 18, 0, 16, - 0, 0, 0, 0, 0, 42, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 128, 65, 0, 0, 0, 0, - 0, 0, 0, 49, 0, 0, - 7, 34, 0, 16, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 1, - 64, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 6, 18, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 128, 129, - 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 6, 34, - 0, 16, 0, 1, 0, 0, - 0, 10, 0, 16, 128, 65, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 7, 82, - 0, 16, 0, 0, 0, 0, - 0, 166, 10, 16, 0, 0, - 0, 0, 0, 6, 1, 16, - 0, 1, 0, 0, 0, 14, - 0, 0, 8, 82, 0, 16, - 0, 0, 0, 0, 0, 6, - 2, 16, 0, 0, 0, 0, - 0, 166, 138, 32, 0, 0, - 0, 0, 0, 5, 0, 0, - 0, 56, 0, 0, 8, 50, - 0, 16, 0, 1, 0, 0, - 0, 134, 0, 16, 0, 0, - 0, 0, 0, 166, 138, 32, - 0, 0, 0, 0, 0, 4, - 0, 0, 0, 29, 0, 0, - 9, 50, 0, 16, 0, 1, - 0, 0, 0, 70, 0, 16, - 0, 1, 0, 0, 0, 246, - 143, 32, 128, 65, 0, 0, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 1, 0, 0, - 10, 50, 0, 16, 0, 1, - 0, 0, 0, 70, 0, 16, - 0, 1, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 128, - 63, 0, 0, 128, 63, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 18, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 128, 65, - 0, 0, 0, 0, 0, 0, - 0, 10, 0, 16, 0, 0, - 0, 0, 0, 50, 0, 0, - 9, 18, 0, 16, 0, 2, - 0, 0, 0, 10, 0, 16, - 0, 1, 0, 0, 0, 10, - 0, 16, 0, 0, 0, 0, - 0, 42, 0, 16, 0, 0, - 0, 0, 0, 54, 0, 0, - 5, 34, 0, 16, 0, 2, - 0, 0, 0, 1, 64, 0, - 0, 0, 0, 0, 63, 69, - 0, 0, 9, 242, 0, 16, - 0, 2, 0, 0, 0, 70, - 0, 16, 0, 2, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 31, - 0, 4, 3, 26, 0, 16, - 0, 0, 0, 0, 0, 54, - 0, 0, 8, 242, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 62, 0, 0, 1, 21, - 0, 0, 1, 52, 0, 0, - 7, 18, 0, 16, 0, 0, - 0, 0, 0, 26, 0, 16, - 0, 1, 0, 0, 0, 10, - 0, 16, 0, 1, 0, 0, - 0, 29, 0, 0, 7, 18, - 0, 16, 0, 0, 0, 0, - 0, 1, 64, 0, 0, 0, - 0, 0, 0, 10, 0, 16, - 0, 0, 0, 0, 0, 31, - 0, 4, 3, 10, 0, 16, - 0, 0, 0, 0, 0, 54, - 0, 0, 8, 242, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 62, 0, 0, 1, 21, - 0, 0, 1, 56, 0, 0, - 7, 114, 0, 16, 0, 2, - 0, 0, 0, 246, 15, 16, - 0, 2, 0, 0, 0, 70, - 2, 16, 0, 2, 0, 0, - 0, 69, 0, 0, 9, 242, - 0, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 1, 0, 0, 0, 0, - 96, 16, 0, 1, 0, 0, - 0, 56, 0, 0, 7, 242, - 32, 16, 0, 0, 0, 0, - 0, 246, 15, 16, 0, 0, - 0, 0, 0, 70, 14, 16, - 0, 2, 0, 0, 0, 62, - 0, 0, 1, 83, 84, 65, - 84, 116, 0, 0, 0, 33, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 17, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 82, 68, 69, 70, 100, - 2, 0, 0, 1, 0, 0, - 0, 232, 0, 0, 0, 5, - 0, 0, 0, 28, 0, 0, - 0, 0, 4, 255, 255, 0, - 1, 0, 0, 51, 2, 0, - 0, 188, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 203, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 216, - 0, 0, 0, 2, 0, 0, - 0, 5, 0, 0, 0, 4, - 0, 0, 0, 255, 255, 255, - 255, 0, 0, 0, 0, 1, - 0, 0, 0, 12, 0, 0, - 0, 220, 0, 0, 0, 2, - 0, 0, 0, 5, 0, 0, - 0, 4, 0, 0, 0, 255, - 255, 255, 255, 1, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 225, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 115, - 77, 105, 114, 114, 111, 114, - 83, 97, 109, 112, 108, 101, - 114, 0, 115, 77, 97, 115, - 107, 83, 97, 109, 112, 108, - 101, 114, 0, 116, 101, 120, - 0, 109, 97, 115, 107, 0, - 99, 98, 50, 0, 171, 171, - 171, 225, 0, 0, 0, 7, - 0, 0, 0, 0, 1, 0, - 0, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 168, 1, 0, 0, 0, - 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 192, - 1, 0, 0, 0, 0, 0, - 0, 208, 1, 0, 0, 48, - 0, 0, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 220, - 1, 0, 0, 0, 0, 0, - 0, 236, 1, 0, 0, 64, - 0, 0, 0, 12, 0, 0, - 0, 2, 0, 0, 0, 244, - 1, 0, 0, 0, 0, 0, - 0, 4, 2, 0, 0, 80, - 0, 0, 0, 8, 0, 0, - 0, 2, 0, 0, 0, 220, - 1, 0, 0, 0, 0, 0, - 0, 12, 2, 0, 0, 88, - 0, 0, 0, 4, 0, 0, - 0, 2, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 32, 2, 0, 0, 92, - 0, 0, 0, 4, 0, 0, - 0, 2, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 40, 2, 0, 0, 96, - 0, 0, 0, 4, 0, 0, - 0, 2, 0, 0, 0, 16, - 2, 0, 0, 0, 0, 0, - 0, 68, 101, 118, 105, 99, - 101, 83, 112, 97, 99, 101, - 84, 111, 85, 115, 101, 114, - 83, 112, 97, 99, 101, 0, - 171, 3, 0, 3, 0, 3, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 100, - 105, 109, 101, 110, 115, 105, - 111, 110, 115, 0, 171, 1, - 0, 3, 0, 1, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 105, 102, - 102, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 99, 101, 110, - 116, 101, 114, 49, 0, 65, - 0, 171, 171, 0, 0, 3, - 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 114, 97, 100, 105, 117, - 115, 49, 0, 115, 113, 95, - 114, 97, 100, 105, 117, 115, - 49, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 73, 83, 71, - 78, 104, 0, 0, 0, 3, - 0, 0, 0, 8, 0, 0, - 0, 80, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 3, 3, 0, - 0, 92, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 12, 12, 0, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 171, 171, - 171, 79, 83, 71, 78, 44, - 0, 0, 0, 1, 0, 0, - 0, 8, 0, 0, 0, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 83, - 86, 95, 84, 97, 114, 103, - 101, 116, 0, 171, 171, 155, - 83, 0, 0, 0, 0, 0, - 0, 65, 48, 77, 105, 114, - 114, 111, 114, 0, 40, 7, - 0, 0, 68, 88, 66, 67, - 237, 58, 124, 168, 122, 234, - 242, 5, 75, 29, 195, 6, - 241, 206, 131, 117, 1, 0, - 0, 0, 40, 7, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 148, 1, 0, 0, - 104, 3, 0, 0, 228, 3, - 0, 0, 132, 6, 0, 0, - 184, 6, 0, 0, 65, 111, - 110, 57, 84, 1, 0, 0, - 84, 1, 0, 0, 0, 2, - 254, 255, 252, 0, 0, 0, - 88, 0, 0, 0, 4, 0, - 36, 0, 0, 0, 84, 0, - 0, 0, 84, 0, 0, 0, - 36, 0, 1, 0, 84, 0, - 0, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 1, 0, - 2, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 3, 0, 0, 0, 0, 0, - 1, 0, 3, 0, 1, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 254, 255, 81, 0, 0, 5, - 6, 0, 15, 160, 0, 0, - 128, 63, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 5, 0, 0, 128, 0, 0, - 15, 144, 4, 0, 0, 4, - 0, 0, 3, 224, 0, 0, - 228, 144, 2, 0, 238, 160, - 2, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 128, - 0, 0, 228, 144, 1, 0, - 238, 160, 1, 0, 228, 160, - 2, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 0, 128, - 6, 0, 0, 160, 5, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 170, 128, 5, 0, - 0, 160, 5, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 170, 128, 6, 0, 85, 160, - 2, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 85, 129, - 6, 0, 0, 160, 2, 0, - 0, 3, 0, 0, 3, 192, - 0, 0, 228, 128, 0, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 170, 128, 5, 0, 85, 160, - 5, 0, 0, 3, 1, 0, - 2, 128, 0, 0, 0, 128, - 6, 0, 85, 160, 1, 0, - 0, 2, 1, 0, 4, 128, - 6, 0, 0, 160, 8, 0, - 0, 3, 0, 0, 8, 224, - 1, 0, 228, 128, 3, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 4, 224, 1, 0, - 228, 128, 4, 0, 228, 160, - 1, 0, 0, 2, 0, 0, - 12, 192, 6, 0, 36, 160, - 255, 255, 0, 0, 83, 72, - 68, 82, 204, 1, 0, 0, - 64, 0, 1, 0, 115, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 1, 0, 0, 0, - 4, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 0, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 194, 32, 16, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 54, 0, - 0, 8, 194, 32, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 128, 63, - 50, 0, 0, 11, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 50, 32, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 8, - 34, 0, 16, 0, 0, 0, - 0, 0, 26, 0, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 56, 0, - 0, 8, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 70, 128, 32, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 10, 50, 0, - 16, 0, 1, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 63, 0, 0, - 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 16, 0, 0, 8, 66, 32, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 1, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 12, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 152, 2, 0, 0, 2, 0, - 0, 0, 100, 0, 0, 0, - 2, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 254, 255, - 0, 1, 0, 0, 103, 2, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 96, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 99, 98, 48, 0, 99, 98, - 50, 0, 92, 0, 0, 0, - 4, 0, 0, 0, 148, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, - 7, 0, 0, 0, 52, 1, - 0, 0, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 244, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 16, 1, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 26, 1, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 40, 1, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 81, 117, 97, 100, - 68, 101, 115, 99, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 77, 97, - 115, 107, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 84, 101, 120, 116, 67, 111, - 108, 111, 114, 0, 171, 171, - 220, 1, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, - 2, 0, 0, 0, 244, 1, - 0, 0, 0, 0, 0, 0, - 4, 2, 0, 0, 48, 0, - 0, 0, 8, 0, 0, 0, - 2, 0, 0, 0, 16, 2, - 0, 0, 0, 0, 0, 0, - 32, 2, 0, 0, 64, 0, - 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 40, 2, - 0, 0, 0, 0, 0, 0, - 56, 2, 0, 0, 80, 0, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 16, 2, - 0, 0, 0, 0, 0, 0, - 64, 2, 0, 0, 88, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 68, 2, - 0, 0, 0, 0, 0, 0, - 84, 2, 0, 0, 92, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 68, 2, - 0, 0, 0, 0, 0, 0, - 92, 2, 0, 0, 96, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 68, 2, - 0, 0, 0, 0, 0, 0, - 68, 101, 118, 105, 99, 101, - 83, 112, 97, 99, 101, 84, - 111, 85, 115, 101, 114, 83, - 112, 97, 99, 101, 0, 171, - 3, 0, 3, 0, 3, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 105, - 109, 101, 110, 115, 105, 111, - 110, 115, 0, 171, 1, 0, - 3, 0, 1, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 100, 105, 102, 102, - 0, 171, 171, 171, 1, 0, - 3, 0, 1, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 99, 101, 110, 116, - 101, 114, 49, 0, 65, 0, - 171, 171, 0, 0, 3, 0, - 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 114, 97, 100, 105, 117, 115, - 49, 0, 115, 113, 95, 114, - 97, 100, 105, 117, 115, 49, - 0, 77, 105, 99, 114, 111, - 115, 111, 102, 116, 32, 40, - 82, 41, 32, 72, 76, 83, - 76, 32, 83, 104, 97, 100, - 101, 114, 32, 67, 111, 109, - 112, 105, 108, 101, 114, 32, - 57, 46, 50, 57, 46, 57, - 53, 50, 46, 51, 49, 49, - 49, 0, 73, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 7, 3, 0, 0, - 80, 79, 83, 73, 84, 73, - 79, 78, 0, 171, 171, 171, - 79, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 12, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 12, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 148, 93, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 196, 7, 0, 0, 68, 88, - 66, 67, 10, 64, 223, 200, - 195, 240, 1, 206, 6, 135, - 41, 112, 246, 195, 250, 98, - 1, 0, 0, 0, 196, 7, - 0, 0, 6, 0, 0, 0, - 56, 0, 0, 0, 196, 1, - 0, 0, 56, 4, 0, 0, - 180, 4, 0, 0, 32, 7, - 0, 0, 144, 7, 0, 0, - 65, 111, 110, 57, 132, 1, - 0, 0, 132, 1, 0, 0, - 0, 2, 255, 255, 76, 1, - 0, 0, 56, 0, 0, 0, - 1, 0, 44, 0, 0, 0, - 56, 0, 0, 0, 56, 0, - 2, 0, 36, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, - 4, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 255, 255, 81, 0, 0, 5, - 2, 0, 15, 160, 0, 0, - 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 5, 0, 0, 3, - 0, 0, 8, 128, 1, 0, - 255, 160, 1, 0, 255, 160, - 2, 0, 0, 3, 0, 0, - 3, 128, 0, 0, 235, 176, - 1, 0, 228, 161, 90, 0, - 0, 4, 0, 0, 8, 128, - 0, 0, 228, 128, 0, 0, - 228, 128, 0, 0, 255, 129, - 5, 0, 0, 3, 0, 0, - 8, 128, 0, 0, 255, 128, - 2, 0, 0, 160, 1, 0, - 0, 2, 0, 0, 4, 128, - 1, 0, 255, 160, 8, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 128, 0, 0, - 228, 160, 6, 0, 0, 2, - 0, 0, 1, 128, 0, 0, - 0, 128, 5, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 0, 128, 0, 0, 255, 128, - 1, 0, 0, 2, 0, 0, - 2, 128, 2, 0, 0, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 228, 176, - 1, 8, 228, 160, 66, 0, - 0, 3, 2, 0, 15, 128, - 0, 0, 228, 128, 0, 8, - 228, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 1, 0, - 255, 160, 4, 0, 0, 4, - 0, 0, 1, 128, 0, 0, - 0, 128, 0, 0, 170, 161, - 0, 0, 255, 129, 5, 0, - 0, 3, 2, 0, 7, 128, - 2, 0, 255, 128, 2, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 255, 128, 2, 0, 228, 128, - 88, 0, 0, 4, 0, 0, - 15, 128, 0, 0, 0, 128, - 2, 0, 85, 160, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 108, 2, - 0, 0, 64, 0, 0, 0, - 155, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 1, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 1, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 194, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 0, 0, 0, 9, 50, 0, - 16, 0, 0, 0, 0, 0, - 230, 26, 16, 0, 1, 0, - 0, 0, 70, 128, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 54, 0, 0, 6, 66, 0, - 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 16, 0, 0, 8, 66, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 15, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 12, 18, 0, - 16, 0, 0, 0, 0, 0, - 58, 128, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 58, 128, - 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 63, 14, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 66, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 42, 128, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 29, 0, - 0, 9, 66, 0, 16, 0, - 0, 0, 0, 0, 58, 128, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 34, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 63, - 69, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 0, 16, 0, 0, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 31, 0, 4, 3, 42, 0, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 21, 0, 0, 1, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 19, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 100, 2, 0, 0, 1, 0, - 0, 0, 232, 0, 0, 0, - 5, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 255, 255, - 0, 1, 0, 0, 51, 2, - 0, 0, 188, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 203, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 12, 0, - 0, 0, 220, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 1, 0, - 0, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 225, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 77, 105, 114, 114, 111, - 114, 83, 97, 109, 112, 108, - 101, 114, 0, 115, 77, 97, - 115, 107, 83, 97, 109, 112, - 108, 101, 114, 0, 116, 101, - 120, 0, 109, 97, 115, 107, - 0, 99, 98, 50, 0, 171, - 171, 171, 225, 0, 0, 0, - 7, 0, 0, 0, 0, 1, - 0, 0, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 168, 1, 0, 0, - 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, - 192, 1, 0, 0, 0, 0, - 0, 0, 208, 1, 0, 0, - 48, 0, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 220, 1, 0, 0, 0, 0, - 0, 0, 236, 1, 0, 0, - 64, 0, 0, 0, 12, 0, - 0, 0, 2, 0, 0, 0, - 244, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 0, 0, - 80, 0, 0, 0, 8, 0, - 0, 0, 2, 0, 0, 0, - 220, 1, 0, 0, 0, 0, - 0, 0, 12, 2, 0, 0, - 88, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 32, 2, 0, 0, - 92, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 40, 2, 0, 0, - 96, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 16, 2, 0, 0, 0, 0, - 0, 0, 68, 101, 118, 105, - 99, 101, 83, 112, 97, 99, - 101, 84, 111, 85, 115, 101, - 114, 83, 112, 97, 99, 101, - 0, 171, 3, 0, 3, 0, - 3, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 100, 105, 109, 101, 110, 115, - 105, 111, 110, 115, 0, 171, - 1, 0, 3, 0, 1, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 105, - 102, 102, 0, 171, 171, 171, - 1, 0, 3, 0, 1, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 99, 101, - 110, 116, 101, 114, 49, 0, - 65, 0, 171, 171, 0, 0, - 3, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 114, 97, 100, 105, - 117, 115, 49, 0, 115, 113, - 95, 114, 97, 100, 105, 117, - 115, 49, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 57, 46, 50, 57, - 46, 57, 53, 50, 46, 51, - 49, 49, 49, 0, 73, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 12, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171, - 212, 100, 0, 0, 0, 0, - 0, 0, 83, 97, 109, 112, - 108, 101, 77, 97, 115, 107, - 101, 100, 84, 101, 120, 116, - 117, 114, 101, 0, 68, 4, - 0, 0, 68, 88, 66, 67, - 26, 214, 157, 140, 185, 91, - 182, 211, 177, 171, 114, 225, - 174, 107, 56, 117, 1, 0, - 0, 0, 68, 4, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 248, 0, 0, 0, - 244, 1, 0, 0, 112, 2, - 0, 0, 160, 3, 0, 0, - 212, 3, 0, 0, 65, 111, - 110, 57, 184, 0, 0, 0, - 184, 0, 0, 0, 0, 2, - 254, 255, 132, 0, 0, 0, - 52, 0, 0, 0, 1, 0, - 36, 0, 0, 0, 48, 0, - 0, 0, 48, 0, 0, 0, - 36, 0, 1, 0, 48, 0, - 0, 0, 0, 0, 3, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 254, 255, 81, 0, 0, 5, - 4, 0, 15, 160, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 5, 0, 0, 128, 0, 0, - 15, 144, 4, 0, 0, 4, - 0, 0, 3, 224, 0, 0, - 228, 144, 2, 0, 238, 160, - 2, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 12, 224, - 0, 0, 20, 144, 3, 0, - 180, 160, 3, 0, 20, 160, - 4, 0, 0, 4, 0, 0, - 3, 128, 0, 0, 228, 144, - 1, 0, 238, 160, 1, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 3, 192, 0, 0, - 228, 128, 0, 0, 228, 160, - 1, 0, 0, 2, 0, 0, - 12, 192, 4, 0, 68, 160, - 255, 255, 0, 0, 83, 72, - 68, 82, 244, 0, 0, 0, - 64, 0, 1, 0, 61, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 194, 32, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 32, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 50, 0, 0, 11, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 194, 32, 16, 0, - 1, 0, 0, 0, 6, 20, - 16, 0, 0, 0, 0, 0, - 166, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 6, 132, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 40, 1, 0, 0, 1, 0, - 0, 0, 64, 0, 0, 0, - 1, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 254, 255, - 0, 1, 0, 0, 246, 0, - 0, 0, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 99, 98, - 48, 0, 60, 0, 0, 0, - 4, 0, 0, 0, 88, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 184, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 212, 0, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 236, 0, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 81, 117, 97, 100, - 68, 101, 115, 99, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 77, 97, - 115, 107, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 84, 101, 120, 116, 67, 111, - 108, 111, 114, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 171, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 7, 3, 0, 0, 80, 79, - 83, 73, 84, 73, 79, 78, - 0, 171, 171, 171, 79, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 12, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 184, 108, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 208, 3, - 0, 0, 68, 88, 66, 67, - 145, 96, 208, 189, 244, 147, - 57, 205, 242, 133, 35, 176, - 39, 143, 121, 235, 1, 0, - 0, 0, 208, 3, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 224, 0, 0, 0, - 188, 1, 0, 0, 56, 2, - 0, 0, 44, 3, 0, 0, - 156, 3, 0, 0, 65, 111, - 110, 57, 160, 0, 0, 0, - 160, 0, 0, 0, 0, 2, - 255, 255, 116, 0, 0, 0, - 44, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 44, 0, - 0, 0, 44, 0, 2, 0, - 36, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 1, 1, - 1, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 1, 8, 15, 160, - 1, 0, 0, 2, 0, 0, - 3, 128, 0, 0, 235, 176, - 66, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 228, 176, - 0, 8, 228, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 1, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 255, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 212, 0, 0, 0, - 64, 0, 0, 0, 53, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 1, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 1, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 194, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 230, 26, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 1, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 4, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 236, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 255, 255, 0, 1, - 0, 0, 187, 0, 0, 0, - 156, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 165, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 178, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 182, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 1, 0, 0, 0, - 1, 0, 0, 0, 12, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 115, - 77, 97, 115, 107, 83, 97, - 109, 112, 108, 101, 114, 0, - 116, 101, 120, 0, 109, 97, - 115, 107, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 57, 46, 50, 57, - 46, 57, 53, 50, 46, 51, - 49, 49, 49, 0, 73, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 12, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171, - 20, 113, 0, 0, 0, 0, - 0, 0, 83, 97, 109, 112, - 108, 101, 84, 101, 120, 116, - 117, 114, 101, 87, 105, 116, - 104, 83, 104, 97, 100, 111, - 119, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 128, 63, 1, 0, 0, 0, - 0, 0, 128, 63, 1, 0, - 0, 0, 0, 0, 128, 63, - 1, 0, 0, 0, 0, 0, - 128, 63, 1, 0, 0, 0, - 3, 0, 0, 0, 255, 255, - 255, 255, 68, 4, 0, 0, - 68, 88, 66, 67, 26, 214, - 157, 140, 185, 91, 182, 211, - 177, 171, 114, 225, 174, 107, - 56, 117, 1, 0, 0, 0, - 68, 4, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 248, 0, 0, 0, 244, 1, - 0, 0, 112, 2, 0, 0, - 160, 3, 0, 0, 212, 3, - 0, 0, 65, 111, 110, 57, - 184, 0, 0, 0, 184, 0, - 0, 0, 0, 2, 254, 255, - 132, 0, 0, 0, 52, 0, - 0, 0, 1, 0, 36, 0, - 0, 0, 48, 0, 0, 0, - 48, 0, 0, 0, 36, 0, - 1, 0, 48, 0, 0, 0, - 0, 0, 3, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 254, 255, - 81, 0, 0, 5, 4, 0, - 15, 160, 0, 0, 0, 0, - 0, 0, 128, 63, 0, 0, - 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 5, 0, - 0, 128, 0, 0, 15, 144, - 4, 0, 0, 4, 0, 0, - 3, 224, 0, 0, 228, 144, - 2, 0, 238, 160, 2, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 12, 224, 0, 0, - 20, 144, 3, 0, 180, 160, - 3, 0, 20, 160, 4, 0, - 0, 4, 0, 0, 3, 128, - 0, 0, 228, 144, 1, 0, - 238, 160, 1, 0, 228, 160, - 2, 0, 0, 3, 0, 0, - 3, 192, 0, 0, 228, 128, - 0, 0, 228, 160, 1, 0, - 0, 2, 0, 0, 12, 192, - 4, 0, 68, 160, 255, 255, - 0, 0, 83, 72, 68, 82, - 244, 0, 0, 0, 64, 0, - 1, 0, 61, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 0, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 194, 32, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 50, 32, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, - 0, 8, 194, 32, 16, 0, - 0, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 128, 63, - 50, 0, 0, 11, 50, 32, - 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 0, 0, - 0, 0, 230, 138, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 70, 128, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 194, 32, 16, 0, 1, 0, - 0, 0, 6, 20, 16, 0, - 0, 0, 0, 0, 166, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 6, 132, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 83, 84, 65, 84, - 116, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 82, 68, 69, 70, 40, 1, - 0, 0, 1, 0, 0, 0, - 64, 0, 0, 0, 1, 0, - 0, 0, 28, 0, 0, 0, - 0, 4, 254, 255, 0, 1, - 0, 0, 246, 0, 0, 0, - 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 99, 98, 48, 0, - 60, 0, 0, 0, 4, 0, - 0, 0, 88, 0, 0, 0, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 184, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, - 212, 0, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, - 222, 0, 0, 0, 32, 0, - 0, 0, 16, 0, 0, 0, - 2, 0, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, - 236, 0, 0, 0, 48, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 196, 0, - 0, 0, 0, 0, 0, 0, - 81, 117, 97, 100, 68, 101, - 115, 99, 0, 171, 171, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 101, - 120, 67, 111, 111, 114, 100, - 115, 0, 77, 97, 115, 107, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 84, 101, - 120, 116, 67, 111, 108, 111, - 114, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 171, 73, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 7, 3, - 0, 0, 80, 79, 83, 73, - 84, 73, 79, 78, 0, 171, - 171, 171, 79, 83, 71, 78, - 104, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 92, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 56, 117, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 232, 9, 0, 0, - 68, 88, 66, 67, 45, 80, - 33, 8, 5, 16, 134, 134, - 115, 16, 129, 43, 103, 216, - 255, 210, 1, 0, 0, 0, - 232, 9, 0, 0, 6, 0, - 0, 0, 56, 0, 0, 0, - 248, 2, 0, 0, 8, 7, - 0, 0, 132, 7, 0, 0, - 68, 9, 0, 0, 180, 9, - 0, 0, 65, 111, 110, 57, - 184, 2, 0, 0, 184, 2, - 0, 0, 0, 2, 255, 255, - 120, 2, 0, 0, 64, 0, - 0, 0, 2, 0, 40, 0, - 0, 0, 64, 0, 0, 0, - 64, 0, 1, 0, 36, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, - 4, 0, 3, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 2, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 176, - 0, 0, 85, 160, 1, 0, - 0, 2, 0, 0, 2, 128, - 0, 0, 85, 176, 2, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 0, 176, 0, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 2, 128, 0, 0, - 85, 176, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 128, - 0, 8, 228, 160, 5, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 255, 128, 3, 0, - 85, 160, 4, 0, 0, 4, - 0, 0, 1, 128, 3, 0, - 0, 160, 1, 0, 255, 128, - 0, 0, 0, 128, 2, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 0, 176, 0, 0, - 170, 160, 1, 0, 0, 2, - 1, 0, 2, 128, 0, 0, - 85, 176, 2, 0, 0, 3, - 2, 0, 1, 128, 0, 0, - 0, 176, 0, 0, 255, 160, - 1, 0, 0, 2, 2, 0, - 2, 128, 0, 0, 85, 176, - 66, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 128, - 0, 8, 228, 160, 66, 0, - 0, 3, 2, 0, 15, 128, - 2, 0, 228, 128, 0, 8, - 228, 160, 4, 0, 0, 4, - 0, 0, 1, 128, 3, 0, - 170, 160, 1, 0, 255, 128, - 0, 0, 0, 128, 4, 0, - 0, 4, 0, 0, 1, 128, - 3, 0, 255, 160, 2, 0, - 255, 128, 0, 0, 0, 128, - 2, 0, 0, 3, 1, 0, - 1, 128, 0, 0, 0, 176, - 1, 0, 0, 160, 1, 0, - 0, 2, 1, 0, 2, 128, - 0, 0, 85, 176, 2, 0, - 0, 3, 2, 0, 1, 128, - 0, 0, 0, 176, 1, 0, - 85, 160, 1, 0, 0, 2, - 2, 0, 2, 128, 0, 0, - 85, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 0, 8, 228, 160, - 66, 0, 0, 3, 2, 0, - 15, 128, 2, 0, 228, 128, - 0, 8, 228, 160, 4, 0, - 0, 4, 0, 0, 1, 128, - 4, 0, 0, 160, 1, 0, - 255, 128, 0, 0, 0, 128, - 4, 0, 0, 4, 0, 0, - 1, 128, 4, 0, 85, 160, - 2, 0, 255, 128, 0, 0, - 0, 128, 2, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 0, 176, 1, 0, 170, 160, - 1, 0, 0, 2, 1, 0, - 2, 128, 0, 0, 85, 176, - 2, 0, 0, 3, 2, 0, - 1, 128, 0, 0, 0, 176, - 1, 0, 255, 160, 1, 0, - 0, 2, 2, 0, 2, 128, - 0, 0, 85, 176, 66, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 0, 8, - 228, 160, 66, 0, 0, 3, - 2, 0, 15, 128, 2, 0, - 228, 128, 0, 8, 228, 160, - 4, 0, 0, 4, 0, 0, - 1, 128, 4, 0, 170, 160, - 1, 0, 255, 128, 0, 0, - 0, 128, 4, 0, 0, 4, - 0, 0, 1, 128, 4, 0, - 255, 160, 2, 0, 255, 128, - 0, 0, 0, 128, 2, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 0, 176, 2, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 2, 128, 0, 0, - 85, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 0, 8, 228, 160, - 4, 0, 0, 4, 0, 0, - 1, 128, 5, 0, 0, 160, - 1, 0, 255, 128, 0, 0, - 0, 128, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 0, 128, 6, 0, 228, 160, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 8, 4, 0, 0, - 64, 0, 0, 0, 2, 1, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 4, 0, 0, 0, - 0, 0, 0, 8, 242, 0, - 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 1, 0, - 0, 0, 38, 135, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 82, 0, 16, 0, 1, 0, - 0, 0, 86, 7, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 162, 0, 16, 0, - 1, 0, 0, 0, 86, 21, - 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 2, 0, 0, 0, - 230, 10, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 0, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 18, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 26, 128, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 50, 0, 0, 10, - 18, 0, 16, 0, 1, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 162, 0, - 16, 0, 0, 0, 0, 0, - 86, 21, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 230, 10, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 18, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 18, 0, - 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 6, 16, - 16, 0, 1, 0, 0, 0, - 38, 135, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 82, 0, - 16, 0, 2, 0, 0, 0, - 86, 7, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 162, 0, 16, 0, 2, 0, - 0, 0, 86, 21, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 0, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 230, 10, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 10, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 58, 0, - 16, 0, 3, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 18, 0, 16, 0, 0, 0, - 0, 0, 26, 128, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 162, 0, - 16, 0, 1, 0, 0, 0, - 86, 21, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 0, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 230, 10, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 18, 0, 16, 0, 0, 0, - 0, 0, 42, 128, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 18, 0, - 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 18, 0, 16, 0, - 1, 0, 0, 0, 10, 16, - 16, 0, 1, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 34, 0, - 16, 0, 1, 0, 0, 0, - 26, 16, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 0, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 9, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 30, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 184, 1, 0, 0, - 1, 0, 0, 0, 148, 0, - 0, 0, 3, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 132, 1, 0, 0, 124, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 139, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 12, 0, - 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 115, 83, - 104, 97, 100, 111, 119, 83, - 97, 109, 112, 108, 101, 114, - 0, 116, 101, 120, 0, 99, - 98, 49, 0, 171, 143, 0, - 0, 0, 4, 0, 0, 0, - 172, 0, 0, 0, 160, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 1, - 0, 0, 0, 0, 0, 0, - 48, 0, 0, 0, 2, 0, - 0, 0, 28, 1, 0, 0, - 0, 0, 0, 0, 44, 1, - 0, 0, 48, 0, 0, 0, - 48, 0, 0, 0, 0, 0, - 0, 0, 60, 1, 0, 0, - 0, 0, 0, 0, 76, 1, - 0, 0, 96, 0, 0, 0, - 48, 0, 0, 0, 2, 0, - 0, 0, 88, 1, 0, 0, - 0, 0, 0, 0, 104, 1, - 0, 0, 144, 0, 0, 0, - 16, 0, 0, 0, 2, 0, - 0, 0, 116, 1, 0, 0, - 0, 0, 0, 0, 66, 108, - 117, 114, 79, 102, 102, 115, - 101, 116, 115, 72, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 66, 108, 117, 114, 79, 102, - 102, 115, 101, 116, 115, 86, - 0, 171, 171, 171, 1, 0, - 3, 0, 1, 0, 4, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 66, 108, 117, 114, - 87, 101, 105, 103, 104, 116, - 115, 0, 1, 0, 3, 0, - 1, 0, 4, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 83, 104, 97, 100, 111, 119, - 67, 111, 108, 111, 114, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 171, - 171, 171, 73, 83, 71, 78, - 104, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 92, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171, 148, 121, - 0, 0, 0, 0, 0, 0, - 80, 49, 0, 4, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 128, 63, 1, 0, 0, - 0, 0, 0, 128, 63, 1, - 0, 0, 0, 0, 0, 128, - 63, 1, 0, 0, 0, 0, - 0, 128, 63, 1, 0, 0, - 0, 3, 0, 0, 0, 255, - 255, 255, 255, 68, 4, 0, - 0, 68, 88, 66, 67, 26, - 214, 157, 140, 185, 91, 182, - 211, 177, 171, 114, 225, 174, - 107, 56, 117, 1, 0, 0, - 0, 68, 4, 0, 0, 6, - 0, 0, 0, 56, 0, 0, - 0, 248, 0, 0, 0, 244, - 1, 0, 0, 112, 2, 0, - 0, 160, 3, 0, 0, 212, - 3, 0, 0, 65, 111, 110, - 57, 184, 0, 0, 0, 184, - 0, 0, 0, 0, 2, 254, - 255, 132, 0, 0, 0, 52, - 0, 0, 0, 1, 0, 36, - 0, 0, 0, 48, 0, 0, - 0, 48, 0, 0, 0, 36, - 0, 1, 0, 48, 0, 0, - 0, 0, 0, 3, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 2, 254, - 255, 81, 0, 0, 5, 4, - 0, 15, 160, 0, 0, 0, - 0, 0, 0, 128, 63, 0, - 0, 0, 0, 0, 0, 0, - 0, 31, 0, 0, 2, 5, - 0, 0, 128, 0, 0, 15, - 144, 4, 0, 0, 4, 0, - 0, 3, 224, 0, 0, 228, - 144, 2, 0, 238, 160, 2, - 0, 228, 160, 4, 0, 0, - 4, 0, 0, 12, 224, 0, - 0, 20, 144, 3, 0, 180, - 160, 3, 0, 20, 160, 4, - 0, 0, 4, 0, 0, 3, - 128, 0, 0, 228, 144, 1, - 0, 238, 160, 1, 0, 228, - 160, 2, 0, 0, 3, 0, - 0, 3, 192, 0, 0, 228, - 128, 0, 0, 228, 160, 1, - 0, 0, 2, 0, 0, 12, - 192, 4, 0, 68, 160, 255, - 255, 0, 0, 83, 72, 68, - 82, 244, 0, 0, 0, 64, - 0, 1, 0, 61, 0, 0, - 0, 89, 0, 0, 4, 70, - 142, 32, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 95, - 0, 0, 3, 50, 16, 16, - 0, 0, 0, 0, 0, 103, - 0, 0, 4, 242, 32, 16, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 50, 32, 16, 0, 1, - 0, 0, 0, 101, 0, 0, - 3, 194, 32, 16, 0, 1, - 0, 0, 0, 50, 0, 0, - 11, 50, 32, 16, 0, 0, - 0, 0, 0, 70, 16, 16, - 0, 0, 0, 0, 0, 230, - 138, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 70, - 128, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 54, - 0, 0, 8, 194, 32, 16, - 0, 0, 0, 0, 0, 2, - 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, - 63, 50, 0, 0, 11, 50, - 32, 16, 0, 1, 0, 0, - 0, 70, 16, 16, 0, 0, - 0, 0, 0, 230, 138, 32, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 70, 128, 32, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 50, 0, 0, - 11, 194, 32, 16, 0, 1, - 0, 0, 0, 6, 20, 16, - 0, 0, 0, 0, 0, 166, - 142, 32, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 6, - 132, 32, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 62, - 0, 0, 1, 83, 84, 65, - 84, 116, 0, 0, 0, 5, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 82, 68, 69, 70, 40, - 1, 0, 0, 1, 0, 0, - 0, 64, 0, 0, 0, 1, - 0, 0, 0, 28, 0, 0, - 0, 0, 4, 254, 255, 0, - 1, 0, 0, 246, 0, 0, - 0, 60, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 99, 98, 48, - 0, 60, 0, 0, 0, 4, - 0, 0, 0, 88, 0, 0, - 0, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 184, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, - 0, 2, 0, 0, 0, 196, - 0, 0, 0, 0, 0, 0, - 0, 212, 0, 0, 0, 16, - 0, 0, 0, 16, 0, 0, - 0, 2, 0, 0, 0, 196, - 0, 0, 0, 0, 0, 0, - 0, 222, 0, 0, 0, 32, - 0, 0, 0, 16, 0, 0, - 0, 2, 0, 0, 0, 196, - 0, 0, 0, 0, 0, 0, - 0, 236, 0, 0, 0, 48, - 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 196, - 0, 0, 0, 0, 0, 0, - 0, 81, 117, 97, 100, 68, - 101, 115, 99, 0, 171, 171, - 171, 1, 0, 3, 0, 1, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, - 101, 120, 67, 111, 111, 114, - 100, 115, 0, 77, 97, 115, - 107, 84, 101, 120, 67, 111, - 111, 114, 100, 115, 0, 84, - 101, 120, 116, 67, 111, 108, - 111, 114, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 57, 46, 50, 57, - 46, 57, 53, 50, 46, 51, - 49, 49, 49, 0, 171, 73, - 83, 71, 78, 44, 0, 0, - 0, 1, 0, 0, 0, 8, - 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 7, - 3, 0, 0, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 171, 171, 171, 79, 83, 71, - 78, 104, 0, 0, 0, 3, - 0, 0, 0, 8, 0, 0, - 0, 80, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 3, 12, 0, - 0, 92, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 12, 3, 0, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 171, 171, - 171, 187, 131, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 0, - 0, 0, 0, 172, 9, 0, - 0, 68, 88, 66, 67, 110, - 68, 159, 211, 251, 173, 118, - 80, 154, 213, 185, 171, 243, - 23, 113, 100, 1, 0, 0, - 0, 172, 9, 0, 0, 6, - 0, 0, 0, 56, 0, 0, - 0, 220, 2, 0, 0, 204, - 6, 0, 0, 72, 7, 0, - 0, 8, 9, 0, 0, 120, - 9, 0, 0, 65, 111, 110, - 57, 156, 2, 0, 0, 156, - 2, 0, 0, 0, 2, 255, - 255, 104, 2, 0, 0, 52, - 0, 0, 0, 1, 0, 40, - 0, 0, 0, 52, 0, 0, - 0, 52, 0, 1, 0, 36, - 0, 0, 0, 52, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 6, 0, 0, 0, 0, - 0, 0, 0, 1, 2, 255, - 255, 31, 0, 0, 2, 0, - 0, 0, 128, 0, 0, 15, - 176, 31, 0, 0, 2, 0, - 0, 0, 144, 0, 8, 15, - 160, 2, 0, 0, 3, 0, - 0, 2, 128, 0, 0, 85, - 176, 0, 0, 85, 160, 1, - 0, 0, 2, 0, 0, 1, - 128, 0, 0, 0, 176, 2, - 0, 0, 3, 1, 0, 2, - 128, 0, 0, 85, 176, 0, - 0, 0, 160, 1, 0, 0, - 2, 1, 0, 1, 128, 0, - 0, 0, 176, 66, 0, 0, - 3, 0, 0, 15, 128, 0, - 0, 228, 128, 0, 8, 228, - 160, 66, 0, 0, 3, 1, - 0, 15, 128, 1, 0, 228, - 128, 0, 8, 228, 160, 5, - 0, 0, 3, 0, 0, 15, - 128, 0, 0, 228, 128, 3, - 0, 85, 160, 4, 0, 0, - 4, 0, 0, 15, 128, 3, - 0, 0, 160, 1, 0, 228, - 128, 0, 0, 228, 128, 2, - 0, 0, 3, 1, 0, 2, - 128, 0, 0, 85, 176, 0, - 0, 170, 160, 1, 0, 0, - 2, 1, 0, 1, 128, 0, - 0, 0, 176, 2, 0, 0, - 3, 2, 0, 2, 128, 0, - 0, 85, 176, 0, 0, 255, - 160, 1, 0, 0, 2, 2, - 0, 1, 128, 0, 0, 0, - 176, 66, 0, 0, 3, 1, - 0, 15, 128, 1, 0, 228, - 128, 0, 8, 228, 160, 66, - 0, 0, 3, 2, 0, 15, - 128, 2, 0, 228, 128, 0, - 8, 228, 160, 4, 0, 0, - 4, 0, 0, 15, 128, 3, - 0, 170, 160, 1, 0, 228, - 128, 0, 0, 228, 128, 4, - 0, 0, 4, 0, 0, 15, - 128, 3, 0, 255, 160, 2, - 0, 228, 128, 0, 0, 228, - 128, 2, 0, 0, 3, 1, - 0, 2, 128, 0, 0, 85, - 176, 1, 0, 0, 160, 1, - 0, 0, 2, 1, 0, 1, - 128, 0, 0, 0, 176, 2, - 0, 0, 3, 2, 0, 2, - 128, 0, 0, 85, 176, 1, - 0, 85, 160, 1, 0, 0, - 2, 2, 0, 1, 128, 0, - 0, 0, 176, 66, 0, 0, - 3, 1, 0, 15, 128, 1, - 0, 228, 128, 0, 8, 228, - 160, 66, 0, 0, 3, 2, - 0, 15, 128, 2, 0, 228, - 128, 0, 8, 228, 160, 4, - 0, 0, 4, 0, 0, 15, - 128, 4, 0, 0, 160, 1, - 0, 228, 128, 0, 0, 228, - 128, 4, 0, 0, 4, 0, - 0, 15, 128, 4, 0, 85, - 160, 2, 0, 228, 128, 0, - 0, 228, 128, 2, 0, 0, - 3, 1, 0, 2, 128, 0, - 0, 85, 176, 1, 0, 170, - 160, 1, 0, 0, 2, 1, - 0, 1, 128, 0, 0, 0, - 176, 2, 0, 0, 3, 2, - 0, 2, 128, 0, 0, 85, - 176, 1, 0, 255, 160, 1, - 0, 0, 2, 2, 0, 1, - 128, 0, 0, 0, 176, 66, - 0, 0, 3, 1, 0, 15, - 128, 1, 0, 228, 128, 0, - 8, 228, 160, 66, 0, 0, - 3, 2, 0, 15, 128, 2, - 0, 228, 128, 0, 8, 228, - 160, 4, 0, 0, 4, 0, - 0, 15, 128, 4, 0, 170, - 160, 1, 0, 228, 128, 0, - 0, 228, 128, 4, 0, 0, - 4, 0, 0, 15, 128, 4, - 0, 255, 160, 2, 0, 228, - 128, 0, 0, 228, 128, 2, - 0, 0, 3, 1, 0, 2, - 128, 0, 0, 85, 176, 2, - 0, 0, 160, 1, 0, 0, - 2, 1, 0, 1, 128, 0, - 0, 0, 176, 66, 0, 0, - 3, 1, 0, 15, 128, 1, - 0, 228, 128, 0, 8, 228, - 160, 4, 0, 0, 4, 0, - 0, 15, 128, 5, 0, 0, - 160, 1, 0, 228, 128, 0, - 0, 228, 128, 1, 0, 0, - 2, 0, 8, 15, 128, 0, - 0, 228, 128, 255, 255, 0, - 0, 83, 72, 68, 82, 232, - 3, 0, 0, 64, 0, 0, - 0, 250, 0, 0, 0, 89, - 0, 0, 4, 70, 142, 32, - 0, 0, 0, 0, 0, 9, - 0, 0, 0, 90, 0, 0, - 3, 0, 96, 16, 0, 0, - 0, 0, 0, 88, 24, 0, - 4, 0, 112, 16, 0, 0, - 0, 0, 0, 85, 85, 0, - 0, 98, 16, 0, 3, 50, - 16, 16, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 242, - 32, 16, 0, 0, 0, 0, - 0, 104, 0, 0, 2, 4, - 0, 0, 0, 54, 0, 0, - 5, 82, 0, 16, 0, 0, - 0, 0, 0, 6, 16, 16, - 0, 1, 0, 0, 0, 0, - 0, 0, 8, 242, 0, 16, - 0, 1, 0, 0, 0, 86, - 21, 16, 0, 1, 0, 0, - 0, 134, 141, 32, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 54, 0, 0, 5, 162, - 0, 16, 0, 0, 0, 0, - 0, 6, 8, 16, 0, 1, - 0, 0, 0, 69, 0, 0, - 9, 242, 0, 16, 0, 2, - 0, 0, 0, 230, 10, 16, - 0, 0, 0, 0, 0, 70, - 126, 16, 0, 0, 0, 0, - 0, 0, 96, 16, 0, 0, - 0, 0, 0, 69, 0, 0, - 9, 242, 0, 16, 0, 0, - 0, 0, 0, 70, 0, 16, - 0, 0, 0, 0, 0, 70, - 126, 16, 0, 0, 0, 0, - 0, 0, 96, 16, 0, 0, - 0, 0, 0, 56, 0, 0, - 8, 242, 0, 16, 0, 2, - 0, 0, 0, 70, 14, 16, - 0, 2, 0, 0, 0, 86, - 133, 32, 0, 0, 0, 0, - 0, 6, 0, 0, 0, 50, - 0, 0, 10, 242, 0, 16, - 0, 0, 0, 0, 0, 6, - 128, 32, 0, 0, 0, 0, - 0, 6, 0, 0, 0, 70, - 14, 16, 0, 0, 0, 0, - 0, 70, 14, 16, 0, 2, - 0, 0, 0, 54, 0, 0, - 5, 82, 0, 16, 0, 1, - 0, 0, 0, 6, 16, 16, - 0, 1, 0, 0, 0, 69, - 0, 0, 9, 242, 0, 16, - 0, 2, 0, 0, 0, 70, - 0, 16, 0, 1, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 69, - 0, 0, 9, 242, 0, 16, - 0, 1, 0, 0, 0, 230, - 10, 16, 0, 1, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 50, - 0, 0, 10, 242, 0, 16, - 0, 0, 0, 0, 0, 166, - 138, 32, 0, 0, 0, 0, - 0, 6, 0, 0, 0, 70, - 14, 16, 0, 2, 0, 0, - 0, 70, 14, 16, 0, 0, - 0, 0, 0, 50, 0, 0, - 10, 242, 0, 16, 0, 0, - 0, 0, 0, 246, 143, 32, - 0, 0, 0, 0, 0, 6, - 0, 0, 0, 70, 14, 16, - 0, 1, 0, 0, 0, 70, - 14, 16, 0, 0, 0, 0, - 0, 54, 0, 0, 5, 82, - 0, 16, 0, 1, 0, 0, - 0, 6, 16, 16, 0, 1, - 0, 0, 0, 0, 0, 0, - 8, 242, 0, 16, 0, 2, - 0, 0, 0, 86, 21, 16, - 0, 1, 0, 0, 0, 134, - 141, 32, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 54, - 0, 0, 5, 162, 0, 16, - 0, 1, 0, 0, 0, 6, - 8, 16, 0, 2, 0, 0, - 0, 69, 0, 0, 9, 242, - 0, 16, 0, 3, 0, 0, - 0, 70, 0, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 0, 0, 0, 0, 0, - 96, 16, 0, 0, 0, 0, - 0, 69, 0, 0, 9, 242, - 0, 16, 0, 1, 0, 0, - 0, 230, 10, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 0, 0, 0, 0, 0, - 96, 16, 0, 0, 0, 0, - 0, 50, 0, 0, 10, 242, - 0, 16, 0, 0, 0, 0, - 0, 6, 128, 32, 0, 0, - 0, 0, 0, 7, 0, 0, - 0, 70, 14, 16, 0, 3, - 0, 0, 0, 70, 14, 16, - 0, 0, 0, 0, 0, 50, - 0, 0, 10, 242, 0, 16, - 0, 0, 0, 0, 0, 86, - 133, 32, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 70, - 14, 16, 0, 1, 0, 0, - 0, 70, 14, 16, 0, 0, - 0, 0, 0, 54, 0, 0, - 5, 82, 0, 16, 0, 2, - 0, 0, 0, 6, 16, 16, - 0, 1, 0, 0, 0, 69, - 0, 0, 9, 242, 0, 16, - 0, 1, 0, 0, 0, 70, - 0, 16, 0, 2, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 69, - 0, 0, 9, 242, 0, 16, - 0, 2, 0, 0, 0, 230, - 10, 16, 0, 2, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 50, - 0, 0, 10, 242, 0, 16, - 0, 0, 0, 0, 0, 166, - 138, 32, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 70, - 14, 16, 0, 1, 0, 0, - 0, 70, 14, 16, 0, 0, - 0, 0, 0, 50, 0, 0, - 10, 242, 0, 16, 0, 0, - 0, 0, 0, 246, 143, 32, - 0, 0, 0, 0, 0, 7, - 0, 0, 0, 70, 14, 16, - 0, 2, 0, 0, 0, 70, - 14, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 8, 34, - 0, 16, 0, 1, 0, 0, - 0, 26, 16, 16, 0, 1, - 0, 0, 0, 10, 128, 32, - 0, 0, 0, 0, 0, 5, - 0, 0, 0, 54, 0, 0, - 5, 18, 0, 16, 0, 1, - 0, 0, 0, 10, 16, 16, - 0, 1, 0, 0, 0, 69, - 0, 0, 9, 242, 0, 16, - 0, 1, 0, 0, 0, 70, - 0, 16, 0, 1, 0, 0, - 0, 70, 126, 16, 0, 0, - 0, 0, 0, 0, 96, 16, - 0, 0, 0, 0, 0, 50, - 0, 0, 10, 242, 32, 16, - 0, 0, 0, 0, 0, 6, - 128, 32, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 70, - 14, 16, 0, 1, 0, 0, - 0, 70, 14, 16, 0, 0, - 0, 0, 0, 62, 0, 0, - 1, 83, 84, 65, 84, 116, - 0, 0, 0, 29, 0, 0, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, - 68, 69, 70, 184, 1, 0, - 0, 1, 0, 0, 0, 148, - 0, 0, 0, 3, 0, 0, - 0, 28, 0, 0, 0, 0, - 4, 255, 255, 0, 1, 0, - 0, 132, 1, 0, 0, 124, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 139, 0, 0, 0, 2, - 0, 0, 0, 5, 0, 0, - 0, 4, 0, 0, 0, 255, - 255, 255, 255, 0, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 115, - 83, 104, 97, 100, 111, 119, - 83, 97, 109, 112, 108, 101, - 114, 0, 116, 101, 120, 0, - 99, 98, 49, 0, 171, 143, - 0, 0, 0, 4, 0, 0, - 0, 172, 0, 0, 0, 160, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, - 1, 0, 0, 0, 0, 0, - 0, 48, 0, 0, 0, 0, - 0, 0, 0, 28, 1, 0, - 0, 0, 0, 0, 0, 44, - 1, 0, 0, 48, 0, 0, - 0, 48, 0, 0, 0, 2, - 0, 0, 0, 60, 1, 0, - 0, 0, 0, 0, 0, 76, - 1, 0, 0, 96, 0, 0, - 0, 48, 0, 0, 0, 2, - 0, 0, 0, 88, 1, 0, - 0, 0, 0, 0, 0, 104, - 1, 0, 0, 144, 0, 0, - 0, 16, 0, 0, 0, 0, - 0, 0, 0, 116, 1, 0, - 0, 0, 0, 0, 0, 66, - 108, 117, 114, 79, 102, 102, - 115, 101, 116, 115, 72, 0, - 171, 171, 171, 1, 0, 3, - 0, 1, 0, 4, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 66, 108, 117, 114, 79, - 102, 102, 115, 101, 116, 115, - 86, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 4, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 66, 108, 117, - 114, 87, 101, 105, 103, 104, - 116, 115, 0, 1, 0, 3, - 0, 1, 0, 4, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 83, 104, 97, 100, 111, - 119, 67, 111, 108, 111, 114, - 0, 1, 0, 3, 0, 1, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 77, - 105, 99, 114, 111, 115, 111, - 102, 116, 32, 40, 82, 41, - 32, 72, 76, 83, 76, 32, - 83, 104, 97, 100, 101, 114, - 32, 67, 111, 109, 112, 105, - 108, 101, 114, 32, 57, 46, - 50, 57, 46, 57, 53, 50, - 46, 51, 49, 49, 49, 0, - 171, 171, 171, 73, 83, 71, - 78, 104, 0, 0, 0, 3, - 0, 0, 0, 8, 0, 0, - 0, 80, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 3, 3, 0, - 0, 92, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 12, 0, 0, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 171, 171, - 171, 79, 83, 71, 78, 44, - 0, 0, 0, 1, 0, 0, - 0, 8, 0, 0, 0, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 83, - 86, 95, 84, 97, 114, 103, - 101, 116, 0, 171, 171, 23, - 136, 0, 0, 0, 0, 0, - 0, 80, 50, 0, 4, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 128, 63, 1, 0, - 0, 0, 0, 0, 128, 63, - 1, 0, 0, 0, 0, 0, - 128, 63, 1, 0, 0, 0, - 0, 0, 128, 63, 1, 0, - 0, 0, 3, 0, 0, 0, - 255, 255, 255, 255, 68, 4, - 0, 0, 68, 88, 66, 67, - 26, 214, 157, 140, 185, 91, - 182, 211, 177, 171, 114, 225, - 174, 107, 56, 117, 1, 0, - 0, 0, 68, 4, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 248, 0, 0, 0, - 244, 1, 0, 0, 112, 2, - 0, 0, 160, 3, 0, 0, - 212, 3, 0, 0, 65, 111, - 110, 57, 184, 0, 0, 0, - 184, 0, 0, 0, 0, 2, - 254, 255, 132, 0, 0, 0, - 52, 0, 0, 0, 1, 0, - 36, 0, 0, 0, 48, 0, - 0, 0, 48, 0, 0, 0, - 36, 0, 1, 0, 48, 0, - 0, 0, 0, 0, 3, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 254, 255, 81, 0, 0, 5, - 4, 0, 15, 160, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 5, 0, 0, 128, 0, 0, - 15, 144, 4, 0, 0, 4, - 0, 0, 3, 224, 0, 0, - 228, 144, 2, 0, 238, 160, - 2, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 12, 224, - 0, 0, 20, 144, 3, 0, - 180, 160, 3, 0, 20, 160, - 4, 0, 0, 4, 0, 0, - 3, 128, 0, 0, 228, 144, - 1, 0, 238, 160, 1, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 3, 192, 0, 0, - 228, 128, 0, 0, 228, 160, - 1, 0, 0, 2, 0, 0, - 12, 192, 4, 0, 68, 160, - 255, 255, 0, 0, 83, 72, - 68, 82, 244, 0, 0, 0, - 64, 0, 1, 0, 61, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 194, 32, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 32, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 50, 0, 0, 11, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 194, 32, 16, 0, - 1, 0, 0, 0, 6, 20, - 16, 0, 0, 0, 0, 0, - 166, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 6, 132, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 40, 1, 0, 0, 1, 0, - 0, 0, 64, 0, 0, 0, - 1, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 254, 255, - 0, 1, 0, 0, 246, 0, - 0, 0, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 99, 98, - 48, 0, 60, 0, 0, 0, - 4, 0, 0, 0, 88, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 184, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 212, 0, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 236, 0, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 81, 117, 97, 100, - 68, 101, 115, 99, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 77, 97, - 115, 107, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 84, 101, 120, 116, 67, 111, - 108, 111, 114, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 171, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 7, 3, 0, 0, 80, 79, - 83, 73, 84, 73, 79, 78, - 0, 171, 171, 171, 79, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 12, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 2, 146, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 164, 10, - 0, 0, 68, 88, 66, 67, - 143, 148, 190, 36, 41, 120, - 46, 207, 200, 138, 139, 29, - 38, 89, 245, 86, 1, 0, - 0, 0, 164, 10, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 24, 3, 0, 0, - 112, 7, 0, 0, 236, 7, - 0, 0, 0, 10, 0, 0, - 112, 10, 0, 0, 65, 111, - 110, 57, 216, 2, 0, 0, - 216, 2, 0, 0, 0, 2, - 255, 255, 160, 2, 0, 0, - 56, 0, 0, 0, 1, 0, - 44, 0, 0, 0, 56, 0, - 0, 0, 56, 0, 2, 0, - 36, 0, 0, 0, 56, 0, - 1, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 3, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 1, 8, 15, 160, - 2, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 85, 176, - 0, 0, 85, 160, 1, 0, - 0, 2, 0, 0, 1, 128, - 0, 0, 0, 176, 2, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 85, 176, 0, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 1, 128, 0, 0, - 0, 176, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 1, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 128, - 1, 8, 228, 160, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 3, 0, - 85, 160, 4, 0, 0, 4, - 0, 0, 15, 128, 3, 0, - 0, 160, 1, 0, 228, 128, - 0, 0, 228, 128, 2, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 85, 176, 0, 0, - 170, 160, 1, 0, 0, 2, - 1, 0, 1, 128, 0, 0, - 0, 176, 2, 0, 0, 3, - 2, 0, 2, 128, 0, 0, - 85, 176, 0, 0, 255, 160, - 1, 0, 0, 2, 2, 0, - 1, 128, 0, 0, 0, 176, - 66, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 128, - 1, 8, 228, 160, 66, 0, - 0, 3, 2, 0, 15, 128, - 2, 0, 228, 128, 1, 8, - 228, 160, 4, 0, 0, 4, - 0, 0, 15, 128, 3, 0, - 170, 160, 1, 0, 228, 128, - 0, 0, 228, 128, 4, 0, - 0, 4, 0, 0, 15, 128, - 3, 0, 255, 160, 2, 0, - 228, 128, 0, 0, 228, 128, - 2, 0, 0, 3, 1, 0, - 2, 128, 0, 0, 85, 176, - 1, 0, 0, 160, 1, 0, - 0, 2, 1, 0, 1, 128, - 0, 0, 0, 176, 2, 0, - 0, 3, 2, 0, 2, 128, - 0, 0, 85, 176, 1, 0, - 85, 160, 1, 0, 0, 2, - 2, 0, 1, 128, 0, 0, - 0, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 1, 8, 228, 160, - 66, 0, 0, 3, 2, 0, - 15, 128, 2, 0, 228, 128, - 1, 8, 228, 160, 4, 0, - 0, 4, 0, 0, 15, 128, - 4, 0, 0, 160, 1, 0, - 228, 128, 0, 0, 228, 128, - 4, 0, 0, 4, 0, 0, - 15, 128, 4, 0, 85, 160, - 2, 0, 228, 128, 0, 0, - 228, 128, 2, 0, 0, 3, - 1, 0, 2, 128, 0, 0, - 85, 176, 1, 0, 170, 160, - 1, 0, 0, 2, 1, 0, - 1, 128, 0, 0, 0, 176, - 2, 0, 0, 3, 2, 0, - 2, 128, 0, 0, 85, 176, - 1, 0, 255, 160, 1, 0, - 0, 2, 2, 0, 1, 128, - 0, 0, 0, 176, 66, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 1, 8, - 228, 160, 66, 0, 0, 3, - 2, 0, 15, 128, 2, 0, - 228, 128, 1, 8, 228, 160, - 4, 0, 0, 4, 0, 0, - 15, 128, 4, 0, 170, 160, - 1, 0, 228, 128, 0, 0, - 228, 128, 4, 0, 0, 4, - 0, 0, 15, 128, 4, 0, - 255, 160, 2, 0, 228, 128, - 0, 0, 228, 128, 2, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 85, 176, 2, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 1, 128, 0, 0, - 0, 176, 1, 0, 0, 2, - 2, 0, 3, 128, 0, 0, - 235, 176, 66, 0, 0, 3, - 1, 0, 15, 128, 1, 0, - 228, 128, 1, 8, 228, 160, - 66, 0, 0, 3, 2, 0, - 15, 128, 2, 0, 228, 128, - 0, 8, 228, 160, 4, 0, - 0, 4, 0, 0, 15, 128, - 5, 0, 0, 160, 1, 0, - 228, 128, 0, 0, 228, 128, - 5, 0, 0, 3, 0, 0, - 15, 128, 2, 0, 255, 128, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 80, 4, 0, 0, 64, 0, - 0, 0, 20, 1, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 1, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 1, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 194, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 4, 0, - 0, 0, 54, 0, 0, 5, - 82, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 8, 242, 0, 16, 0, - 1, 0, 0, 0, 86, 21, - 16, 0, 1, 0, 0, 0, - 134, 141, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 54, 0, 0, 5, 162, 0, - 16, 0, 0, 0, 0, 0, - 6, 8, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 2, 0, - 0, 0, 230, 10, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 0, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 86, 133, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 54, 0, 0, 5, - 82, 0, 16, 0, 1, 0, - 0, 0, 6, 16, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 70, 0, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 230, 10, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 166, 138, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 70, 14, - 16, 0, 2, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 246, 143, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 82, 0, - 16, 0, 1, 0, 0, 0, - 6, 16, 16, 0, 1, 0, - 0, 0, 0, 0, 0, 8, - 242, 0, 16, 0, 2, 0, - 0, 0, 86, 21, 16, 0, - 1, 0, 0, 0, 134, 141, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 54, 0, - 0, 5, 162, 0, 16, 0, - 1, 0, 0, 0, 6, 8, - 16, 0, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 0, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 230, 10, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 242, 0, - 16, 0, 0, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 86, 133, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 82, 0, 16, 0, 2, 0, - 0, 0, 6, 16, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 2, 0, 0, 0, 230, 10, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 166, 138, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 246, 143, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 34, 0, - 16, 0, 1, 0, 0, 0, - 26, 16, 16, 0, 1, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 54, 0, 0, 5, - 18, 0, 16, 0, 1, 0, - 0, 0, 10, 16, 16, 0, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 0, - 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 230, 26, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 31, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 12, 2, 0, 0, 1, 0, - 0, 0, 232, 0, 0, 0, - 5, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 255, 255, - 0, 1, 0, 0, 216, 1, - 0, 0, 188, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 201, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 4, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 1, 0, 0, 0, 12, 0, - 0, 0, 220, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 1, 0, - 0, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 225, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 115, 77, 97, 115, 107, 83, - 97, 109, 112, 108, 101, 114, - 0, 115, 83, 104, 97, 100, - 111, 119, 83, 97, 109, 112, - 108, 101, 114, 0, 116, 101, - 120, 0, 109, 97, 115, 107, - 0, 99, 98, 49, 0, 171, - 171, 171, 225, 0, 0, 0, - 4, 0, 0, 0, 0, 1, - 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 96, 1, 0, 0, - 0, 0, 0, 0, 48, 0, - 0, 0, 0, 0, 0, 0, - 112, 1, 0, 0, 0, 0, - 0, 0, 128, 1, 0, 0, - 48, 0, 0, 0, 48, 0, - 0, 0, 2, 0, 0, 0, - 144, 1, 0, 0, 0, 0, - 0, 0, 160, 1, 0, 0, - 96, 0, 0, 0, 48, 0, - 0, 0, 2, 0, 0, 0, - 172, 1, 0, 0, 0, 0, - 0, 0, 188, 1, 0, 0, - 144, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 200, 1, 0, 0, 0, 0, - 0, 0, 66, 108, 117, 114, - 79, 102, 102, 115, 101, 116, - 115, 72, 0, 171, 171, 171, - 1, 0, 3, 0, 1, 0, - 4, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 66, 108, - 117, 114, 79, 102, 102, 115, - 101, 116, 115, 86, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 66, 108, 117, 114, 87, 101, - 105, 103, 104, 116, 115, 0, - 1, 0, 3, 0, 1, 0, - 4, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 83, 104, - 97, 100, 111, 119, 67, 111, - 108, 111, 114, 0, 1, 0, - 3, 0, 1, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 77, 105, 99, 114, - 111, 115, 111, 102, 116, 32, - 40, 82, 41, 32, 72, 76, - 83, 76, 32, 83, 104, 97, - 100, 101, 114, 32, 67, 111, - 109, 112, 105, 108, 101, 114, - 32, 57, 46, 50, 57, 46, - 57, 53, 50, 46, 51, 49, - 49, 49, 0, 171, 171, 171, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 12, 12, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171, 94, 150, 0, 0, - 0, 0, 0, 0, 83, 97, - 109, 112, 108, 101, 84, 101, - 120, 116, 84, 101, 120, 116, - 117, 114, 101, 0, 85, 110, - 109, 97, 115, 107, 101, 100, - 0, 4, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 255, 255, 255, - 255, 68, 4, 0, 0, 68, - 88, 66, 67, 26, 214, 157, - 140, 185, 91, 182, 211, 177, - 171, 114, 225, 174, 107, 56, - 117, 1, 0, 0, 0, 68, - 4, 0, 0, 6, 0, 0, - 0, 56, 0, 0, 0, 248, - 0, 0, 0, 244, 1, 0, - 0, 112, 2, 0, 0, 160, - 3, 0, 0, 212, 3, 0, - 0, 65, 111, 110, 57, 184, - 0, 0, 0, 184, 0, 0, - 0, 0, 2, 254, 255, 132, - 0, 0, 0, 52, 0, 0, - 0, 1, 0, 36, 0, 0, - 0, 48, 0, 0, 0, 48, - 0, 0, 0, 36, 0, 1, - 0, 48, 0, 0, 0, 0, - 0, 3, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 2, 254, 255, 81, - 0, 0, 5, 4, 0, 15, - 160, 0, 0, 0, 0, 0, - 0, 128, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 31, - 0, 0, 2, 5, 0, 0, - 128, 0, 0, 15, 144, 4, - 0, 0, 4, 0, 0, 3, - 224, 0, 0, 228, 144, 2, - 0, 238, 160, 2, 0, 228, - 160, 4, 0, 0, 4, 0, - 0, 12, 224, 0, 0, 20, - 144, 3, 0, 180, 160, 3, - 0, 20, 160, 4, 0, 0, - 4, 0, 0, 3, 128, 0, - 0, 228, 144, 1, 0, 238, - 160, 1, 0, 228, 160, 2, - 0, 0, 3, 0, 0, 3, - 192, 0, 0, 228, 128, 0, - 0, 228, 160, 1, 0, 0, - 2, 0, 0, 12, 192, 4, - 0, 68, 160, 255, 255, 0, - 0, 83, 72, 68, 82, 244, - 0, 0, 0, 64, 0, 1, - 0, 61, 0, 0, 0, 89, - 0, 0, 4, 70, 142, 32, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 95, 0, 0, - 3, 50, 16, 16, 0, 0, - 0, 0, 0, 103, 0, 0, - 4, 242, 32, 16, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 50, - 32, 16, 0, 1, 0, 0, - 0, 101, 0, 0, 3, 194, - 32, 16, 0, 1, 0, 0, - 0, 50, 0, 0, 11, 50, - 32, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 0, - 0, 0, 0, 230, 138, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 70, 128, 32, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 0, - 8, 194, 32, 16, 0, 0, - 0, 0, 0, 2, 64, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 63, 50, - 0, 0, 11, 50, 32, 16, - 0, 1, 0, 0, 0, 70, - 16, 16, 0, 0, 0, 0, - 0, 230, 138, 32, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 70, 128, 32, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 50, 0, 0, 11, 194, - 32, 16, 0, 1, 0, 0, - 0, 6, 20, 16, 0, 0, - 0, 0, 0, 166, 142, 32, - 0, 0, 0, 0, 0, 2, - 0, 0, 0, 6, 132, 32, - 0, 0, 0, 0, 0, 2, - 0, 0, 0, 62, 0, 0, - 1, 83, 84, 65, 84, 116, - 0, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, - 68, 69, 70, 40, 1, 0, - 0, 1, 0, 0, 0, 64, - 0, 0, 0, 1, 0, 0, - 0, 28, 0, 0, 0, 0, - 4, 254, 255, 0, 1, 0, - 0, 246, 0, 0, 0, 60, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 99, 98, 48, 0, 60, - 0, 0, 0, 4, 0, 0, - 0, 88, 0, 0, 0, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 184, - 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 2, - 0, 0, 0, 196, 0, 0, - 0, 0, 0, 0, 0, 212, - 0, 0, 0, 16, 0, 0, - 0, 16, 0, 0, 0, 2, - 0, 0, 0, 196, 0, 0, - 0, 0, 0, 0, 0, 222, - 0, 0, 0, 32, 0, 0, - 0, 16, 0, 0, 0, 2, - 0, 0, 0, 196, 0, 0, - 0, 0, 0, 0, 0, 236, - 0, 0, 0, 48, 0, 0, - 0, 16, 0, 0, 0, 0, - 0, 0, 0, 196, 0, 0, - 0, 0, 0, 0, 0, 81, - 117, 97, 100, 68, 101, 115, - 99, 0, 171, 171, 171, 1, - 0, 3, 0, 1, 0, 4, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 101, 120, - 67, 111, 111, 114, 100, 115, - 0, 77, 97, 115, 107, 84, - 101, 120, 67, 111, 111, 114, - 100, 115, 0, 84, 101, 120, - 116, 67, 111, 108, 111, 114, - 0, 77, 105, 99, 114, 111, - 115, 111, 102, 116, 32, 40, - 82, 41, 32, 72, 76, 83, - 76, 32, 83, 104, 97, 100, - 101, 114, 32, 67, 111, 109, - 112, 105, 108, 101, 114, 32, - 57, 46, 50, 57, 46, 57, - 53, 50, 46, 51, 49, 49, - 49, 0, 171, 73, 83, 71, - 78, 44, 0, 0, 0, 1, - 0, 0, 0, 8, 0, 0, - 0, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 7, 3, 0, - 0, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 171, 171, - 171, 79, 83, 71, 78, 104, - 0, 0, 0, 3, 0, 0, - 0, 8, 0, 0, 0, 80, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 92, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 3, 12, 0, 0, 92, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 1, 0, 0, - 0, 12, 3, 0, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 171, 171, 171, 89, - 161, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, - 0, 76, 4, 0, 0, 68, - 88, 66, 67, 126, 10, 214, - 10, 153, 0, 166, 80, 219, - 54, 158, 130, 209, 70, 79, - 109, 1, 0, 0, 0, 76, - 4, 0, 0, 6, 0, 0, - 0, 56, 0, 0, 0, 204, - 0, 0, 0, 148, 1, 0, - 0, 16, 2, 0, 0, 144, - 3, 0, 0, 0, 4, 0, - 0, 65, 111, 110, 57, 140, - 0, 0, 0, 140, 0, 0, - 0, 0, 2, 255, 255, 88, - 0, 0, 0, 52, 0, 0, - 0, 1, 0, 40, 0, 0, - 0, 52, 0, 0, 0, 52, - 0, 1, 0, 36, 0, 0, - 0, 52, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 1, 2, 255, 255, 31, - 0, 0, 2, 0, 0, 0, - 128, 0, 0, 15, 176, 31, - 0, 0, 2, 0, 0, 0, - 144, 0, 8, 15, 160, 1, - 0, 0, 2, 0, 8, 15, - 128, 0, 0, 228, 160, 66, - 0, 0, 3, 0, 0, 15, - 128, 0, 0, 228, 176, 0, - 8, 228, 160, 5, 0, 0, - 3, 0, 0, 15, 128, 0, - 0, 70, 128, 0, 0, 255, - 160, 1, 0, 0, 2, 1, - 8, 15, 128, 0, 0, 228, - 128, 255, 255, 0, 0, 83, - 72, 68, 82, 192, 0, 0, - 0, 64, 0, 0, 0, 48, - 0, 0, 0, 89, 0, 0, - 4, 70, 142, 32, 0, 0, - 0, 0, 0, 4, 0, 0, - 0, 90, 0, 0, 3, 0, - 96, 16, 0, 0, 0, 0, - 0, 88, 24, 0, 4, 0, - 112, 16, 0, 0, 0, 0, - 0, 85, 85, 0, 0, 98, - 16, 0, 3, 50, 16, 16, - 0, 1, 0, 0, 0, 101, - 0, 0, 3, 242, 32, 16, - 0, 0, 0, 0, 0, 101, - 0, 0, 3, 242, 32, 16, - 0, 1, 0, 0, 0, 104, - 0, 0, 2, 1, 0, 0, - 0, 54, 0, 0, 6, 242, - 32, 16, 0, 0, 0, 0, - 0, 70, 142, 32, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 69, 0, 0, 9, 242, - 0, 16, 0, 0, 0, 0, - 0, 70, 16, 16, 0, 1, - 0, 0, 0, 70, 126, 16, - 0, 0, 0, 0, 0, 0, - 96, 16, 0, 0, 0, 0, - 0, 56, 0, 0, 8, 242, - 32, 16, 0, 1, 0, 0, - 0, 102, 4, 16, 0, 0, - 0, 0, 0, 246, 143, 32, - 0, 0, 0, 0, 0, 3, - 0, 0, 0, 62, 0, 0, - 1, 83, 84, 65, 84, 116, - 0, 0, 0, 4, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, - 68, 69, 70, 120, 1, 0, - 0, 1, 0, 0, 0, 144, - 0, 0, 0, 3, 0, 0, - 0, 28, 0, 0, 0, 0, - 4, 255, 255, 0, 1, 0, - 0, 70, 1, 0, 0, 124, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 133, 0, 0, 0, 2, - 0, 0, 0, 5, 0, 0, - 0, 4, 0, 0, 0, 255, - 255, 255, 255, 0, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 137, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 115, - 83, 97, 109, 112, 108, 101, - 114, 0, 116, 101, 120, 0, - 99, 98, 48, 0, 171, 171, - 171, 137, 0, 0, 0, 4, - 0, 0, 0, 168, 0, 0, - 0, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 8, 1, 0, 0, 0, - 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 20, - 1, 0, 0, 0, 0, 0, - 0, 36, 1, 0, 0, 16, - 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 20, - 1, 0, 0, 0, 0, 0, - 0, 46, 1, 0, 0, 32, - 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 20, - 1, 0, 0, 0, 0, 0, - 0, 60, 1, 0, 0, 48, - 0, 0, 0, 16, 0, 0, - 0, 2, 0, 0, 0, 20, - 1, 0, 0, 0, 0, 0, - 0, 81, 117, 97, 100, 68, - 101, 115, 99, 0, 171, 171, - 171, 1, 0, 3, 0, 1, - 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 84, - 101, 120, 67, 111, 111, 114, - 100, 115, 0, 77, 97, 115, - 107, 84, 101, 120, 67, 111, - 111, 114, 100, 115, 0, 84, - 101, 120, 116, 67, 111, 108, - 111, 114, 0, 77, 105, 99, - 114, 111, 115, 111, 102, 116, - 32, 40, 82, 41, 32, 72, - 76, 83, 76, 32, 83, 104, - 97, 100, 101, 114, 32, 67, - 111, 109, 112, 105, 108, 101, - 114, 32, 57, 46, 50, 57, - 46, 57, 53, 50, 46, 51, - 49, 49, 49, 0, 171, 73, - 83, 71, 78, 104, 0, 0, - 0, 3, 0, 0, 0, 8, - 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 15, - 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 3, - 3, 0, 0, 92, 0, 0, - 0, 1, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, - 0, 1, 0, 0, 0, 12, - 0, 0, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 171, 171, 171, 79, 83, 71, - 78, 68, 0, 0, 0, 2, - 0, 0, 0, 8, 0, 0, - 0, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, - 0, 56, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 1, - 0, 0, 0, 15, 0, 0, - 0, 83, 86, 95, 84, 97, - 114, 103, 101, 116, 0, 171, - 171, 181, 165, 0, 0, 0, - 0, 0, 0, 77, 97, 115, - 107, 101, 100, 0, 4, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 255, 255, 255, 255, 68, 4, - 0, 0, 68, 88, 66, 67, - 26, 214, 157, 140, 185, 91, - 182, 211, 177, 171, 114, 225, - 174, 107, 56, 117, 1, 0, - 0, 0, 68, 4, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 248, 0, 0, 0, - 244, 1, 0, 0, 112, 2, - 0, 0, 160, 3, 0, 0, - 212, 3, 0, 0, 65, 111, - 110, 57, 184, 0, 0, 0, - 184, 0, 0, 0, 0, 2, - 254, 255, 132, 0, 0, 0, - 52, 0, 0, 0, 1, 0, - 36, 0, 0, 0, 48, 0, - 0, 0, 48, 0, 0, 0, - 36, 0, 1, 0, 48, 0, - 0, 0, 0, 0, 3, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, - 254, 255, 81, 0, 0, 5, - 4, 0, 15, 160, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 2, - 5, 0, 0, 128, 0, 0, - 15, 144, 4, 0, 0, 4, - 0, 0, 3, 224, 0, 0, - 228, 144, 2, 0, 238, 160, - 2, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 12, 224, - 0, 0, 20, 144, 3, 0, - 180, 160, 3, 0, 20, 160, - 4, 0, 0, 4, 0, 0, - 3, 128, 0, 0, 228, 144, - 1, 0, 238, 160, 1, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 3, 192, 0, 0, - 228, 128, 0, 0, 228, 160, - 1, 0, 0, 2, 0, 0, - 12, 192, 4, 0, 68, 160, - 255, 255, 0, 0, 83, 72, - 68, 82, 244, 0, 0, 0, - 64, 0, 1, 0, 61, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 194, 32, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 0, 0, 0, 0, - 230, 138, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 194, 32, - 16, 0, 0, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 128, 63, 50, 0, 0, 11, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 230, 138, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 70, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 194, 32, 16, 0, - 1, 0, 0, 0, 6, 20, - 16, 0, 0, 0, 0, 0, - 166, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 6, 132, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 83, 84, - 65, 84, 116, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 82, 68, 69, 70, - 40, 1, 0, 0, 1, 0, - 0, 0, 64, 0, 0, 0, - 1, 0, 0, 0, 28, 0, - 0, 0, 0, 4, 254, 255, - 0, 1, 0, 0, 246, 0, - 0, 0, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 99, 98, - 48, 0, 60, 0, 0, 0, - 4, 0, 0, 0, 88, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 184, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 212, 0, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 236, 0, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, - 0, 0, 81, 117, 97, 100, - 68, 101, 115, 99, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 77, 97, - 115, 107, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 84, 101, 120, 116, 67, 111, - 108, 111, 114, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 171, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 7, 3, 0, 0, 80, 79, - 83, 73, 84, 73, 79, 78, - 0, 171, 171, 171, 79, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 12, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 12, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 68, 170, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 88, 5, - 0, 0, 68, 88, 66, 67, - 80, 96, 162, 163, 102, 118, - 55, 76, 239, 60, 125, 214, - 9, 4, 5, 138, 1, 0, - 0, 0, 88, 5, 0, 0, - 6, 0, 0, 0, 56, 0, - 0, 0, 24, 1, 0, 0, - 80, 2, 0, 0, 204, 2, - 0, 0, 156, 4, 0, 0, - 12, 5, 0, 0, 65, 111, - 110, 57, 216, 0, 0, 0, - 216, 0, 0, 0, 0, 2, - 255, 255, 160, 0, 0, 0, - 56, 0, 0, 0, 1, 0, - 44, 0, 0, 0, 56, 0, - 0, 0, 56, 0, 2, 0, - 36, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 3, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 144, 0, 8, 15, 160, - 31, 0, 0, 2, 0, 0, - 0, 144, 1, 8, 15, 160, - 1, 0, 0, 2, 0, 0, - 3, 128, 0, 0, 235, 176, - 66, 0, 0, 3, 1, 0, - 15, 128, 0, 0, 228, 176, - 0, 8, 228, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 1, 8, - 228, 160, 5, 0, 0, 3, - 2, 0, 15, 128, 0, 0, - 255, 128, 0, 0, 228, 160, - 1, 0, 0, 2, 0, 8, - 15, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 70, 128, - 0, 0, 255, 160, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 255, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 1, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 48, 1, - 0, 0, 64, 0, 0, 0, - 76, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 1, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 1, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 194, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 230, 26, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 1, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 1, 0, - 0, 0, 102, 4, 16, 0, - 1, 0, 0, 0, 246, 143, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 56, 0, - 0, 7, 242, 32, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 83, 84, 65, 84, 116, 0, - 0, 0, 6, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 68, - 69, 70, 200, 1, 0, 0, - 1, 0, 0, 0, 224, 0, - 0, 0, 5, 0, 0, 0, - 28, 0, 0, 0, 0, 4, - 255, 255, 0, 1, 0, 0, - 150, 1, 0, 0, 188, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 197, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 210, 0, 0, 0, - 2, 0, 0, 0, 5, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 214, 0, - 0, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 1, 0, 0, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 219, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 115, 83, 97, 109, - 112, 108, 101, 114, 0, 115, - 77, 97, 115, 107, 83, 97, - 109, 112, 108, 101, 114, 0, - 116, 101, 120, 0, 109, 97, - 115, 107, 0, 99, 98, 48, - 0, 171, 219, 0, 0, 0, - 4, 0, 0, 0, 248, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 88, 1, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 100, 1, 0, 0, 0, 0, - 0, 0, 116, 1, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 100, 1, 0, 0, 0, 0, - 0, 0, 126, 1, 0, 0, - 32, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, - 100, 1, 0, 0, 0, 0, - 0, 0, 140, 1, 0, 0, - 48, 0, 0, 0, 16, 0, - 0, 0, 2, 0, 0, 0, - 100, 1, 0, 0, 0, 0, - 0, 0, 81, 117, 97, 100, - 68, 101, 115, 99, 0, 171, - 171, 171, 1, 0, 3, 0, - 1, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 84, 101, 120, 67, 111, 111, - 114, 100, 115, 0, 77, 97, - 115, 107, 84, 101, 120, 67, - 111, 111, 114, 100, 115, 0, - 84, 101, 120, 116, 67, 111, - 108, 111, 114, 0, 77, 105, - 99, 114, 111, 115, 111, 102, - 116, 32, 40, 82, 41, 32, - 72, 76, 83, 76, 32, 83, - 104, 97, 100, 101, 114, 32, - 67, 111, 109, 112, 105, 108, - 101, 114, 32, 57, 46, 50, - 57, 46, 57, 53, 50, 46, - 51, 49, 49, 49, 0, 171, - 73, 83, 71, 78, 104, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 92, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 92, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 12, 12, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 171, 171, 79, 83, - 71, 78, 68, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 56, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171, 160, 174, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 255, 255, 255, 255, - 0, 0, 0, 0, 43, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 86, 0, 0, 0, - 160, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 118, 0, 0, 0, - 90, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 131, 0, 0, 0, 90, 0, - 0, 0, 0, 0, 0, 0, - 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 0, - 0, 0, 90, 0, 0, 0, - 0, 0, 0, 0, 96, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 0, - 15, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 168, 0, 0, 0, 112, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 209, 0, 0, 0, 181, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 1, - 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 48, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 57, 1, 0, 0, - 29, 1, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 62, 1, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 104, 1, - 0, 0, 76, 1, 0, 0, - 0, 0, 0, 0, 88, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 106, 1, 0, 0, - 76, 1, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 114, 1, 0, 0, 76, 1, - 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 163, 1, - 0, 0, 135, 1, 0, 0, - 0, 0, 0, 0, 255, 255, - 255, 255, 0, 0, 0, 0, - 167, 1, 0, 0, 135, 1, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 0, 0, - 0, 0, 213, 1, 0, 0, - 185, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 4, 0, 0, 0, 45, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 222, 1, - 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 163, 1, 0, 0, - 46, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 234, 1, 0, 0, 47, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 246, 1, - 0, 0, 0, 0, 0, 0, - 2, 2, 0, 0, 185, 1, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 4, 0, - 0, 0, 45, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 15, 2, 0, 0, - 55, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 163, 1, 0, 0, 46, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 27, 2, - 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 39, 2, 0, 0, - 0, 0, 0, 0, 51, 2, - 0, 0, 185, 1, 0, 0, - 0, 0, 0, 0, 255, 255, - 255, 255, 4, 0, 0, 0, - 45, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 66, 2, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 163, 1, - 0, 0, 46, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 78, 2, 0, 0, - 47, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 90, 2, 0, 0, 0, 0, - 0, 0, 102, 2, 0, 0, - 185, 1, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 4, 0, 0, 0, 45, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 115, 2, - 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 167, 1, 0, 0, - 46, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 127, 2, 0, 0, 47, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 139, 2, - 0, 0, 0, 0, 0, 0, - 151, 2, 0, 0, 185, 1, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 5, 0, - 0, 0, 45, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 166, 2, 0, 0, - 55, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 163, 1, 0, 0, 46, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 178, 2, - 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 190, 2, 0, 0, - 52, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 202, 2, 0, 0, 0, 0, - 0, 0, 26, 3, 0, 0, - 254, 2, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 2, 0, 0, 0, 19, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 38, 3, - 0, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 50, 3, 0, 0, - 0, 0, 0, 0, 101, 3, - 0, 0, 73, 3, 0, 0, - 0, 0, 0, 0, 255, 255, - 255, 255, 2, 0, 0, 0, - 37, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 114, 3, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 126, 3, - 0, 0, 0, 0, 0, 0, - 138, 3, 0, 0, 73, 3, - 0, 0, 0, 0, 0, 0, - 255, 255, 255, 255, 8, 0, - 0, 0, 37, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 151, 3, 0, 0, - 38, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 163, 3, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 175, 3, - 0, 0, 40, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 187, 3, 0, 0, - 41, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 199, 3, 0, 0, 42, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 211, 3, - 0, 0, 43, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 223, 3, 0, 0, - 44, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 235, 3, 0, 0, 0, 0, - 0, 0, 247, 3, 0, 0, - 73, 3, 0, 0, 0, 0, - 0, 0, 255, 255, 255, 255, - 9, 0, 0, 0, 36, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 2, 4, - 0, 0, 37, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 14, 4, 0, 0, - 38, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 26, 4, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 38, 4, - 0, 0, 40, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 50, 4, 0, 0, - 41, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 62, 4, 0, 0, 42, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 74, 4, - 0, 0, 43, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 86, 4, 0, 0, - 44, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 98, 4, 0, 0, 0, 0, - 0, 0, 110, 4, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 124, 4, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 26, 3, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 199, 8, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 207, 8, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 179, 11, 0, 0, - 187, 11, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 208, 11, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 26, 3, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 1, 19, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 9, 19, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 245, 28, 0, 0, 253, 28, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 26, 3, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 44, 36, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 52, 36, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 44, - 0, 0, 8, 44, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 26, 3, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 61, 51, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 69, 51, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 53, 61, 0, 0, - 61, 61, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 26, 3, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 112, 68, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 120, 68, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 72, 76, 0, 0, 80, 76, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 26, 3, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 135, 83, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 143, 83, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 131, 93, - 0, 0, 139, 93, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 26, 3, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 192, 100, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 200, 100, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 156, 108, 0, 0, - 164, 108, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 124, 4, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 26, 3, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 113, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 8, 113, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 232, 116, 0, 0, 240, 116, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 124, 4, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 26, 3, - 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 8, 117, 0, 0, - 11, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 44, 117, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 101, 3, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 128, 121, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 136, 121, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 128, 131, - 0, 0, 136, 131, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 26, 3, 0, 0, - 10, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 139, 131, 0, 0, 11, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 175, 131, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 138, 3, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 3, 136, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 11, 136, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 199, 145, 0, 0, - 207, 145, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 26, 3, 0, 0, 10, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 210, 145, - 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 246, 145, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 138, 3, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 74, 150, - 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 82, 150, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 6, 161, 0, 0, 14, 161, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 32, 161, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 26, 3, - 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 41, 161, 0, 0, - 11, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 77, 161, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 247, 3, - 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 161, 165, 0, 0, - 8, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 169, 165, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 5, 170, - 0, 0, 13, 170, 0, 0, - 7, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 26, 3, 0, 0, - 10, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 20, 170, 0, 0, 11, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 170, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 247, 3, 0, 0, - 6, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 140, 174, 0, 0, 8, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 148, 174, - 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 252, 179, 0, 0 -}; +#if 0 +// +// FX Version: fx_4_0 +// Child effect (requires effect pool): false +// +// 3 local buffer(s) +// +cbuffer cb0 +{ + float4 QuadDesc; // Offset: 0, size: 16 + float4 TexCoords; // Offset: 16, size: 16 + float4 MaskTexCoords; // Offset: 32, size: 16 + float4 TextColor; // Offset: 48, size: 16 +} + +cbuffer cb1 +{ + float4 BlurOffsetsH[3]; // Offset: 0, size: 48 + float4 BlurOffsetsV[3]; // Offset: 48, size: 48 + float4 BlurWeights[3]; // Offset: 96, size: 48 + float4 ShadowColor; // Offset: 144, size: 16 +} + +cbuffer cb2 +{ + float3x3 DeviceSpaceToUserSpace; // Offset: 0, size: 44 + float2 dimensions; // Offset: 48, size: 8 + float3 diff; // Offset: 64, size: 12 + float2 center1; // Offset: 80, size: 8 + float A; // Offset: 88, size: 4 + float radius1; // Offset: 92, size: 4 + float sq_radius1; // Offset: 96, size: 4 +} + +// +// 11 local object(s) +// +Texture2D tex; +Texture2D mask; +SamplerState sSampler +{ + Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); + Texture = tex; + AddressU = uint(CLAMP /* 3 */); + AddressV = uint(CLAMP /* 3 */); +}; +SamplerState sWrapSampler +{ + Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); + Texture = tex; + AddressU = uint(WRAP /* 1 */); + AddressV = uint(WRAP /* 1 */); +}; +SamplerState sMirrorSampler +{ + Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); + Texture = tex; + AddressU = uint(MIRROR /* 2 */); + AddressV = uint(MIRROR /* 2 */); +}; +SamplerState sMaskSampler +{ + Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); + Texture = mask; + AddressU = uint(CLAMP /* 3 */); + AddressV = uint(CLAMP /* 3 */); +}; +SamplerState sShadowSampler +{ + Filter = uint(MIN_MAG_MIP_LINEAR /* 21 */); + Texture = tex; + AddressU = uint(BORDER /* 4 */); + AddressV = uint(BORDER /* 4 */); + BorderColor = float4(0, 0, 0, 0); +}; +RasterizerState TextureRast +{ + ScissorEnable = bool(FALSE /* 0 */); + CullMode = uint(NONE /* 1 */); +}; +BlendState ShadowBlendH +{ + BlendEnable[0] = bool(FALSE /* 0 */); + RenderTargetWriteMask[0] = byte(0x0f); +}; +BlendState ShadowBlendV +{ + BlendEnable[0] = bool(TRUE /* 1 */); + SrcBlend[0] = uint(ONE /* 2 */); + DestBlend[0] = uint(INV_SRC_ALPHA /* 6 */); + BlendOp[0] = uint(ADD /* 1 */); + SrcBlendAlpha[0] = uint(ONE /* 2 */); + DestBlendAlpha[0] = uint(INV_SRC_ALPHA /* 6 */); + BlendOpAlpha[0] = uint(ADD /* 1 */); + RenderTargetWriteMask[0] = byte(0x0f); +}; +BlendState bTextBlend +{ + AlphaToCoverageEnable = bool(FALSE /* 0 */); + BlendEnable[0] = bool(TRUE /* 1 */); + SrcBlend[0] = uint(SRC1_COLOR /* 16 */); + DestBlend[0] = uint(INV_SRC1_COLOR /* 17 */); + BlendOp[0] = uint(ADD /* 1 */); + SrcBlendAlpha[0] = uint(SRC1_ALPHA /* 18 */); + DestBlendAlpha[0] = uint(INV_SRC1_ALPHA /* 19 */); + BlendOpAlpha[0] = uint(ADD /* 1 */); + RenderTargetWriteMask[0] = byte(0x0f); +}; + +// +// 5 technique(s) +// +technique10 SampleTexture +{ + pass P0 + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // tex texture float4 2d 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + texld r0, t0, s0 + mov oC0, r0 + + // approximately 2 instruction slots used (1 texture, 1 arithmetic) + ps_4_0 + dcl_sampler s0, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_input_ps linear v1.xy + dcl_output o0.xyzw + sample o0.xyzw, v1.xyxx, t0.xyzw, s0 + ret + // Approximately 2 instruction slots used + + }; + } + +} + +technique10 SampleRadialGradient +{ + pass APos + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c3, 0.5, 0, 0, 0 + def c4, 1, -1, 0, -0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -c2.x + mul r0.w, r0.w, c1.z + mov r0.z, c1.w + dp3 r0.x, r0, c0 + mad r0.y, r0.x, r0.x, -r0.w + abs r0.z, r0.y + rsq r0.z, r0.z + rcp r1.x, r0.z + mov r1.yz, -r1.x + add r0.xzw, r0.x, r1.xyyz + rcp r1.x, c1.z + mul r0.xzw, r0, r1.x + mov r1.w, c1.w + mad r1.xyz, r0.xzww, c0.z, r1.w + cmp r2.x, r1.x, r0.x, r0.w + cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw + mov r2.y, c3.x + texld r1, t0, s1 + texld r2, r2, s0 + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + add r0.w, r0.w, r0.x + cmp r0.x, r0.w, r0.x, r0.z + cmp r1, -r0.x, c4.z, r1 + cmp r0, r0.y, r1, c4.z + mov oC0, r0 + + // approximately 28 instruction slots used (2 texture, 26 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[7], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 3 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + add r0.x, r0.x, -cb0[6].x + mul r0.x, r0.x, cb0[5].z + mad r0.x, r0.z, r0.z, -r0.x + lt r0.y, r0.x, l(0.000000) + sqrt r1.x, |r0.x| + mov r1.y, -r1.x + add r0.xz, r0.zzzz, r1.xxyx + div r0.xz, r0.xxzx, cb0[5].zzzz + mul r1.xy, r0.xzxx, cb0[4].zzzz + ge r1.xy, r1.xyxx, -cb0[5].wwww + and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) + add r0.x, -r0.z, r0.x + mad r2.x, r1.x, r0.x, r0.z + mov r2.y, l(0.500000) + sample r2.xyzw, r2.xyxx, t0.xyzw, s0 + if_nz r0.y + mov o0.xyzw, l(0,0,0,0) + ret + endif + max r0.x, r1.y, r1.x + ge r0.x, l(0.000000), r0.x + if_nz r0.x + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r2.xyz, r2.wwww, r2.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r2.xyzw + ret + // Approximately 33 instruction slots used + + }; + } + + pass A0 + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c2, 0.5, 0, 0, 0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + mul r0.w, c1.w, c1.w + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -r0.w + mul r0.w, r0.w, c2.x + mov r0.z, c1.w + dp3 r0.x, r0, c0 + rcp r0.x, r0.x + mul r0.x, r0.x, r0.w + mov r0.y, c2.x + texld r1, t0, s1 + texld r2, r0, s0 + mov r0.w, c1.w + mad r0.x, r0.x, -c0.z, -r0.w + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + cmp r0, r0.x, c2.y, r1 + mov oC0, r0 + + // approximately 18 instruction slots used (2 texture, 16 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[6], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 2 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + mad r0.x, -cb0[5].w, cb0[5].w, r0.x + mul r0.x, r0.x, l(0.500000) + div r0.x, r0.x, r0.z + mul r0.z, r0.x, cb0[4].z + ge r0.z, -cb0[5].w, r0.z + mov r0.y, l(0.500000) + sample r1.xyzw, r0.xyxx, t0.xyzw, s0 + if_nz r0.z + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r1.xyz, r1.wwww, r1.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r1.xyzw + ret + // Approximately 19 instruction slots used + + }; + } + + pass APosWrap + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sWrapSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c3, 0.5, 0, 0, 0 + def c4, 1, -1, 0, -0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -c2.x + mul r0.w, r0.w, c1.z + mov r0.z, c1.w + dp3 r0.x, r0, c0 + mad r0.y, r0.x, r0.x, -r0.w + abs r0.z, r0.y + rsq r0.z, r0.z + rcp r1.x, r0.z + mov r1.yz, -r1.x + add r0.xzw, r0.x, r1.xyyz + rcp r1.x, c1.z + mul r0.xzw, r0, r1.x + mov r1.w, c1.w + mad r1.xyz, r0.xzww, c0.z, r1.w + cmp r2.x, r1.x, r0.x, r0.w + cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw + mov r2.y, c3.x + texld r1, t0, s1 + texld r2, r2, s0 + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + add r0.w, r0.w, r0.x + cmp r0.x, r0.w, r0.x, r0.z + cmp r1, -r0.x, c4.z, r1 + cmp r0, r0.y, r1, c4.z + mov oC0, r0 + + // approximately 28 instruction slots used (2 texture, 26 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[7], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 3 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + add r0.x, r0.x, -cb0[6].x + mul r0.x, r0.x, cb0[5].z + mad r0.x, r0.z, r0.z, -r0.x + lt r0.y, r0.x, l(0.000000) + sqrt r1.x, |r0.x| + mov r1.y, -r1.x + add r0.xz, r0.zzzz, r1.xxyx + div r0.xz, r0.xxzx, cb0[5].zzzz + mul r1.xy, r0.xzxx, cb0[4].zzzz + ge r1.xy, r1.xyxx, -cb0[5].wwww + and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) + add r0.x, -r0.z, r0.x + mad r2.x, r1.x, r0.x, r0.z + mov r2.y, l(0.500000) + sample r2.xyzw, r2.xyxx, t0.xyzw, s0 + if_nz r0.y + mov o0.xyzw, l(0,0,0,0) + ret + endif + max r0.x, r1.y, r1.x + ge r0.x, l(0.000000), r0.x + if_nz r0.x + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r2.xyz, r2.wwww, r2.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r2.xyzw + ret + // Approximately 33 instruction slots used + + }; + } + + pass A0Wrap + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sWrapSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c2, 0.5, 0, 0, 0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + mul r0.w, c1.w, c1.w + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -r0.w + mul r0.w, r0.w, c2.x + mov r0.z, c1.w + dp3 r0.x, r0, c0 + rcp r0.x, r0.x + mul r0.x, r0.x, r0.w + mov r0.y, c2.x + texld r1, t0, s1 + texld r2, r0, s0 + mov r0.w, c1.w + mad r0.x, r0.x, -c0.z, -r0.w + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + cmp r0, r0.x, c2.y, r1 + mov oC0, r0 + + // approximately 18 instruction slots used (2 texture, 16 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[6], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 2 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + mad r0.x, -cb0[5].w, cb0[5].w, r0.x + mul r0.x, r0.x, l(0.500000) + div r0.x, r0.x, r0.z + mul r0.z, r0.x, cb0[4].z + ge r0.z, -cb0[5].w, r0.z + mov r0.y, l(0.500000) + sample r1.xyzw, r0.xyxx, t0.xyzw, s0 + if_nz r0.z + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r1.xyz, r1.wwww, r1.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r1.xyzw + ret + // Approximately 19 instruction slots used + + }; + } + + pass APosMirror + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sMirrorSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 3 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c3, 0.5, 0, 0, 0 + def c4, 1, -1, 0, -0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -c2.x + mul r0.w, r0.w, c1.z + mov r0.z, c1.w + dp3 r0.x, r0, c0 + mad r0.y, r0.x, r0.x, -r0.w + abs r0.z, r0.y + rsq r0.z, r0.z + rcp r1.x, r0.z + mov r1.yz, -r1.x + add r0.xzw, r0.x, r1.xyyz + rcp r1.x, c1.z + mul r0.xzw, r0, r1.x + mov r1.w, c1.w + mad r1.xyz, r0.xzww, c0.z, r1.w + cmp r2.x, r1.x, r0.x, r0.w + cmp r0.xzw, r1.xyyz, c4.xyxy, c4.zyzw + mov r2.y, c3.x + texld r1, t0, s1 + texld r2, r2, s0 + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + add r0.w, r0.w, r0.x + cmp r0.x, r0.w, r0.x, r0.z + cmp r1, -r0.x, c4.z, r1 + cmp r0, r0.y, r1, c4.z + mov oC0, r0 + + // approximately 28 instruction slots used (2 texture, 26 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[7], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 3 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + add r0.x, r0.x, -cb0[6].x + mul r0.x, r0.x, cb0[5].z + mad r0.x, r0.z, r0.z, -r0.x + lt r0.y, r0.x, l(0.000000) + sqrt r1.x, |r0.x| + mov r1.y, -r1.x + add r0.xz, r0.zzzz, r1.xxyx + div r0.xz, r0.xxzx, cb0[5].zzzz + mul r1.xy, r0.xzxx, cb0[4].zzzz + ge r1.xy, r1.xyxx, -cb0[5].wwww + and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) + add r0.x, -r0.z, r0.x + mad r2.x, r1.x, r0.x, r0.z + mov r2.y, l(0.500000) + sample r2.xyzw, r2.xyxx, t0.xyzw, s0 + if_nz r0.y + mov o0.xyzw, l(0,0,0,0) + ret + endif + max r0.x, r1.y, r1.x + ge r0.x, l(0.000000), r0.x + if_nz r0.x + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r2.xyz, r2.wwww, r2.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r2.xyzw + ret + // Approximately 33 instruction slots used + + }; + } + + pass A0Mirror + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 + // float2 dimensions; // Offset: 48 Size: 8 + // float3 diff; // Offset: 64 Size: 12 [unused] + // float2 center1; // Offset: 80 Size: 8 [unused] + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 [unused] + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // cb2 cbuffer NA NA 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 1 ( FLT, FLT, FLT, FLT) + // c2 cb0 2 1 ( FLT, FLT, FLT, FLT) + // c3 cb1 0 2 ( FLT, FLT, FLT, FLT) + // c5 cb1 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c6, 1, 0.5, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad r0.xy, v0, c1.zwzw, c1 + add r0.z, r0.x, c6.x + mul r0.z, r0.z, c5.x + mul r1.x, r0.z, c6.y + add r0.z, -r0.y, c6.x + add oPos.xy, r0, c0 + mul r0.x, r0.z, c5.y + mul r1.y, r0.x, c6.y + mov r1.z, c6.x + dp3 oT0.w, r1, c3 + dp3 oT0.z, r1, c4 + mov oPos.zw, c6.xyzx + + // approximately 13 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_constantbuffer cb1[4], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + dcl_temps 2 + mov o0.zw, l(0,0,0,1.000000) + mad r0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.xy, r0.xyxx + add r0.x, r0.x, l(1.000000) + add r0.y, -r0.y, l(1.000000) + mul r0.xy, r0.xyxx, cb1[3].xyxx + mul r1.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) + mov r1.z, l(1.000000) + dp3 o1.z, r1.xyzx, cb1[0].xyzx + dp3 o1.w, r1.xyzx, cb1[1].xyzx + mad o1.xy, v0.xyxx, cb0[2].zwzz, cb0[2].xyxx + ret + // Approximately 12 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb2 + // { + // + // float3x3 DeviceSpaceToUserSpace; // Offset: 0 Size: 44 [unused] + // float2 dimensions; // Offset: 48 Size: 8 [unused] + // float3 diff; // Offset: 64 Size: 12 + // float2 center1; // Offset: 80 Size: 8 + // float A; // Offset: 88 Size: 4 [unused] + // float radius1; // Offset: 92 Size: 4 + // float sq_radius1; // Offset: 96 Size: 4 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sMirrorSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb2 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 4 2 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + def c2, 0.5, 0, 0, 0 + dcl t0 + dcl_2d s0 + dcl_2d s1 + mul r0.w, c1.w, c1.w + add r0.xy, t0.wzzw, -c1 + dp2add r0.w, r0, r0, -r0.w + mul r0.w, r0.w, c2.x + mov r0.z, c1.w + dp3 r0.x, r0, c0 + rcp r0.x, r0.x + mul r0.x, r0.x, r0.w + mov r0.y, c2.x + texld r1, t0, s1 + texld r2, r0, s0 + mov r0.w, c1.w + mad r0.x, r0.x, -c0.z, -r0.w + mul r2.xyz, r2.w, r2 + mul r1, r1.w, r2 + cmp r0, r0.x, c2.y, r1 + mov oC0, r0 + + // approximately 18 instruction slots used (2 texture, 16 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[6], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 2 + add r0.xy, v1.zwzz, -cb0[5].xyxx + mov r0.z, cb0[5].w + dp3 r0.z, r0.xyzx, cb0[4].xyzx + dp2 r0.x, r0.xyxx, r0.xyxx + mad r0.x, -cb0[5].w, cb0[5].w, r0.x + mul r0.x, r0.x, l(0.500000) + div r0.x, r0.x, r0.z + mul r0.z, r0.x, cb0[4].z + ge r0.z, -cb0[5].w, r0.z + mov r0.y, l(0.500000) + sample r1.xyzw, r0.xyxx, t0.xyzw, s0 + if_nz r0.z + mov o0.xyzw, l(0,0,0,0) + ret + endif + mul r1.xyz, r1.wwww, r1.xyzx + sample r0.xyzw, v1.xyxx, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, r1.xyzw + ret + // Approximately 19 instruction slots used + + }; + } + +} + +technique10 SampleMaskedTexture +{ + pass P0 + { + RasterizerState = TextureRast; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + dcl_2d s1 + mov r0.xy, t0.wzzw + texld r1, t0, s0 + texld r0, r0, s1 + mul r0, r0.w, r1 + mov oC0, r0 + + // approximately 5 instruction slots used (2 texture, 3 arithmetic) + ps_4_0 + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 2 + sample r0.xyzw, v1.xyxx, t0.xyzw, s0 + sample r1.xyzw, v1.zwzz, t1.xyzw, s1 + mul o0.xyzw, r0.xyzw, r1.wwww + ret + // Approximately 4 instruction slots used + + }; + } + +} + +technique10 SampleTextureWithShadow +{ + pass P0 + { + RasterizerState = TextureRast; + AB_BlendFactor = float4(1, 1, 1, 1); + AB_SampleMask = uint(0xffffffff); + BlendState = ShadowBlendH; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb1 + // { + // + // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 + // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 [unused] + // float4 BlurWeights[3]; // Offset: 96 Size: 48 + // float4 ShadowColor; // Offset: 144 Size: 16 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sShadowSampler sampler NA NA 0 1 + // tex texture float4 2d 0 1 + // cb1 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 0 3 ( FLT, FLT, FLT, FLT) + // c3 cb0 6 4 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + add r0.x, t0.x, c0.y + mov r0.y, t0.y + add r1.x, t0.x, c0.x + mov r1.y, t0.y + texld r0, r0, s0 + texld r1, r1, s0 + mul r0.x, r0.w, c3.y + mad r0.x, c3.x, r1.w, r0.x + add r1.x, t0.x, c0.z + mov r1.y, t0.y + add r2.x, t0.x, c0.w + mov r2.y, t0.y + texld r1, r1, s0 + texld r2, r2, s0 + mad r0.x, c3.z, r1.w, r0.x + mad r0.x, c3.w, r2.w, r0.x + add r1.x, t0.x, c1.x + mov r1.y, t0.y + add r2.x, t0.x, c1.y + mov r2.y, t0.y + texld r1, r1, s0 + texld r2, r2, s0 + mad r0.x, c4.x, r1.w, r0.x + mad r0.x, c4.y, r2.w, r0.x + add r1.x, t0.x, c1.z + mov r1.y, t0.y + add r2.x, t0.x, c1.w + mov r2.y, t0.y + texld r1, r1, s0 + texld r2, r2, s0 + mad r0.x, c4.z, r1.w, r0.x + mad r0.x, c4.w, r2.w, r0.x + add r1.x, t0.x, c2.x + mov r1.y, t0.y + texld r1, r1, s0 + mad r0.x, c5.x, r1.w, r0.x + mul r0, r0.x, c6 + mov oC0, r0 + + // approximately 38 instruction slots used (9 texture, 29 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[10], immediateIndexed + dcl_sampler s0, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_input_ps linear v1.xy + dcl_output o0.xyzw + dcl_temps 4 + add r0.xyzw, v1.xxxx, cb0[0].zxwy + mov r1.xz, r0.yywy + mov r1.yw, v1.yyyy + sample r2.xyzw, r1.zwzz, t0.xyzw, s0 + sample r1.xyzw, r1.xyxx, t0.xyzw, s0 + mul r1.x, r2.w, cb0[6].y + mad r1.x, cb0[6].x, r1.w, r1.x + mov r0.yw, v1.yyyy + sample r2.xyzw, r0.xyxx, t0.xyzw, s0 + sample r0.xyzw, r0.zwzz, t0.xyzw, s0 + mad r0.x, cb0[6].z, r2.w, r1.x + mad r0.x, cb0[6].w, r0.w, r0.x + add r1.xyzw, v1.xxxx, cb0[1].zxwy + mov r2.xz, r1.yywy + mov r2.yw, v1.yyyy + sample r3.xyzw, r2.xyxx, t0.xyzw, s0 + sample r2.xyzw, r2.zwzz, t0.xyzw, s0 + mad r0.x, cb0[7].x, r3.w, r0.x + mad r0.x, cb0[7].y, r2.w, r0.x + mov r1.yw, v1.yyyy + sample r2.xyzw, r1.xyxx, t0.xyzw, s0 + sample r1.xyzw, r1.zwzz, t0.xyzw, s0 + mad r0.x, cb0[7].z, r2.w, r0.x + mad r0.x, cb0[7].w, r1.w, r0.x + add r1.x, v1.x, cb0[2].x + mov r1.y, v1.y + sample r1.xyzw, r1.xyxx, t0.xyzw, s0 + mad r0.x, cb0[8].x, r1.w, r0.x + mul o0.xyzw, r0.xxxx, cb0[9].xyzw + ret + // Approximately 30 instruction slots used + + }; + } + + pass P1 + { + RasterizerState = TextureRast; + AB_BlendFactor = float4(1, 1, 1, 1); + AB_SampleMask = uint(0xffffffff); + BlendState = ShadowBlendV; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb1 + // { + // + // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 [unused] + // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 + // float4 BlurWeights[3]; // Offset: 96 Size: 48 + // float4 ShadowColor; // Offset: 144 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sShadowSampler sampler NA NA 0 1 + // tex texture float4 2d 0 1 + // cb1 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 3 6 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + add r0.y, t0.y, c0.y + mov r0.x, t0.x + add r1.y, t0.y, c0.x + mov r1.x, t0.x + texld r0, r0, s0 + texld r1, r1, s0 + mul r0, r0, c3.y + mad r0, c3.x, r1, r0 + add r1.y, t0.y, c0.z + mov r1.x, t0.x + add r2.y, t0.y, c0.w + mov r2.x, t0.x + texld r1, r1, s0 + texld r2, r2, s0 + mad r0, c3.z, r1, r0 + mad r0, c3.w, r2, r0 + add r1.y, t0.y, c1.x + mov r1.x, t0.x + add r2.y, t0.y, c1.y + mov r2.x, t0.x + texld r1, r1, s0 + texld r2, r2, s0 + mad r0, c4.x, r1, r0 + mad r0, c4.y, r2, r0 + add r1.y, t0.y, c1.z + mov r1.x, t0.x + add r2.y, t0.y, c1.w + mov r2.x, t0.x + texld r1, r1, s0 + texld r2, r2, s0 + mad r0, c4.z, r1, r0 + mad r0, c4.w, r2, r0 + add r1.y, t0.y, c2.x + mov r1.x, t0.x + texld r1, r1, s0 + mad r0, c5.x, r1, r0 + mov oC0, r0 + + // approximately 37 instruction slots used (9 texture, 28 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[9], immediateIndexed + dcl_sampler s0, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_input_ps linear v1.xy + dcl_output o0.xyzw + dcl_temps 4 + mov r0.xz, v1.xxxx + add r1.xyzw, v1.yyyy, cb0[3].xzyw + mov r0.yw, r1.xxxz + sample r2.xyzw, r0.zwzz, t0.xyzw, s0 + sample r0.xyzw, r0.xyxx, t0.xyzw, s0 + mul r2.xyzw, r2.xyzw, cb0[6].yyyy + mad r0.xyzw, cb0[6].xxxx, r0.xyzw, r2.xyzw + mov r1.xz, v1.xxxx + sample r2.xyzw, r1.xyxx, t0.xyzw, s0 + sample r1.xyzw, r1.zwzz, t0.xyzw, s0 + mad r0.xyzw, cb0[6].zzzz, r2.xyzw, r0.xyzw + mad r0.xyzw, cb0[6].wwww, r1.xyzw, r0.xyzw + mov r1.xz, v1.xxxx + add r2.xyzw, v1.yyyy, cb0[4].xzyw + mov r1.yw, r2.xxxz + sample r3.xyzw, r1.xyxx, t0.xyzw, s0 + sample r1.xyzw, r1.zwzz, t0.xyzw, s0 + mad r0.xyzw, cb0[7].xxxx, r3.xyzw, r0.xyzw + mad r0.xyzw, cb0[7].yyyy, r1.xyzw, r0.xyzw + mov r2.xz, v1.xxxx + sample r1.xyzw, r2.xyxx, t0.xyzw, s0 + sample r2.xyzw, r2.zwzz, t0.xyzw, s0 + mad r0.xyzw, cb0[7].zzzz, r1.xyzw, r0.xyzw + mad r0.xyzw, cb0[7].wwww, r2.xyzw, r0.xyzw + add r1.y, v1.y, cb0[5].x + mov r1.x, v1.x + sample r1.xyzw, r1.xyxx, t0.xyzw, s0 + mad o0.xyzw, cb0[8].xxxx, r1.xyzw, r0.xyzw + ret + // Approximately 29 instruction slots used + + }; + } + + pass P2 + { + RasterizerState = TextureRast; + AB_BlendFactor = float4(1, 1, 1, 1); + AB_SampleMask = uint(0xffffffff); + BlendState = ShadowBlendV; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb1 + // { + // + // float4 BlurOffsetsH[3]; // Offset: 0 Size: 48 [unused] + // float4 BlurOffsetsV[3]; // Offset: 48 Size: 48 + // float4 BlurWeights[3]; // Offset: 96 Size: 48 + // float4 ShadowColor; // Offset: 144 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sMaskSampler sampler NA NA 0 1 + // sShadowSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb1 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 3 6 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t1 + // s1 s1 t0 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + dcl_2d s1 + add r0.y, t0.y, c0.y + mov r0.x, t0.x + add r1.y, t0.y, c0.x + mov r1.x, t0.x + texld r0, r0, s1 + texld r1, r1, s1 + mul r0, r0, c3.y + mad r0, c3.x, r1, r0 + add r1.y, t0.y, c0.z + mov r1.x, t0.x + add r2.y, t0.y, c0.w + mov r2.x, t0.x + texld r1, r1, s1 + texld r2, r2, s1 + mad r0, c3.z, r1, r0 + mad r0, c3.w, r2, r0 + add r1.y, t0.y, c1.x + mov r1.x, t0.x + add r2.y, t0.y, c1.y + mov r2.x, t0.x + texld r1, r1, s1 + texld r2, r2, s1 + mad r0, c4.x, r1, r0 + mad r0, c4.y, r2, r0 + add r1.y, t0.y, c1.z + mov r1.x, t0.x + add r2.y, t0.y, c1.w + mov r2.x, t0.x + texld r1, r1, s1 + texld r2, r2, s1 + mad r0, c4.z, r1, r0 + mad r0, c4.w, r2, r0 + add r1.y, t0.y, c2.x + mov r1.x, t0.x + mov r2.xy, t0.wzzw + texld r1, r1, s1 + texld r2, r2, s0 + mad r0, c5.x, r1, r0 + mul r0, r2.w, r0 + mov oC0, r0 + + // approximately 40 instruction slots used (10 texture, 30 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[9], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_temps 4 + mov r0.xz, v1.xxxx + add r1.xyzw, v1.yyyy, cb0[3].xzyw + mov r0.yw, r1.xxxz + sample r2.xyzw, r0.zwzz, t0.xyzw, s1 + sample r0.xyzw, r0.xyxx, t0.xyzw, s1 + mul r2.xyzw, r2.xyzw, cb0[6].yyyy + mad r0.xyzw, cb0[6].xxxx, r0.xyzw, r2.xyzw + mov r1.xz, v1.xxxx + sample r2.xyzw, r1.xyxx, t0.xyzw, s1 + sample r1.xyzw, r1.zwzz, t0.xyzw, s1 + mad r0.xyzw, cb0[6].zzzz, r2.xyzw, r0.xyzw + mad r0.xyzw, cb0[6].wwww, r1.xyzw, r0.xyzw + mov r1.xz, v1.xxxx + add r2.xyzw, v1.yyyy, cb0[4].xzyw + mov r1.yw, r2.xxxz + sample r3.xyzw, r1.xyxx, t0.xyzw, s1 + sample r1.xyzw, r1.zwzz, t0.xyzw, s1 + mad r0.xyzw, cb0[7].xxxx, r3.xyzw, r0.xyzw + mad r0.xyzw, cb0[7].yyyy, r1.xyzw, r0.xyzw + mov r2.xz, v1.xxxx + sample r1.xyzw, r2.xyxx, t0.xyzw, s1 + sample r2.xyzw, r2.zwzz, t0.xyzw, s1 + mad r0.xyzw, cb0[7].zzzz, r1.xyzw, r0.xyzw + mad r0.xyzw, cb0[7].wwww, r2.xyzw, r0.xyzw + add r1.y, v1.y, cb0[5].x + mov r1.x, v1.x + sample r1.xyzw, r1.xyxx, t0.xyzw, s1 + mad r0.xyzw, cb0[8].xxxx, r1.xyzw, r0.xyzw + sample r1.xyzw, v1.zwzz, t1.xyzw, s0 + mul o0.xyzw, r0.xyzw, r1.wwww + ret + // Approximately 31 instruction slots used + + }; + } + +} + +technique10 SampleTextTexture +{ + pass Unmasked + { + AB_BlendFactor = float4(0, 0, 0, 0); + AB_SampleMask = uint(0xffffffff); + BlendState = bTextBlend; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 [unused] + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 [unused] + // float4 TextColor; // Offset: 48 Size: 16 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // tex texture float4 2d 0 1 + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // SV_Target 1 xyzw 1 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + mov oC0, c0 + texld r0, t0, s0 + mul r0, r0.zyxy, c0.w + mov oC1, r0 + + // approximately 4 instruction slots used (1 texture, 3 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[4], immediateIndexed + dcl_sampler s0, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_input_ps linear v1.xy + dcl_output o0.xyzw + dcl_output o1.xyzw + dcl_temps 1 + mov o0.xyzw, cb0[3].xyzw + sample r0.xyzw, v1.xyxx, t0.xyzw, s0 + mul o1.xyzw, r0.zyxy, cb0[3].wwww + ret + // Approximately 4 instruction slots used + + }; + } + + pass Masked + { + AB_BlendFactor = float4(0, 0, 0, 0); + AB_SampleMask = uint(0xffffffff); + BlendState = bTextBlend; + VertexShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 + // float4 TexCoords; // Offset: 16 Size: 16 + // float4 MaskTexCoords; // Offset: 32 Size: 16 + // float4 TextColor; // Offset: 48 Size: 16 [unused] + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // POSITION 0 xyz 0 NONE float xy + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float xyzw + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c1 cb0 0 3 ( FLT, FLT, FLT, FLT) + // + // + // Runtime generated constant mappings: + // + // Target Reg Constant Description + // ---------- -------------------------------------------------- + // c0 Vertex Shader position offset + // + // + // Level9 shader bytecode: + // + vs_2_x + def c4, 0, 1, 0, 0 + dcl_texcoord v0 + mad oT0.xy, v0, c2.zwzw, c2 + mad oT0.zw, v0.xyyx, c3.xywz, c3.xyyx + mad r0.xy, v0, c1.zwzw, c1 + add oPos.xy, r0, c0 + mov oPos.zw, c4.xyxy + + // approximately 5 instruction slots used + vs_4_0 + dcl_constantbuffer cb0[3], immediateIndexed + dcl_input v0.xy + dcl_output_siv o0.xyzw, position + dcl_output o1.xy + dcl_output o1.zw + mad o0.xy, v0.xyxx, cb0[0].zwzz, cb0[0].xyxx + mov o0.zw, l(0,0,0,1.000000) + mad o1.xy, v0.xyxx, cb0[1].zwzz, cb0[1].xyxx + mad o1.zw, v0.xxxy, cb0[2].zzzw, cb0[2].xxxy + ret + // Approximately 5 instruction slots used + + }; + GeometryShader = NULL; + PixelShader = asm { + // + // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 + // + // + // Buffer Definitions: + // + // cbuffer cb0 + // { + // + // float4 QuadDesc; // Offset: 0 Size: 16 [unused] + // float4 TexCoords; // Offset: 16 Size: 16 [unused] + // float4 MaskTexCoords; // Offset: 32 Size: 16 [unused] + // float4 TextColor; // Offset: 48 Size: 16 + // + // } + // + // + // Resource Bindings: + // + // Name Type Format Dim Slot Elements + // ------------------------------ ---------- ------- ----------- ---- -------- + // sSampler sampler NA NA 0 1 + // sMaskSampler sampler NA NA 1 1 + // tex texture float4 2d 0 1 + // mask texture float4 2d 1 1 + // cb0 cbuffer NA NA 0 1 + // + // + // + // Input signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Position 0 xyzw 0 POS float + // TEXCOORD 0 xy 1 NONE float xy + // TEXCOORD 1 zw 1 NONE float zw + // + // + // Output signature: + // + // Name Index Mask Register SysValue Format Used + // -------------------- ----- ------ -------- -------- ------ ------ + // SV_Target 0 xyzw 0 TARGET float xyzw + // SV_Target 1 xyzw 1 TARGET float xyzw + // + // + // Constant buffer to DX9 shader constant mappings: + // + // Target Reg Buffer Start Reg # of Regs Data Conversion + // ---------- ------- --------- --------- ---------------------- + // c0 cb0 3 1 ( FLT, FLT, FLT, FLT) + // + // + // Sampler/Resource to DX9 shader sampler mappings: + // + // Target Sampler Source Sampler Source Resource + // -------------- --------------- ---------------- + // s0 s0 t0 + // s1 s1 t1 + // + // + // Level9 shader bytecode: + // + ps_2_x + dcl t0 + dcl_2d s0 + dcl_2d s1 + mov r0.xy, t0.wzzw + texld r1, t0, s0 + texld r0, r0, s1 + mul r2, r0.w, c0 + mov oC0, r2 + mul r1, r1.zyxy, c0.w + mul r0, r0.w, r1 + mov oC1, r0 + + // approximately 8 instruction slots used (2 texture, 6 arithmetic) + ps_4_0 + dcl_constantbuffer cb0[4], immediateIndexed + dcl_sampler s0, mode_default + dcl_sampler s1, mode_default + dcl_resource_texture2d (float,float,float,float) t0 + dcl_resource_texture2d (float,float,float,float) t1 + dcl_input_ps linear v1.xy + dcl_input_ps linear v1.zw + dcl_output o0.xyzw + dcl_output o1.xyzw + dcl_temps 2 + sample r0.xyzw, v1.zwzz, t1.xyzw, s1 + mul o0.xyzw, r0.wwww, cb0[3].xyzw + sample r1.xyzw, v1.xyxx, t0.xyzw, s0 + mul r1.xyzw, r1.zyxy, cb0[3].wwww + mul o1.xyzw, r0.wwww, r1.xyzw + ret + // Approximately 6 instruction slots used + + }; + } + +} + +#endif + +const BYTE d2deffect[] = +{ + 68, 88, 66, 67, 19, 211, + 25, 11, 246, 253, 65, 136, + 245, 66, 166, 250, 155, 0, + 197, 65, 1, 0, 0, 0, + 240, 190, 0, 0, 1, 0, + 0, 0, 36, 0, 0, 0, + 70, 88, 49, 48, 196, 190, + 0, 0, 1, 16, 255, 254, + 3, 0, 0, 0, 15, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 4, 180, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 99, 98, + 48, 0, 102, 108, 111, 97, + 116, 52, 0, 8, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 16, 0, 0, 0, 16, + 0, 0, 0, 10, 33, 0, + 0, 81, 117, 97, 100, 68, + 101, 115, 99, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 115, 0, 77, 97, 115, 107, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 84, 101, + 120, 116, 67, 111, 108, 111, + 114, 0, 99, 98, 49, 0, + 8, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 48, 0, 0, 0, + 10, 33, 0, 0, 66, 108, + 117, 114, 79, 102, 102, 115, + 101, 116, 115, 72, 0, 66, + 108, 117, 114, 79, 102, 102, + 115, 101, 116, 115, 86, 0, + 66, 108, 117, 114, 87, 101, + 105, 103, 104, 116, 115, 0, + 83, 104, 97, 100, 111, 119, + 67, 111, 108, 111, 114, 0, + 99, 98, 50, 0, 102, 108, + 111, 97, 116, 51, 120, 51, + 0, 172, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 48, + 0, 0, 0, 36, 0, 0, + 0, 11, 91, 0, 0, 68, + 101, 118, 105, 99, 101, 83, + 112, 97, 99, 101, 84, 111, + 85, 115, 101, 114, 83, 112, + 97, 99, 101, 0, 102, 108, + 111, 97, 116, 50, 0, 232, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 8, + 0, 0, 0, 16, 0, 0, + 0, 8, 0, 0, 0, 10, + 17, 0, 0, 100, 105, 109, + 101, 110, 115, 105, 111, 110, + 115, 0, 102, 108, 111, 97, + 116, 51, 0, 22, 1, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 12, 0, 0, + 0, 16, 0, 0, 0, 12, + 0, 0, 0, 10, 25, 0, + 0, 100, 105, 102, 102, 0, + 99, 101, 110, 116, 101, 114, + 49, 0, 102, 108, 111, 97, + 116, 0, 70, 1, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 16, 0, 0, 0, 4, 0, + 0, 0, 9, 9, 0, 0, + 65, 0, 114, 97, 100, 105, + 117, 115, 49, 0, 115, 113, + 95, 114, 97, 100, 105, 117, + 115, 49, 0, 84, 101, 120, + 116, 117, 114, 101, 50, 68, + 0, 125, 1, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, 0, 116, + 101, 120, 0, 109, 97, 115, + 107, 0, 83, 97, 109, 112, + 108, 101, 114, 83, 116, 97, + 116, 101, 0, 172, 1, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 21, 0, 0, + 0, 115, 83, 97, 109, 112, + 108, 101, 114, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 21, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 115, 87, + 114, 97, 112, 83, 97, 109, + 112, 108, 101, 114, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 21, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 115, + 77, 105, 114, 114, 111, 114, + 83, 97, 109, 112, 108, 101, + 114, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 21, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 115, 77, 97, 115, + 107, 83, 97, 109, 112, 108, + 101, 114, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 21, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 3, + 0, 0, 0, 115, 83, 104, + 97, 100, 111, 119, 83, 97, + 109, 112, 108, 101, 114, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 21, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 82, 97, 115, 116, 101, 114, + 105, 122, 101, 114, 83, 116, + 97, 116, 101, 0, 238, 2, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 84, 101, 120, 116, + 117, 114, 101, 82, 97, 115, + 116, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 66, 108, 101, 110, + 100, 83, 116, 97, 116, 101, + 0, 62, 3, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 83, + 104, 97, 100, 111, 119, 66, + 108, 101, 110, 100, 72, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 83, 104, 97, 100, 111, 119, + 66, 108, 101, 110, 100, 86, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 6, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 6, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 15, 0, 0, + 0, 98, 84, 101, 120, 116, + 66, 108, 101, 110, 100, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 16, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 17, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 18, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 19, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 83, 97, 109, 112, 108, 101, + 84, 101, 120, 116, 117, 114, + 101, 0, 80, 48, 0, 68, + 4, 0, 0, 68, 88, 66, + 67, 26, 214, 157, 140, 185, + 91, 182, 211, 177, 171, 114, + 225, 174, 107, 56, 117, 1, + 0, 0, 0, 68, 4, 0, + 0, 6, 0, 0, 0, 56, + 0, 0, 0, 248, 0, 0, + 0, 244, 1, 0, 0, 112, + 2, 0, 0, 160, 3, 0, + 0, 212, 3, 0, 0, 65, + 111, 110, 57, 184, 0, 0, + 0, 184, 0, 0, 0, 0, + 2, 254, 255, 132, 0, 0, + 0, 52, 0, 0, 0, 1, + 0, 36, 0, 0, 0, 48, + 0, 0, 0, 48, 0, 0, + 0, 36, 0, 1, 0, 48, + 0, 0, 0, 0, 0, 3, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 2, 254, 255, 81, 0, 0, + 5, 4, 0, 15, 160, 0, + 0, 0, 0, 0, 0, 128, + 63, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 0, 0, + 2, 5, 0, 0, 128, 0, + 0, 15, 144, 4, 0, 0, + 4, 0, 0, 3, 224, 0, + 0, 228, 144, 2, 0, 238, + 160, 2, 0, 228, 160, 4, + 0, 0, 4, 0, 0, 12, + 224, 0, 0, 20, 144, 3, + 0, 180, 160, 3, 0, 20, + 160, 4, 0, 0, 4, 0, + 0, 3, 128, 0, 0, 228, + 144, 1, 0, 238, 160, 1, + 0, 228, 160, 2, 0, 0, + 3, 0, 0, 3, 192, 0, + 0, 228, 128, 0, 0, 228, + 160, 1, 0, 0, 2, 0, + 0, 12, 192, 4, 0, 68, + 160, 255, 255, 0, 0, 83, + 72, 68, 82, 244, 0, 0, + 0, 64, 0, 1, 0, 61, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 95, 0, 0, 3, 50, + 16, 16, 0, 0, 0, 0, + 0, 103, 0, 0, 4, 242, + 32, 16, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 101, + 0, 0, 3, 50, 32, 16, + 0, 1, 0, 0, 0, 101, + 0, 0, 3, 194, 32, 16, + 0, 1, 0, 0, 0, 50, + 0, 0, 11, 50, 32, 16, + 0, 0, 0, 0, 0, 70, + 16, 16, 0, 0, 0, 0, + 0, 230, 138, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 70, 128, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 8, 194, + 32, 16, 0, 0, 0, 0, + 0, 2, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 128, 63, 50, 0, 0, + 11, 50, 32, 16, 0, 1, + 0, 0, 0, 70, 16, 16, + 0, 0, 0, 0, 0, 230, + 138, 32, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 70, + 128, 32, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 50, + 0, 0, 11, 194, 32, 16, + 0, 1, 0, 0, 0, 6, + 20, 16, 0, 0, 0, 0, + 0, 166, 142, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 6, 132, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 62, 0, 0, 1, 83, + 84, 65, 84, 116, 0, 0, + 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 68, 69, + 70, 40, 1, 0, 0, 1, + 0, 0, 0, 64, 0, 0, + 0, 1, 0, 0, 0, 28, + 0, 0, 0, 0, 4, 254, + 255, 0, 1, 0, 0, 246, + 0, 0, 0, 60, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 99, + 98, 48, 0, 60, 0, 0, + 0, 4, 0, 0, 0, 88, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 184, 0, 0, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 196, 0, 0, 0, 0, + 0, 0, 0, 212, 0, 0, + 0, 16, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 196, 0, 0, 0, 0, + 0, 0, 0, 222, 0, 0, + 0, 32, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 196, 0, 0, 0, 0, + 0, 0, 0, 236, 0, 0, + 0, 48, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 196, 0, 0, 0, 0, + 0, 0, 0, 81, 117, 97, + 100, 68, 101, 115, 99, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 115, 0, 77, + 97, 115, 107, 84, 101, 120, + 67, 111, 111, 114, 100, 115, + 0, 84, 101, 120, 116, 67, + 111, 108, 111, 114, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 57, 46, + 50, 57, 46, 57, 53, 50, + 46, 51, 49, 49, 49, 0, + 171, 73, 83, 71, 78, 44, + 0, 0, 0, 1, 0, 0, + 0, 8, 0, 0, 0, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 7, 3, 0, 0, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 171, 171, 171, 79, + 83, 71, 78, 104, 0, 0, + 0, 3, 0, 0, 0, 8, + 0, 0, 0, 80, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 15, + 0, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 3, + 12, 0, 0, 92, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 12, + 3, 0, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 171, 171, 171, 127, 4, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 212, + 2, 0, 0, 68, 88, 66, + 67, 22, 206, 82, 103, 196, + 235, 84, 233, 156, 39, 210, + 152, 32, 145, 169, 162, 1, + 0, 0, 0, 212, 2, 0, + 0, 6, 0, 0, 0, 56, + 0, 0, 0, 164, 0, 0, + 0, 16, 1, 0, 0, 140, + 1, 0, 0, 48, 2, 0, + 0, 160, 2, 0, 0, 65, + 111, 110, 57, 100, 0, 0, + 0, 100, 0, 0, 0, 0, + 2, 255, 255, 60, 0, 0, + 0, 40, 0, 0, 0, 0, + 0, 40, 0, 0, 0, 40, + 0, 0, 0, 40, 0, 1, + 0, 36, 0, 0, 0, 40, + 0, 0, 0, 0, 0, 1, + 2, 255, 255, 31, 0, 0, + 2, 0, 0, 0, 128, 0, + 0, 15, 176, 31, 0, 0, + 2, 0, 0, 0, 144, 0, + 8, 15, 160, 66, 0, 0, + 3, 0, 0, 15, 128, 0, + 0, 228, 176, 0, 8, 228, + 160, 1, 0, 0, 2, 0, + 8, 15, 128, 0, 0, 228, + 128, 255, 255, 0, 0, 83, + 72, 68, 82, 100, 0, 0, + 0, 64, 0, 0, 0, 25, + 0, 0, 0, 90, 0, 0, + 3, 0, 96, 16, 0, 0, + 0, 0, 0, 88, 24, 0, + 4, 0, 112, 16, 0, 0, + 0, 0, 0, 85, 85, 0, + 0, 98, 16, 0, 3, 50, + 16, 16, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 242, + 32, 16, 0, 0, 0, 0, + 0, 69, 0, 0, 9, 242, + 32, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 0, 0, 0, 0, 0, + 96, 16, 0, 0, 0, 0, + 0, 62, 0, 0, 1, 83, + 84, 65, 84, 116, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 68, 69, + 70, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 28, + 0, 0, 0, 0, 4, 255, + 255, 0, 1, 0, 0, 105, + 0, 0, 0, 92, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 101, + 0, 0, 0, 2, 0, 0, + 0, 5, 0, 0, 0, 4, + 0, 0, 0, 255, 255, 255, + 255, 0, 0, 0, 0, 1, + 0, 0, 0, 12, 0, 0, + 0, 115, 83, 97, 109, 112, + 108, 101, 114, 0, 116, 101, + 120, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 171, 171, 73, + 83, 71, 78, 104, 0, 0, + 0, 3, 0, 0, 0, 8, + 0, 0, 0, 80, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 15, + 0, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 3, + 3, 0, 0, 92, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 171, 171, 171, 79, 83, 71, + 78, 44, 0, 0, 0, 1, + 0, 0, 0, 8, 0, 0, + 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 83, 86, 95, 84, 97, + 114, 103, 101, 116, 0, 171, + 171, 219, 8, 0, 0, 0, + 0, 0, 0, 83, 97, 109, + 112, 108, 101, 82, 97, 100, + 105, 97, 108, 71, 114, 97, + 100, 105, 101, 110, 116, 0, + 65, 80, 111, 115, 0, 40, + 7, 0, 0, 68, 88, 66, + 67, 237, 58, 124, 168, 122, + 234, 242, 5, 75, 29, 195, + 6, 241, 206, 131, 117, 1, + 0, 0, 0, 40, 7, 0, + 0, 6, 0, 0, 0, 56, + 0, 0, 0, 148, 1, 0, + 0, 104, 3, 0, 0, 228, + 3, 0, 0, 132, 6, 0, + 0, 184, 6, 0, 0, 65, + 111, 110, 57, 84, 1, 0, + 0, 84, 1, 0, 0, 0, + 2, 254, 255, 252, 0, 0, + 0, 88, 0, 0, 0, 4, + 0, 36, 0, 0, 0, 84, + 0, 0, 0, 84, 0, 0, + 0, 36, 0, 1, 0, 84, + 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 1, + 0, 2, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 3, 0, 0, 0, 0, + 0, 1, 0, 3, 0, 1, + 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 2, 254, 255, 81, 0, 0, + 5, 6, 0, 15, 160, 0, + 0, 128, 63, 0, 0, 0, + 63, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 0, 0, + 2, 5, 0, 0, 128, 0, + 0, 15, 144, 4, 0, 0, + 4, 0, 0, 3, 224, 0, + 0, 228, 144, 2, 0, 238, + 160, 2, 0, 228, 160, 4, + 0, 0, 4, 0, 0, 3, + 128, 0, 0, 228, 144, 1, + 0, 238, 160, 1, 0, 228, + 160, 2, 0, 0, 3, 0, + 0, 4, 128, 0, 0, 0, + 128, 6, 0, 0, 160, 5, + 0, 0, 3, 0, 0, 4, + 128, 0, 0, 170, 128, 5, + 0, 0, 160, 5, 0, 0, + 3, 1, 0, 1, 128, 0, + 0, 170, 128, 6, 0, 85, + 160, 2, 0, 0, 3, 0, + 0, 4, 128, 0, 0, 85, + 129, 6, 0, 0, 160, 2, + 0, 0, 3, 0, 0, 3, + 192, 0, 0, 228, 128, 0, + 0, 228, 160, 5, 0, 0, + 3, 0, 0, 1, 128, 0, + 0, 170, 128, 5, 0, 85, + 160, 5, 0, 0, 3, 1, + 0, 2, 128, 0, 0, 0, + 128, 6, 0, 85, 160, 1, + 0, 0, 2, 1, 0, 4, + 128, 6, 0, 0, 160, 8, + 0, 0, 3, 0, 0, 8, + 224, 1, 0, 228, 128, 3, + 0, 228, 160, 8, 0, 0, + 3, 0, 0, 4, 224, 1, + 0, 228, 128, 4, 0, 228, + 160, 1, 0, 0, 2, 0, + 0, 12, 192, 6, 0, 36, + 160, 255, 255, 0, 0, 83, + 72, 68, 82, 204, 1, 0, + 0, 64, 0, 1, 0, 115, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 89, 0, 0, 4, 70, + 142, 32, 0, 1, 0, 0, + 0, 4, 0, 0, 0, 95, + 0, 0, 3, 50, 16, 16, + 0, 0, 0, 0, 0, 103, + 0, 0, 4, 242, 32, 16, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 50, 32, 16, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 194, 32, 16, 0, 1, + 0, 0, 0, 104, 0, 0, + 2, 2, 0, 0, 0, 54, + 0, 0, 8, 194, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, + 63, 50, 0, 0, 11, 50, + 0, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 0, + 0, 0, 0, 230, 138, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 128, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, + 5, 50, 32, 16, 0, 0, + 0, 0, 0, 70, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 7, 18, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 128, 63, 0, 0, 0, + 8, 34, 0, 16, 0, 0, + 0, 0, 0, 26, 0, 16, + 128, 65, 0, 0, 0, 0, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 128, 63, 56, + 0, 0, 8, 50, 0, 16, + 0, 0, 0, 0, 0, 70, + 0, 16, 0, 0, 0, 0, + 0, 70, 128, 32, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 56, 0, 0, 10, 50, + 0, 16, 0, 1, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 2, 64, 0, + 0, 0, 0, 0, 63, 0, + 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 54, + 0, 0, 5, 66, 0, 16, + 0, 1, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 128, + 63, 16, 0, 0, 8, 66, + 32, 16, 0, 1, 0, 0, + 0, 70, 2, 16, 0, 1, + 0, 0, 0, 70, 130, 32, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 8, 130, 32, 16, 0, 1, + 0, 0, 0, 70, 2, 16, + 0, 1, 0, 0, 0, 70, + 130, 32, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 50, + 0, 0, 11, 50, 32, 16, + 0, 1, 0, 0, 0, 70, + 16, 16, 0, 0, 0, 0, + 0, 230, 138, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 70, 128, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 62, 0, 0, 1, 83, + 84, 65, 84, 116, 0, 0, + 0, 12, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 68, 69, + 70, 152, 2, 0, 0, 2, + 0, 0, 0, 100, 0, 0, + 0, 2, 0, 0, 0, 28, + 0, 0, 0, 0, 4, 254, + 255, 0, 1, 0, 0, 103, + 2, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 96, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 99, 98, 48, 0, 99, + 98, 50, 0, 92, 0, 0, + 0, 4, 0, 0, 0, 148, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 96, 0, 0, + 0, 7, 0, 0, 0, 52, + 1, 0, 0, 112, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 16, 1, 0, + 0, 16, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 26, 1, 0, + 0, 32, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 40, 1, 0, + 0, 48, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 81, 117, 97, + 100, 68, 101, 115, 99, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 115, 0, 77, + 97, 115, 107, 84, 101, 120, + 67, 111, 111, 114, 100, 115, + 0, 84, 101, 120, 116, 67, + 111, 108, 111, 114, 0, 171, + 171, 220, 1, 0, 0, 0, + 0, 0, 0, 44, 0, 0, + 0, 2, 0, 0, 0, 244, + 1, 0, 0, 0, 0, 0, + 0, 4, 2, 0, 0, 48, + 0, 0, 0, 8, 0, 0, + 0, 2, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 64, + 0, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 40, + 2, 0, 0, 0, 0, 0, + 0, 56, 2, 0, 0, 80, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 64, 2, 0, 0, 88, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 84, 2, 0, 0, 92, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 92, 2, 0, 0, 96, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 68, 101, 118, 105, 99, + 101, 83, 112, 97, 99, 101, + 84, 111, 85, 115, 101, 114, + 83, 112, 97, 99, 101, 0, + 171, 3, 0, 3, 0, 3, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, + 105, 109, 101, 110, 115, 105, + 111, 110, 115, 0, 171, 1, + 0, 3, 0, 1, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 105, 102, + 102, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 99, 101, 110, + 116, 101, 114, 49, 0, 65, + 0, 171, 171, 0, 0, 3, + 0, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 114, 97, 100, 105, 117, + 115, 49, 0, 115, 113, 95, + 114, 97, 100, 105, 117, 115, + 49, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 73, 83, 71, + 78, 44, 0, 0, 0, 1, + 0, 0, 0, 8, 0, 0, + 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 7, 3, 0, + 0, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 171, 171, + 171, 79, 83, 71, 78, 104, + 0, 0, 0, 3, 0, 0, + 0, 8, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 3, 12, 0, 0, 92, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 12, 3, 0, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 171, 171, 171, 213, + 11, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 220, 9, 0, 0, 68, + 88, 66, 67, 75, 110, 115, + 165, 159, 108, 132, 208, 154, + 90, 141, 18, 236, 102, 72, + 112, 1, 0, 0, 0, 220, + 9, 0, 0, 6, 0, 0, + 0, 56, 0, 0, 0, 128, + 2, 0, 0, 88, 6, 0, + 0, 212, 6, 0, 0, 56, + 9, 0, 0, 168, 9, 0, + 0, 65, 111, 110, 57, 64, + 2, 0, 0, 64, 2, 0, + 0, 0, 2, 255, 255, 8, + 2, 0, 0, 56, 0, 0, + 0, 1, 0, 44, 0, 0, + 0, 56, 0, 0, 0, 56, + 0, 2, 0, 36, 0, 0, + 0, 56, 0, 0, 0, 0, + 0, 1, 1, 1, 0, 0, + 0, 4, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 1, + 2, 255, 255, 81, 0, 0, + 5, 3, 0, 15, 160, 0, + 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, + 5, 4, 0, 15, 160, 0, + 0, 128, 63, 0, 0, 128, + 191, 0, 0, 0, 0, 0, + 0, 0, 128, 31, 0, 0, + 2, 0, 0, 0, 128, 0, + 0, 15, 176, 31, 0, 0, + 2, 0, 0, 0, 144, 0, + 8, 15, 160, 31, 0, 0, + 2, 0, 0, 0, 144, 1, + 8, 15, 160, 2, 0, 0, + 3, 0, 0, 3, 128, 0, + 0, 235, 176, 1, 0, 228, + 161, 90, 0, 0, 4, 0, + 0, 8, 128, 0, 0, 228, + 128, 0, 0, 228, 128, 2, + 0, 0, 161, 5, 0, 0, + 3, 0, 0, 8, 128, 0, + 0, 255, 128, 1, 0, 170, + 160, 1, 0, 0, 2, 0, + 0, 4, 128, 1, 0, 255, + 160, 8, 0, 0, 3, 0, + 0, 1, 128, 0, 0, 228, + 128, 0, 0, 228, 160, 4, + 0, 0, 4, 0, 0, 2, + 128, 0, 0, 0, 128, 0, + 0, 0, 128, 0, 0, 255, + 129, 35, 0, 0, 2, 0, + 0, 4, 128, 0, 0, 85, + 128, 7, 0, 0, 2, 0, + 0, 4, 128, 0, 0, 170, + 128, 6, 0, 0, 2, 1, + 0, 1, 128, 0, 0, 170, + 128, 1, 0, 0, 2, 1, + 0, 6, 128, 1, 0, 0, + 129, 2, 0, 0, 3, 0, + 0, 13, 128, 0, 0, 0, + 128, 1, 0, 148, 128, 6, + 0, 0, 2, 1, 0, 1, + 128, 1, 0, 170, 160, 5, + 0, 0, 3, 0, 0, 13, + 128, 0, 0, 228, 128, 1, + 0, 0, 128, 1, 0, 0, + 2, 1, 0, 8, 128, 1, + 0, 255, 160, 4, 0, 0, + 4, 1, 0, 7, 128, 0, + 0, 248, 128, 0, 0, 170, + 160, 1, 0, 255, 128, 88, + 0, 0, 4, 2, 0, 1, + 128, 1, 0, 0, 128, 0, + 0, 0, 128, 0, 0, 255, + 128, 88, 0, 0, 4, 0, + 0, 13, 128, 1, 0, 148, + 128, 4, 0, 68, 160, 4, + 0, 230, 160, 1, 0, 0, + 2, 2, 0, 2, 128, 3, + 0, 0, 160, 66, 0, 0, + 3, 1, 0, 15, 128, 0, + 0, 228, 176, 1, 8, 228, + 160, 66, 0, 0, 3, 2, + 0, 15, 128, 2, 0, 228, + 128, 0, 8, 228, 160, 5, + 0, 0, 3, 2, 0, 7, + 128, 2, 0, 255, 128, 2, + 0, 228, 128, 5, 0, 0, + 3, 1, 0, 15, 128, 1, + 0, 255, 128, 2, 0, 228, + 128, 2, 0, 0, 3, 0, + 0, 8, 128, 0, 0, 255, + 128, 0, 0, 0, 128, 88, + 0, 0, 4, 0, 0, 1, + 128, 0, 0, 255, 128, 0, + 0, 0, 128, 0, 0, 170, + 128, 88, 0, 0, 4, 1, + 0, 15, 128, 0, 0, 0, + 129, 4, 0, 170, 160, 1, + 0, 228, 128, 88, 0, 0, + 4, 0, 0, 15, 128, 0, + 0, 85, 128, 1, 0, 228, + 128, 4, 0, 170, 160, 1, + 0, 0, 2, 0, 8, 15, + 128, 0, 0, 228, 128, 255, + 255, 0, 0, 83, 72, 68, + 82, 208, 3, 0, 0, 64, + 0, 0, 0, 244, 0, 0, + 0, 89, 0, 0, 4, 70, + 142, 32, 0, 0, 0, 0, + 0, 7, 0, 0, 0, 90, + 0, 0, 3, 0, 96, 16, + 0, 0, 0, 0, 0, 90, + 0, 0, 3, 0, 96, 16, + 0, 1, 0, 0, 0, 88, + 24, 0, 4, 0, 112, 16, + 0, 0, 0, 0, 0, 85, + 85, 0, 0, 88, 24, 0, + 4, 0, 112, 16, 0, 1, + 0, 0, 0, 85, 85, 0, + 0, 98, 16, 0, 3, 50, + 16, 16, 0, 1, 0, 0, + 0, 98, 16, 0, 3, 194, + 16, 16, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 242, + 32, 16, 0, 0, 0, 0, + 0, 104, 0, 0, 2, 3, + 0, 0, 0, 0, 0, 0, + 9, 50, 0, 16, 0, 0, + 0, 0, 0, 230, 26, 16, + 0, 1, 0, 0, 0, 70, + 128, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 54, 0, 0, + 6, 66, 0, 16, 0, 0, + 0, 0, 0, 58, 128, 32, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 16, 0, 0, + 8, 66, 0, 16, 0, 0, + 0, 0, 0, 70, 2, 16, + 0, 0, 0, 0, 0, 70, + 130, 32, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 15, + 0, 0, 7, 18, 0, 16, + 0, 0, 0, 0, 0, 70, + 0, 16, 0, 0, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 0, + 9, 18, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 10, + 128, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 6, + 0, 0, 0, 56, 0, 0, + 8, 18, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 42, + 128, 32, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 50, + 0, 0, 10, 18, 0, 16, + 0, 0, 0, 0, 0, 42, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 128, 65, 0, 0, 0, 0, + 0, 0, 0, 49, 0, 0, + 7, 34, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 0, + 0, 75, 0, 0, 6, 18, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 128, 129, + 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 6, 34, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 128, 65, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 7, 82, + 0, 16, 0, 0, 0, 0, + 0, 166, 10, 16, 0, 0, + 0, 0, 0, 6, 1, 16, + 0, 1, 0, 0, 0, 14, + 0, 0, 8, 82, 0, 16, + 0, 0, 0, 0, 0, 6, + 2, 16, 0, 0, 0, 0, + 0, 166, 138, 32, 0, 0, + 0, 0, 0, 5, 0, 0, + 0, 56, 0, 0, 8, 50, + 0, 16, 0, 1, 0, 0, + 0, 134, 0, 16, 0, 0, + 0, 0, 0, 166, 138, 32, + 0, 0, 0, 0, 0, 4, + 0, 0, 0, 29, 0, 0, + 9, 50, 0, 16, 0, 1, + 0, 0, 0, 70, 0, 16, + 0, 1, 0, 0, 0, 246, + 143, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 1, 0, 0, + 10, 50, 0, 16, 0, 1, + 0, 0, 0, 70, 0, 16, + 0, 1, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 128, + 63, 0, 0, 128, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 18, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 128, 65, + 0, 0, 0, 0, 0, 0, + 0, 10, 0, 16, 0, 0, + 0, 0, 0, 50, 0, 0, + 9, 18, 0, 16, 0, 2, + 0, 0, 0, 10, 0, 16, + 0, 1, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 0, 0, + 0, 0, 0, 54, 0, 0, + 5, 34, 0, 16, 0, 2, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 0, 63, 69, + 0, 0, 9, 242, 0, 16, + 0, 2, 0, 0, 0, 70, + 0, 16, 0, 2, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 31, + 0, 4, 3, 26, 0, 16, + 0, 0, 0, 0, 0, 54, + 0, 0, 8, 242, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 1, 21, + 0, 0, 1, 52, 0, 0, + 7, 18, 0, 16, 0, 0, + 0, 0, 0, 26, 0, 16, + 0, 1, 0, 0, 0, 10, + 0, 16, 0, 1, 0, 0, + 0, 29, 0, 0, 7, 18, + 0, 16, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 31, + 0, 4, 3, 10, 0, 16, + 0, 0, 0, 0, 0, 54, + 0, 0, 8, 242, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 1, 21, + 0, 0, 1, 56, 0, 0, + 7, 114, 0, 16, 0, 2, + 0, 0, 0, 246, 15, 16, + 0, 2, 0, 0, 0, 70, + 2, 16, 0, 2, 0, 0, + 0, 69, 0, 0, 9, 242, + 0, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 1, 0, 0, 0, 0, + 96, 16, 0, 1, 0, 0, + 0, 56, 0, 0, 7, 242, + 32, 16, 0, 0, 0, 0, + 0, 246, 15, 16, 0, 0, + 0, 0, 0, 70, 14, 16, + 0, 2, 0, 0, 0, 62, + 0, 0, 1, 83, 84, 65, + 84, 116, 0, 0, 0, 33, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 17, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 82, 68, 69, 70, 92, + 2, 0, 0, 1, 0, 0, + 0, 224, 0, 0, 0, 5, + 0, 0, 0, 28, 0, 0, + 0, 0, 4, 255, 255, 0, + 1, 0, 0, 43, 2, 0, + 0, 188, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 197, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 210, + 0, 0, 0, 2, 0, 0, + 0, 5, 0, 0, 0, 4, + 0, 0, 0, 255, 255, 255, + 255, 0, 0, 0, 0, 1, + 0, 0, 0, 12, 0, 0, + 0, 214, 0, 0, 0, 2, + 0, 0, 0, 5, 0, 0, + 0, 4, 0, 0, 0, 255, + 255, 255, 255, 1, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 219, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 115, + 83, 97, 109, 112, 108, 101, + 114, 0, 115, 77, 97, 115, + 107, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 101, 120, + 0, 109, 97, 115, 107, 0, + 99, 98, 50, 0, 171, 219, + 0, 0, 0, 7, 0, 0, + 0, 248, 0, 0, 0, 112, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 160, + 1, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, + 0, 0, 0, 184, 1, 0, + 0, 0, 0, 0, 0, 200, + 1, 0, 0, 48, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 0, 212, 1, 0, + 0, 0, 0, 0, 0, 228, + 1, 0, 0, 64, 0, 0, + 0, 12, 0, 0, 0, 2, + 0, 0, 0, 236, 1, 0, + 0, 0, 0, 0, 0, 252, + 1, 0, 0, 80, 0, 0, + 0, 8, 0, 0, 0, 2, + 0, 0, 0, 212, 1, 0, + 0, 0, 0, 0, 0, 4, + 2, 0, 0, 88, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 8, 2, 0, + 0, 0, 0, 0, 0, 24, + 2, 0, 0, 92, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 8, 2, 0, + 0, 0, 0, 0, 0, 32, + 2, 0, 0, 96, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 8, 2, 0, + 0, 0, 0, 0, 0, 68, + 101, 118, 105, 99, 101, 83, + 112, 97, 99, 101, 84, 111, + 85, 115, 101, 114, 83, 112, + 97, 99, 101, 0, 171, 3, + 0, 3, 0, 3, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 105, 109, + 101, 110, 115, 105, 111, 110, + 115, 0, 171, 1, 0, 3, + 0, 1, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 100, 105, 102, 102, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 99, 101, 110, 116, 101, + 114, 49, 0, 65, 0, 171, + 171, 0, 0, 3, 0, 1, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 114, + 97, 100, 105, 117, 115, 49, + 0, 115, 113, 95, 114, 97, + 100, 105, 117, 115, 49, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 57, + 46, 50, 57, 46, 57, 53, + 50, 46, 51, 49, 49, 49, + 0, 73, 83, 71, 78, 104, + 0, 0, 0, 3, 0, 0, + 0, 8, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 3, 3, 0, 0, 92, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 12, 12, 0, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 171, 171, 171, 79, + 83, 71, 78, 44, 0, 0, + 0, 1, 0, 0, 0, 8, + 0, 0, 0, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 15, + 0, 0, 0, 83, 86, 95, + 84, 97, 114, 103, 101, 116, + 0, 171, 171, 21, 19, 0, + 0, 0, 0, 0, 0, 65, + 48, 0, 40, 7, 0, 0, + 68, 88, 66, 67, 237, 58, + 124, 168, 122, 234, 242, 5, + 75, 29, 195, 6, 241, 206, + 131, 117, 1, 0, 0, 0, + 40, 7, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 148, 1, 0, 0, 104, 3, + 0, 0, 228, 3, 0, 0, + 132, 6, 0, 0, 184, 6, + 0, 0, 65, 111, 110, 57, + 84, 1, 0, 0, 84, 1, + 0, 0, 0, 2, 254, 255, + 252, 0, 0, 0, 88, 0, + 0, 0, 4, 0, 36, 0, + 0, 0, 84, 0, 0, 0, + 84, 0, 0, 0, 36, 0, + 1, 0, 84, 0, 0, 0, + 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 3, 0, + 0, 0, 0, 0, 1, 0, + 3, 0, 1, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 81, 0, 0, 5, 6, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 4, 0, 0, 4, 0, 0, + 3, 224, 0, 0, 228, 144, + 2, 0, 238, 160, 2, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 128, 0, 0, + 228, 144, 1, 0, 238, 160, + 1, 0, 228, 160, 2, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 0, 128, 6, 0, + 0, 160, 5, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 170, 128, 5, 0, 0, 160, + 5, 0, 0, 3, 1, 0, + 1, 128, 0, 0, 170, 128, + 6, 0, 85, 160, 2, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 85, 129, 6, 0, + 0, 160, 2, 0, 0, 3, + 0, 0, 3, 192, 0, 0, + 228, 128, 0, 0, 228, 160, + 5, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 170, 128, + 5, 0, 85, 160, 5, 0, + 0, 3, 1, 0, 2, 128, + 0, 0, 0, 128, 6, 0, + 85, 160, 1, 0, 0, 2, + 1, 0, 4, 128, 6, 0, + 0, 160, 8, 0, 0, 3, + 0, 0, 8, 224, 1, 0, + 228, 128, 3, 0, 228, 160, + 8, 0, 0, 3, 0, 0, + 4, 224, 1, 0, 228, 128, + 4, 0, 228, 160, 1, 0, + 0, 2, 0, 0, 12, 192, + 6, 0, 36, 160, 255, 255, + 0, 0, 83, 72, 68, 82, + 204, 1, 0, 0, 64, 0, + 1, 0, 115, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 1, 0, 0, 0, 4, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 0, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 194, 32, + 16, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 54, 0, 0, 8, + 194, 32, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 128, 63, 50, 0, + 0, 11, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 50, 32, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 8, 34, 0, + 16, 0, 0, 0, 0, 0, + 26, 0, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 8, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 128, + 32, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 56, 0, + 0, 10, 50, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 16, 0, + 0, 8, 66, 32, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 50, 32, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 12, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 152, 2, + 0, 0, 2, 0, 0, 0, + 100, 0, 0, 0, 2, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 254, 255, 0, 1, + 0, 0, 103, 2, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 99, 98, + 48, 0, 99, 98, 50, 0, + 92, 0, 0, 0, 4, 0, + 0, 0, 148, 0, 0, 0, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 7, 0, + 0, 0, 52, 1, 0, 0, + 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 244, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 16, 1, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 26, 1, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 40, 1, 0, 0, 48, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 81, 117, 97, 100, 68, 101, + 115, 99, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 115, 0, 77, 97, 115, 107, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 84, 101, + 120, 116, 67, 111, 108, 111, + 114, 0, 171, 171, 220, 1, + 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 2, 0, + 0, 0, 244, 1, 0, 0, + 0, 0, 0, 0, 4, 2, + 0, 0, 48, 0, 0, 0, + 8, 0, 0, 0, 2, 0, + 0, 0, 16, 2, 0, 0, + 0, 0, 0, 0, 32, 2, + 0, 0, 64, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 0, 0, 40, 2, 0, 0, + 0, 0, 0, 0, 56, 2, + 0, 0, 80, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 16, 2, 0, 0, + 0, 0, 0, 0, 64, 2, + 0, 0, 88, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 68, 2, 0, 0, + 0, 0, 0, 0, 84, 2, + 0, 0, 92, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 68, 2, 0, 0, + 0, 0, 0, 0, 92, 2, + 0, 0, 96, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 68, 2, 0, 0, + 0, 0, 0, 0, 68, 101, + 118, 105, 99, 101, 83, 112, + 97, 99, 101, 84, 111, 85, + 115, 101, 114, 83, 112, 97, + 99, 101, 0, 171, 3, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 109, 101, + 110, 115, 105, 111, 110, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 100, 105, 102, 102, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 99, 101, 110, 116, 101, 114, + 49, 0, 65, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 114, 97, + 100, 105, 117, 115, 49, 0, + 115, 113, 95, 114, 97, 100, + 105, 117, 115, 49, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 57, 46, + 50, 57, 46, 57, 53, 50, + 46, 51, 49, 49, 49, 0, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 7, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 0, 29, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 188, 7, + 0, 0, 68, 88, 66, 67, + 158, 207, 216, 153, 107, 204, + 140, 217, 118, 241, 126, 175, + 204, 121, 49, 49, 1, 0, + 0, 0, 188, 7, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 196, 1, 0, 0, + 56, 4, 0, 0, 180, 4, + 0, 0, 24, 7, 0, 0, + 136, 7, 0, 0, 65, 111, + 110, 57, 132, 1, 0, 0, + 132, 1, 0, 0, 0, 2, + 255, 255, 76, 1, 0, 0, + 56, 0, 0, 0, 1, 0, + 44, 0, 0, 0, 56, 0, + 0, 0, 56, 0, 2, 0, + 36, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 1, 1, + 1, 0, 0, 0, 4, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 81, 0, 0, 5, 2, 0, + 15, 160, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 5, 0, 0, 3, 0, 0, + 8, 128, 1, 0, 255, 160, + 1, 0, 255, 160, 2, 0, + 0, 3, 0, 0, 3, 128, + 0, 0, 235, 176, 1, 0, + 228, 161, 90, 0, 0, 4, + 0, 0, 8, 128, 0, 0, + 228, 128, 0, 0, 228, 128, + 0, 0, 255, 129, 5, 0, + 0, 3, 0, 0, 8, 128, + 0, 0, 255, 128, 2, 0, + 0, 160, 1, 0, 0, 2, + 0, 0, 4, 128, 1, 0, + 255, 160, 8, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 228, 128, 0, 0, 228, 160, + 6, 0, 0, 2, 0, 0, + 1, 128, 0, 0, 0, 128, + 5, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 0, 128, + 0, 0, 255, 128, 1, 0, + 0, 2, 0, 0, 2, 128, + 2, 0, 0, 160, 66, 0, + 0, 3, 1, 0, 15, 128, + 0, 0, 228, 176, 1, 8, + 228, 160, 66, 0, 0, 3, + 2, 0, 15, 128, 0, 0, + 228, 128, 0, 8, 228, 160, + 1, 0, 0, 2, 0, 0, + 8, 128, 1, 0, 255, 160, + 4, 0, 0, 4, 0, 0, + 1, 128, 0, 0, 0, 128, + 0, 0, 170, 161, 0, 0, + 255, 129, 5, 0, 0, 3, + 2, 0, 7, 128, 2, 0, + 255, 128, 2, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 255, 128, + 2, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 15, 128, + 0, 0, 0, 128, 2, 0, + 85, 160, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 108, 2, 0, 0, + 64, 0, 0, 0, 155, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 1, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 194, 16, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 0, 0, + 0, 9, 50, 0, 16, 0, + 0, 0, 0, 0, 230, 26, + 16, 0, 1, 0, 0, 0, + 70, 128, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 54, 0, + 0, 6, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 18, 0, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 14, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 29, 0, 0, 9, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 34, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 63, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 31, 0, + 4, 3, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 21, 0, + 0, 1, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 19, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 92, 2, + 0, 0, 1, 0, 0, 0, + 224, 0, 0, 0, 5, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 43, 2, 0, 0, + 188, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 197, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 210, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 214, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 219, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 83, + 97, 109, 112, 108, 101, 114, + 0, 115, 77, 97, 115, 107, + 83, 97, 109, 112, 108, 101, + 114, 0, 116, 101, 120, 0, + 109, 97, 115, 107, 0, 99, + 98, 50, 0, 171, 219, 0, + 0, 0, 7, 0, 0, 0, + 248, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 160, 1, + 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, + 0, 0, 184, 1, 0, 0, + 0, 0, 0, 0, 200, 1, + 0, 0, 48, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 212, 1, 0, 0, + 0, 0, 0, 0, 228, 1, + 0, 0, 64, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 236, 1, 0, 0, + 0, 0, 0, 0, 252, 1, + 0, 0, 80, 0, 0, 0, + 8, 0, 0, 0, 2, 0, + 0, 0, 212, 1, 0, 0, + 0, 0, 0, 0, 4, 2, + 0, 0, 88, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 8, 2, 0, 0, + 0, 0, 0, 0, 24, 2, + 0, 0, 92, 0, 0, 0, + 4, 0, 0, 0, 2, 0, + 0, 0, 8, 2, 0, 0, + 0, 0, 0, 0, 32, 2, + 0, 0, 96, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 8, 2, 0, 0, + 0, 0, 0, 0, 68, 101, + 118, 105, 99, 101, 83, 112, + 97, 99, 101, 84, 111, 85, + 115, 101, 114, 83, 112, 97, + 99, 101, 0, 171, 3, 0, + 3, 0, 3, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 109, 101, + 110, 115, 105, 111, 110, 115, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 100, 105, 102, 102, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 99, 101, 110, 116, 101, 114, + 49, 0, 65, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 114, 97, + 100, 105, 117, 115, 49, 0, + 115, 113, 95, 114, 97, 100, + 105, 117, 115, 49, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 57, 46, + 50, 57, 46, 57, 53, 50, + 46, 51, 49, 49, 49, 0, + 73, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 12, 12, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171, 64, 36, 0, 0, + 0, 0, 0, 0, 65, 80, + 111, 115, 87, 114, 97, 112, + 0, 40, 7, 0, 0, 68, + 88, 66, 67, 237, 58, 124, + 168, 122, 234, 242, 5, 75, + 29, 195, 6, 241, 206, 131, + 117, 1, 0, 0, 0, 40, + 7, 0, 0, 6, 0, 0, + 0, 56, 0, 0, 0, 148, + 1, 0, 0, 104, 3, 0, + 0, 228, 3, 0, 0, 132, + 6, 0, 0, 184, 6, 0, + 0, 65, 111, 110, 57, 84, + 1, 0, 0, 84, 1, 0, + 0, 0, 2, 254, 255, 252, + 0, 0, 0, 88, 0, 0, + 0, 4, 0, 36, 0, 0, + 0, 84, 0, 0, 0, 84, + 0, 0, 0, 36, 0, 1, + 0, 84, 0, 0, 0, 0, + 0, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 2, + 0, 1, 0, 2, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 3, 0, 0, + 0, 0, 0, 1, 0, 3, + 0, 1, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 2, 254, 255, 81, + 0, 0, 5, 6, 0, 15, + 160, 0, 0, 128, 63, 0, + 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 31, + 0, 0, 2, 5, 0, 0, + 128, 0, 0, 15, 144, 4, + 0, 0, 4, 0, 0, 3, + 224, 0, 0, 228, 144, 2, + 0, 238, 160, 2, 0, 228, + 160, 4, 0, 0, 4, 0, + 0, 3, 128, 0, 0, 228, + 144, 1, 0, 238, 160, 1, + 0, 228, 160, 2, 0, 0, + 3, 0, 0, 4, 128, 0, + 0, 0, 128, 6, 0, 0, + 160, 5, 0, 0, 3, 0, + 0, 4, 128, 0, 0, 170, + 128, 5, 0, 0, 160, 5, + 0, 0, 3, 1, 0, 1, + 128, 0, 0, 170, 128, 6, + 0, 85, 160, 2, 0, 0, + 3, 0, 0, 4, 128, 0, + 0, 85, 129, 6, 0, 0, + 160, 2, 0, 0, 3, 0, + 0, 3, 192, 0, 0, 228, + 128, 0, 0, 228, 160, 5, + 0, 0, 3, 0, 0, 1, + 128, 0, 0, 170, 128, 5, + 0, 85, 160, 5, 0, 0, + 3, 1, 0, 2, 128, 0, + 0, 0, 128, 6, 0, 85, + 160, 1, 0, 0, 2, 1, + 0, 4, 128, 6, 0, 0, + 160, 8, 0, 0, 3, 0, + 0, 8, 224, 1, 0, 228, + 128, 3, 0, 228, 160, 8, + 0, 0, 3, 0, 0, 4, + 224, 1, 0, 228, 128, 4, + 0, 228, 160, 1, 0, 0, + 2, 0, 0, 12, 192, 6, + 0, 36, 160, 255, 255, 0, + 0, 83, 72, 68, 82, 204, + 1, 0, 0, 64, 0, 1, + 0, 115, 0, 0, 0, 89, + 0, 0, 4, 70, 142, 32, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 1, + 0, 0, 0, 4, 0, 0, + 0, 95, 0, 0, 3, 50, + 16, 16, 0, 0, 0, 0, + 0, 103, 0, 0, 4, 242, + 32, 16, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 101, + 0, 0, 3, 50, 32, 16, + 0, 1, 0, 0, 0, 101, + 0, 0, 3, 194, 32, 16, + 0, 1, 0, 0, 0, 104, + 0, 0, 2, 2, 0, 0, + 0, 54, 0, 0, 8, 194, + 32, 16, 0, 0, 0, 0, + 0, 2, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 128, 63, 50, 0, 0, + 11, 50, 0, 16, 0, 0, + 0, 0, 0, 70, 16, 16, + 0, 0, 0, 0, 0, 230, + 138, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, + 128, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, + 0, 0, 5, 50, 32, 16, + 0, 0, 0, 0, 0, 70, + 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 18, + 0, 16, 0, 0, 0, 0, + 0, 10, 0, 16, 0, 0, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 128, 63, 0, + 0, 0, 8, 34, 0, 16, + 0, 0, 0, 0, 0, 26, + 0, 16, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 128, + 63, 56, 0, 0, 8, 50, + 0, 16, 0, 0, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 70, 128, 32, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 56, 0, 0, + 10, 50, 0, 16, 0, 1, + 0, 0, 0, 70, 0, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 63, 0, 0, 0, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 5, 66, + 0, 16, 0, 1, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 128, 63, 16, 0, 0, + 8, 66, 32, 16, 0, 1, + 0, 0, 0, 70, 2, 16, + 0, 1, 0, 0, 0, 70, + 130, 32, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 16, + 0, 0, 8, 130, 32, 16, + 0, 1, 0, 0, 0, 70, + 2, 16, 0, 1, 0, 0, + 0, 70, 130, 32, 0, 1, + 0, 0, 0, 1, 0, 0, + 0, 50, 0, 0, 11, 50, + 32, 16, 0, 1, 0, 0, + 0, 70, 16, 16, 0, 0, + 0, 0, 0, 230, 138, 32, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 70, 128, 32, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 62, 0, 0, + 1, 83, 84, 65, 84, 116, + 0, 0, 0, 12, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 4, 0, 0, + 0, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, + 68, 69, 70, 152, 2, 0, + 0, 2, 0, 0, 0, 100, + 0, 0, 0, 2, 0, 0, + 0, 28, 0, 0, 0, 0, + 4, 254, 255, 0, 1, 0, + 0, 103, 2, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 96, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 99, 98, 48, + 0, 99, 98, 50, 0, 92, + 0, 0, 0, 4, 0, 0, + 0, 148, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 96, + 0, 0, 0, 7, 0, 0, + 0, 52, 1, 0, 0, 112, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 2, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 16, + 1, 0, 0, 16, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 26, + 1, 0, 0, 32, 0, 0, + 0, 16, 0, 0, 0, 2, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 40, + 1, 0, 0, 48, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 81, + 117, 97, 100, 68, 101, 115, + 99, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 115, + 0, 77, 97, 115, 107, 84, + 101, 120, 67, 111, 111, 114, + 100, 115, 0, 84, 101, 120, + 116, 67, 111, 108, 111, 114, + 0, 171, 171, 220, 1, 0, + 0, 0, 0, 0, 0, 44, + 0, 0, 0, 2, 0, 0, + 0, 244, 1, 0, 0, 0, + 0, 0, 0, 4, 2, 0, + 0, 48, 0, 0, 0, 8, + 0, 0, 0, 2, 0, 0, + 0, 16, 2, 0, 0, 0, + 0, 0, 0, 32, 2, 0, + 0, 64, 0, 0, 0, 12, + 0, 0, 0, 0, 0, 0, + 0, 40, 2, 0, 0, 0, + 0, 0, 0, 56, 2, 0, + 0, 80, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, + 0, 16, 2, 0, 0, 0, + 0, 0, 0, 64, 2, 0, + 0, 88, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 68, 2, 0, 0, 0, + 0, 0, 0, 84, 2, 0, + 0, 92, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 68, 2, 0, 0, 0, + 0, 0, 0, 92, 2, 0, + 0, 96, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 68, 2, 0, 0, 0, + 0, 0, 0, 68, 101, 118, + 105, 99, 101, 83, 112, 97, + 99, 101, 84, 111, 85, 115, + 101, 114, 83, 112, 97, 99, + 101, 0, 171, 3, 0, 3, + 0, 3, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 100, 105, 109, 101, 110, + 115, 105, 111, 110, 115, 0, + 171, 1, 0, 3, 0, 1, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, + 105, 102, 102, 0, 171, 171, + 171, 1, 0, 3, 0, 1, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 99, + 101, 110, 116, 101, 114, 49, + 0, 65, 0, 171, 171, 0, + 0, 3, 0, 1, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 114, 97, 100, + 105, 117, 115, 49, 0, 115, + 113, 95, 114, 97, 100, 105, + 117, 115, 49, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 73, + 83, 71, 78, 44, 0, 0, + 0, 1, 0, 0, 0, 8, + 0, 0, 0, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 7, + 3, 0, 0, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 171, 171, 171, 79, 83, 71, + 78, 104, 0, 0, 0, 3, + 0, 0, 0, 8, 0, 0, + 0, 80, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 92, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 3, 12, 0, + 0, 92, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 12, 3, 0, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 171, 171, + 171, 17, 44, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 224, 9, 0, + 0, 68, 88, 66, 67, 24, + 242, 43, 93, 196, 38, 133, + 163, 204, 85, 187, 56, 214, + 99, 96, 127, 1, 0, 0, + 0, 224, 9, 0, 0, 6, + 0, 0, 0, 56, 0, 0, + 0, 128, 2, 0, 0, 88, + 6, 0, 0, 212, 6, 0, + 0, 60, 9, 0, 0, 172, + 9, 0, 0, 65, 111, 110, + 57, 64, 2, 0, 0, 64, + 2, 0, 0, 0, 2, 255, + 255, 8, 2, 0, 0, 56, + 0, 0, 0, 1, 0, 44, + 0, 0, 0, 56, 0, 0, + 0, 56, 0, 2, 0, 36, + 0, 0, 0, 56, 0, 0, + 0, 0, 0, 1, 1, 1, + 0, 0, 0, 4, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 1, 2, 255, 255, 81, + 0, 0, 5, 3, 0, 15, + 160, 0, 0, 0, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, + 0, 0, 5, 4, 0, 15, + 160, 0, 0, 128, 63, 0, + 0, 128, 191, 0, 0, 0, + 0, 0, 0, 0, 128, 31, + 0, 0, 2, 0, 0, 0, + 128, 0, 0, 15, 176, 31, + 0, 0, 2, 0, 0, 0, + 144, 0, 8, 15, 160, 31, + 0, 0, 2, 0, 0, 0, + 144, 1, 8, 15, 160, 2, + 0, 0, 3, 0, 0, 3, + 128, 0, 0, 235, 176, 1, + 0, 228, 161, 90, 0, 0, + 4, 0, 0, 8, 128, 0, + 0, 228, 128, 0, 0, 228, + 128, 2, 0, 0, 161, 5, + 0, 0, 3, 0, 0, 8, + 128, 0, 0, 255, 128, 1, + 0, 170, 160, 1, 0, 0, + 2, 0, 0, 4, 128, 1, + 0, 255, 160, 8, 0, 0, + 3, 0, 0, 1, 128, 0, + 0, 228, 128, 0, 0, 228, + 160, 4, 0, 0, 4, 0, + 0, 2, 128, 0, 0, 0, + 128, 0, 0, 0, 128, 0, + 0, 255, 129, 35, 0, 0, + 2, 0, 0, 4, 128, 0, + 0, 85, 128, 7, 0, 0, + 2, 0, 0, 4, 128, 0, + 0, 170, 128, 6, 0, 0, + 2, 1, 0, 1, 128, 0, + 0, 170, 128, 1, 0, 0, + 2, 1, 0, 6, 128, 1, + 0, 0, 129, 2, 0, 0, + 3, 0, 0, 13, 128, 0, + 0, 0, 128, 1, 0, 148, + 128, 6, 0, 0, 2, 1, + 0, 1, 128, 1, 0, 170, + 160, 5, 0, 0, 3, 0, + 0, 13, 128, 0, 0, 228, + 128, 1, 0, 0, 128, 1, + 0, 0, 2, 1, 0, 8, + 128, 1, 0, 255, 160, 4, + 0, 0, 4, 1, 0, 7, + 128, 0, 0, 248, 128, 0, + 0, 170, 160, 1, 0, 255, + 128, 88, 0, 0, 4, 2, + 0, 1, 128, 1, 0, 0, + 128, 0, 0, 0, 128, 0, + 0, 255, 128, 88, 0, 0, + 4, 0, 0, 13, 128, 1, + 0, 148, 128, 4, 0, 68, + 160, 4, 0, 230, 160, 1, + 0, 0, 2, 2, 0, 2, + 128, 3, 0, 0, 160, 66, + 0, 0, 3, 1, 0, 15, + 128, 0, 0, 228, 176, 1, + 8, 228, 160, 66, 0, 0, + 3, 2, 0, 15, 128, 2, + 0, 228, 128, 0, 8, 228, + 160, 5, 0, 0, 3, 2, + 0, 7, 128, 2, 0, 255, + 128, 2, 0, 228, 128, 5, + 0, 0, 3, 1, 0, 15, + 128, 1, 0, 255, 128, 2, + 0, 228, 128, 2, 0, 0, + 3, 0, 0, 8, 128, 0, + 0, 255, 128, 0, 0, 0, + 128, 88, 0, 0, 4, 0, + 0, 1, 128, 0, 0, 255, + 128, 0, 0, 0, 128, 0, + 0, 170, 128, 88, 0, 0, + 4, 1, 0, 15, 128, 0, + 0, 0, 129, 4, 0, 170, + 160, 1, 0, 228, 128, 88, + 0, 0, 4, 0, 0, 15, + 128, 0, 0, 85, 128, 1, + 0, 228, 128, 4, 0, 170, + 160, 1, 0, 0, 2, 0, + 8, 15, 128, 0, 0, 228, + 128, 255, 255, 0, 0, 83, + 72, 68, 82, 208, 3, 0, + 0, 64, 0, 0, 0, 244, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 0, + 0, 0, 0, 7, 0, 0, + 0, 90, 0, 0, 3, 0, + 96, 16, 0, 0, 0, 0, + 0, 90, 0, 0, 3, 0, + 96, 16, 0, 1, 0, 0, + 0, 88, 24, 0, 4, 0, + 112, 16, 0, 0, 0, 0, + 0, 85, 85, 0, 0, 88, + 24, 0, 4, 0, 112, 16, + 0, 1, 0, 0, 0, 85, + 85, 0, 0, 98, 16, 0, + 3, 50, 16, 16, 0, 1, + 0, 0, 0, 98, 16, 0, + 3, 194, 16, 16, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 242, 32, 16, 0, 0, + 0, 0, 0, 104, 0, 0, + 2, 3, 0, 0, 0, 0, + 0, 0, 9, 50, 0, 16, + 0, 0, 0, 0, 0, 230, + 26, 16, 0, 1, 0, 0, + 0, 70, 128, 32, 128, 65, + 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 54, + 0, 0, 6, 66, 0, 16, + 0, 0, 0, 0, 0, 58, + 128, 32, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 16, + 0, 0, 8, 66, 0, 16, + 0, 0, 0, 0, 0, 70, + 2, 16, 0, 0, 0, 0, + 0, 70, 130, 32, 0, 0, + 0, 0, 0, 4, 0, 0, + 0, 15, 0, 0, 7, 18, + 0, 16, 0, 0, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 70, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 9, 18, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 10, 128, 32, 128, 65, + 0, 0, 0, 0, 0, 0, + 0, 6, 0, 0, 0, 56, + 0, 0, 8, 18, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 42, 128, 32, 0, 0, + 0, 0, 0, 5, 0, 0, + 0, 50, 0, 0, 10, 18, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 0, 0, + 0, 0, 0, 42, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 49, + 0, 0, 7, 34, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 0, 0, 75, 0, 0, + 6, 18, 0, 16, 0, 1, + 0, 0, 0, 10, 0, 16, + 128, 129, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, + 6, 34, 0, 16, 0, 1, + 0, 0, 0, 10, 0, 16, + 128, 65, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 7, 82, 0, 16, 0, 0, + 0, 0, 0, 166, 10, 16, + 0, 0, 0, 0, 0, 6, + 1, 16, 0, 1, 0, 0, + 0, 14, 0, 0, 8, 82, + 0, 16, 0, 0, 0, 0, + 0, 6, 2, 16, 0, 0, + 0, 0, 0, 166, 138, 32, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 56, 0, 0, + 8, 50, 0, 16, 0, 1, + 0, 0, 0, 134, 0, 16, + 0, 0, 0, 0, 0, 166, + 138, 32, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 29, + 0, 0, 9, 50, 0, 16, + 0, 1, 0, 0, 0, 70, + 0, 16, 0, 1, 0, 0, + 0, 246, 143, 32, 128, 65, + 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 1, + 0, 0, 10, 50, 0, 16, + 0, 1, 0, 0, 0, 70, + 0, 16, 0, 1, 0, 0, + 0, 2, 64, 0, 0, 0, + 0, 128, 63, 0, 0, 128, + 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 8, 18, 0, 16, 0, 0, + 0, 0, 0, 42, 0, 16, + 128, 65, 0, 0, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 50, + 0, 0, 9, 18, 0, 16, + 0, 2, 0, 0, 0, 10, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 0, 0, + 0, 0, 0, 42, 0, 16, + 0, 0, 0, 0, 0, 54, + 0, 0, 5, 34, 0, 16, + 0, 2, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 0, + 63, 69, 0, 0, 9, 242, + 0, 16, 0, 2, 0, 0, + 0, 70, 0, 16, 0, 2, + 0, 0, 0, 70, 126, 16, + 0, 0, 0, 0, 0, 0, + 96, 16, 0, 0, 0, 0, + 0, 31, 0, 4, 3, 26, + 0, 16, 0, 0, 0, 0, + 0, 54, 0, 0, 8, 242, + 32, 16, 0, 0, 0, 0, + 0, 2, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, + 1, 21, 0, 0, 1, 52, + 0, 0, 7, 18, 0, 16, + 0, 0, 0, 0, 0, 26, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 0, 1, + 0, 0, 0, 29, 0, 0, + 7, 18, 0, 16, 0, 0, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 31, 0, 4, 3, 10, + 0, 16, 0, 0, 0, 0, + 0, 54, 0, 0, 8, 242, + 32, 16, 0, 0, 0, 0, + 0, 2, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, + 1, 21, 0, 0, 1, 56, + 0, 0, 7, 114, 0, 16, + 0, 2, 0, 0, 0, 246, + 15, 16, 0, 2, 0, 0, + 0, 70, 2, 16, 0, 2, + 0, 0, 0, 69, 0, 0, + 9, 242, 0, 16, 0, 0, + 0, 0, 0, 70, 16, 16, + 0, 1, 0, 0, 0, 70, + 126, 16, 0, 1, 0, 0, + 0, 0, 96, 16, 0, 1, + 0, 0, 0, 56, 0, 0, + 7, 242, 32, 16, 0, 0, + 0, 0, 0, 246, 15, 16, + 0, 0, 0, 0, 0, 70, + 14, 16, 0, 2, 0, 0, + 0, 62, 0, 0, 1, 83, + 84, 65, 84, 116, 0, 0, + 0, 33, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 17, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 68, 69, + 70, 96, 2, 0, 0, 1, + 0, 0, 0, 228, 0, 0, + 0, 5, 0, 0, 0, 28, + 0, 0, 0, 0, 4, 255, + 255, 0, 1, 0, 0, 47, + 2, 0, 0, 188, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 201, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 214, 0, 0, 0, 2, + 0, 0, 0, 5, 0, 0, + 0, 4, 0, 0, 0, 255, + 255, 255, 255, 0, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 218, 0, 0, + 0, 2, 0, 0, 0, 5, + 0, 0, 0, 4, 0, 0, + 0, 255, 255, 255, 255, 1, + 0, 0, 0, 1, 0, 0, + 0, 12, 0, 0, 0, 223, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 115, 87, 114, 97, 112, + 83, 97, 109, 112, 108, 101, + 114, 0, 115, 77, 97, 115, + 107, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 101, 120, + 0, 109, 97, 115, 107, 0, + 99, 98, 50, 0, 171, 223, + 0, 0, 0, 7, 0, 0, + 0, 252, 0, 0, 0, 112, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 164, + 1, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, + 0, 0, 0, 188, 1, 0, + 0, 0, 0, 0, 0, 204, + 1, 0, 0, 48, 0, 0, + 0, 8, 0, 0, 0, 0, + 0, 0, 0, 216, 1, 0, + 0, 0, 0, 0, 0, 232, + 1, 0, 0, 64, 0, 0, + 0, 12, 0, 0, 0, 2, + 0, 0, 0, 240, 1, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 80, 0, 0, + 0, 8, 0, 0, 0, 2, + 0, 0, 0, 216, 1, 0, + 0, 0, 0, 0, 0, 8, + 2, 0, 0, 88, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 12, 2, 0, + 0, 0, 0, 0, 0, 28, + 2, 0, 0, 92, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 12, 2, 0, + 0, 0, 0, 0, 0, 36, + 2, 0, 0, 96, 0, 0, + 0, 4, 0, 0, 0, 2, + 0, 0, 0, 12, 2, 0, + 0, 0, 0, 0, 0, 68, + 101, 118, 105, 99, 101, 83, + 112, 97, 99, 101, 84, 111, + 85, 115, 101, 114, 83, 112, + 97, 99, 101, 0, 171, 3, + 0, 3, 0, 3, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 105, 109, + 101, 110, 115, 105, 111, 110, + 115, 0, 171, 1, 0, 3, + 0, 1, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 100, 105, 102, 102, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 99, 101, 110, 116, 101, + 114, 49, 0, 65, 0, 171, + 171, 0, 0, 3, 0, 1, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 114, + 97, 100, 105, 117, 115, 49, + 0, 115, 113, 95, 114, 97, + 100, 105, 117, 115, 49, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 57, + 46, 50, 57, 46, 57, 53, + 50, 46, 51, 49, 49, 49, + 0, 73, 83, 71, 78, 104, + 0, 0, 0, 3, 0, 0, + 0, 8, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 3, 3, 0, 0, 92, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 12, 12, 0, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 171, 171, 171, 79, + 83, 71, 78, 44, 0, 0, + 0, 1, 0, 0, 0, 8, + 0, 0, 0, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 15, + 0, 0, 0, 83, 86, 95, + 84, 97, 114, 103, 101, 116, + 0, 171, 171, 81, 51, 0, + 0, 0, 0, 0, 0, 65, + 48, 87, 114, 97, 112, 0, + 40, 7, 0, 0, 68, 88, + 66, 67, 237, 58, 124, 168, + 122, 234, 242, 5, 75, 29, + 195, 6, 241, 206, 131, 117, + 1, 0, 0, 0, 40, 7, + 0, 0, 6, 0, 0, 0, + 56, 0, 0, 0, 148, 1, + 0, 0, 104, 3, 0, 0, + 228, 3, 0, 0, 132, 6, + 0, 0, 184, 6, 0, 0, + 65, 111, 110, 57, 84, 1, + 0, 0, 84, 1, 0, 0, + 0, 2, 254, 255, 252, 0, + 0, 0, 88, 0, 0, 0, + 4, 0, 36, 0, 0, 0, + 84, 0, 0, 0, 84, 0, + 0, 0, 36, 0, 1, 0, + 84, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 1, 0, 2, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 3, 0, 0, 0, + 0, 0, 1, 0, 3, 0, + 1, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 2, 254, 255, 81, 0, + 0, 5, 6, 0, 15, 160, + 0, 0, 128, 63, 0, 0, + 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 0, 2, 5, 0, 0, 128, + 0, 0, 15, 144, 4, 0, + 0, 4, 0, 0, 3, 224, + 0, 0, 228, 144, 2, 0, + 238, 160, 2, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 128, 0, 0, 228, 144, + 1, 0, 238, 160, 1, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 0, 128, 6, 0, 0, 160, + 5, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 170, 128, + 5, 0, 0, 160, 5, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 170, 128, 6, 0, + 85, 160, 2, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 85, 129, 6, 0, 0, 160, + 2, 0, 0, 3, 0, 0, + 3, 192, 0, 0, 228, 128, + 0, 0, 228, 160, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 170, 128, 5, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 2, 128, 0, 0, + 0, 128, 6, 0, 85, 160, + 1, 0, 0, 2, 1, 0, + 4, 128, 6, 0, 0, 160, + 8, 0, 0, 3, 0, 0, + 8, 224, 1, 0, 228, 128, + 3, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 4, 224, + 1, 0, 228, 128, 4, 0, + 228, 160, 1, 0, 0, 2, + 0, 0, 12, 192, 6, 0, + 36, 160, 255, 255, 0, 0, + 83, 72, 68, 82, 204, 1, + 0, 0, 64, 0, 1, 0, + 115, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 194, 32, 16, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 54, 0, 0, 8, 194, 32, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 50, 0, 0, 11, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 0, 0, + 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 26, 0, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 56, 0, 0, 8, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 128, 32, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 50, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 16, 0, 0, 8, + 66, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 50, 32, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 12, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 152, 2, 0, 0, + 2, 0, 0, 0, 100, 0, + 0, 0, 2, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 254, 255, 0, 1, 0, 0, + 103, 2, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 99, 98, 48, 0, + 99, 98, 50, 0, 92, 0, + 0, 0, 4, 0, 0, 0, + 148, 0, 0, 0, 64, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 0, + 0, 0, 7, 0, 0, 0, + 52, 1, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 16, 1, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 26, 1, + 0, 0, 32, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 40, 1, + 0, 0, 48, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 81, 117, + 97, 100, 68, 101, 115, 99, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 77, 97, 115, 107, 84, 101, + 120, 67, 111, 111, 114, 100, + 115, 0, 84, 101, 120, 116, + 67, 111, 108, 111, 114, 0, + 171, 171, 220, 1, 0, 0, + 0, 0, 0, 0, 44, 0, + 0, 0, 2, 0, 0, 0, + 244, 1, 0, 0, 0, 0, + 0, 0, 4, 2, 0, 0, + 48, 0, 0, 0, 8, 0, + 0, 0, 2, 0, 0, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 32, 2, 0, 0, + 64, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 0, 0, + 40, 2, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 80, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 64, 2, 0, 0, + 88, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 68, 2, 0, 0, 0, 0, + 0, 0, 84, 2, 0, 0, + 92, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 68, 2, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 96, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 68, 2, 0, 0, 0, 0, + 0, 0, 68, 101, 118, 105, + 99, 101, 83, 112, 97, 99, + 101, 84, 111, 85, 115, 101, + 114, 83, 112, 97, 99, 101, + 0, 171, 3, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 100, 105, 109, 101, 110, 115, + 105, 111, 110, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 105, + 102, 102, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 99, 101, + 110, 116, 101, 114, 49, 0, + 65, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 114, 97, 100, 105, + 117, 115, 49, 0, 115, 113, + 95, 114, 97, 100, 105, 117, + 115, 49, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 57, 46, 50, 57, + 46, 57, 53, 50, 46, 51, + 49, 49, 49, 0, 73, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 7, 3, + 0, 0, 80, 79, 83, 73, + 84, 73, 79, 78, 0, 171, + 171, 171, 79, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 12, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 12, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 68, 61, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 192, 7, 0, 0, + 68, 88, 66, 67, 148, 128, + 74, 221, 199, 126, 74, 95, + 7, 207, 141, 28, 193, 83, + 71, 108, 1, 0, 0, 0, + 192, 7, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 196, 1, 0, 0, 56, 4, + 0, 0, 180, 4, 0, 0, + 28, 7, 0, 0, 140, 7, + 0, 0, 65, 111, 110, 57, + 132, 1, 0, 0, 132, 1, + 0, 0, 0, 2, 255, 255, + 76, 1, 0, 0, 56, 0, + 0, 0, 1, 0, 44, 0, + 0, 0, 56, 0, 0, 0, + 56, 0, 2, 0, 36, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 1, 1, 1, 0, + 0, 0, 4, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 1, 2, 255, 255, 81, 0, + 0, 5, 2, 0, 15, 160, + 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 144, + 1, 8, 15, 160, 5, 0, + 0, 3, 0, 0, 8, 128, + 1, 0, 255, 160, 1, 0, + 255, 160, 2, 0, 0, 3, + 0, 0, 3, 128, 0, 0, + 235, 176, 1, 0, 228, 161, + 90, 0, 0, 4, 0, 0, + 8, 128, 0, 0, 228, 128, + 0, 0, 228, 128, 0, 0, + 255, 129, 5, 0, 0, 3, + 0, 0, 8, 128, 0, 0, + 255, 128, 2, 0, 0, 160, + 1, 0, 0, 2, 0, 0, + 4, 128, 1, 0, 255, 160, + 8, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 128, + 0, 0, 228, 160, 6, 0, + 0, 2, 0, 0, 1, 128, + 0, 0, 0, 128, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 0, 128, 0, 0, + 255, 128, 1, 0, 0, 2, + 0, 0, 2, 128, 2, 0, + 0, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 0, 0, + 228, 176, 1, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 0, 0, 228, 128, + 0, 8, 228, 160, 1, 0, + 0, 2, 0, 0, 8, 128, + 1, 0, 255, 160, 4, 0, + 0, 4, 0, 0, 1, 128, + 0, 0, 0, 128, 0, 0, + 170, 161, 0, 0, 255, 129, + 5, 0, 0, 3, 2, 0, + 7, 128, 2, 0, 255, 128, + 2, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 255, 128, 2, 0, + 228, 128, 88, 0, 0, 4, + 0, 0, 15, 128, 0, 0, + 0, 128, 2, 0, 85, 160, + 1, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 108, 2, 0, 0, 64, 0, + 0, 0, 155, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 1, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 1, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 98, 16, 0, 3, 194, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 0, 0, 0, 9, + 50, 0, 16, 0, 0, 0, + 0, 0, 230, 26, 16, 0, + 1, 0, 0, 0, 70, 128, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 54, 0, 0, 6, + 66, 0, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 15, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 12, + 18, 0, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 63, + 14, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 29, 0, 0, 9, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 63, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 31, 0, 4, 3, + 42, 0, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 242, 32, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 21, 0, 0, 1, + 56, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 1, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 19, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 96, 2, 0, 0, + 1, 0, 0, 0, 228, 0, + 0, 0, 5, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 47, 2, 0, 0, 188, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 201, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 214, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 87, 114, 97, + 112, 83, 97, 109, 112, 108, + 101, 114, 0, 115, 77, 97, + 115, 107, 83, 97, 109, 112, + 108, 101, 114, 0, 116, 101, + 120, 0, 109, 97, 115, 107, + 0, 99, 98, 50, 0, 171, + 223, 0, 0, 0, 7, 0, + 0, 0, 252, 0, 0, 0, + 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 164, 1, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 188, 1, + 0, 0, 0, 0, 0, 0, + 204, 1, 0, 0, 48, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 216, 1, + 0, 0, 0, 0, 0, 0, + 232, 1, 0, 0, 64, 0, + 0, 0, 12, 0, 0, 0, + 2, 0, 0, 0, 240, 1, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 80, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 216, 1, + 0, 0, 0, 0, 0, 0, + 8, 2, 0, 0, 88, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 12, 2, + 0, 0, 0, 0, 0, 0, + 28, 2, 0, 0, 92, 0, + 0, 0, 4, 0, 0, 0, + 2, 0, 0, 0, 12, 2, + 0, 0, 0, 0, 0, 0, + 36, 2, 0, 0, 96, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 12, 2, + 0, 0, 0, 0, 0, 0, + 68, 101, 118, 105, 99, 101, + 83, 112, 97, 99, 101, 84, + 111, 85, 115, 101, 114, 83, + 112, 97, 99, 101, 0, 171, + 3, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 105, + 109, 101, 110, 115, 105, 111, + 110, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 99, 101, 110, 116, + 101, 114, 49, 0, 65, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 114, 97, 100, 105, 117, 115, + 49, 0, 115, 113, 95, 114, + 97, 100, 105, 117, 115, 49, + 0, 77, 105, 99, 114, 111, + 115, 111, 102, 116, 32, 40, + 82, 41, 32, 72, 76, 83, + 76, 32, 83, 104, 97, 100, + 101, 114, 32, 67, 111, 109, + 112, 105, 108, 101, 114, 32, + 57, 46, 50, 57, 46, 57, + 53, 50, 46, 51, 49, 49, + 49, 0, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 12, 12, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171, 132, 68, + 0, 0, 0, 0, 0, 0, + 65, 80, 111, 115, 77, 105, + 114, 114, 111, 114, 0, 40, + 7, 0, 0, 68, 88, 66, + 67, 237, 58, 124, 168, 122, + 234, 242, 5, 75, 29, 195, + 6, 241, 206, 131, 117, 1, + 0, 0, 0, 40, 7, 0, + 0, 6, 0, 0, 0, 56, + 0, 0, 0, 148, 1, 0, + 0, 104, 3, 0, 0, 228, + 3, 0, 0, 132, 6, 0, + 0, 184, 6, 0, 0, 65, + 111, 110, 57, 84, 1, 0, + 0, 84, 1, 0, 0, 0, + 2, 254, 255, 252, 0, 0, + 0, 88, 0, 0, 0, 4, + 0, 36, 0, 0, 0, 84, + 0, 0, 0, 84, 0, 0, + 0, 36, 0, 1, 0, 84, + 0, 0, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 1, + 0, 2, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 3, 0, 0, 0, 0, + 0, 1, 0, 3, 0, 1, + 0, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 2, 254, 255, 81, 0, 0, + 5, 6, 0, 15, 160, 0, + 0, 128, 63, 0, 0, 0, + 63, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 0, 0, + 2, 5, 0, 0, 128, 0, + 0, 15, 144, 4, 0, 0, + 4, 0, 0, 3, 224, 0, + 0, 228, 144, 2, 0, 238, + 160, 2, 0, 228, 160, 4, + 0, 0, 4, 0, 0, 3, + 128, 0, 0, 228, 144, 1, + 0, 238, 160, 1, 0, 228, + 160, 2, 0, 0, 3, 0, + 0, 4, 128, 0, 0, 0, + 128, 6, 0, 0, 160, 5, + 0, 0, 3, 0, 0, 4, + 128, 0, 0, 170, 128, 5, + 0, 0, 160, 5, 0, 0, + 3, 1, 0, 1, 128, 0, + 0, 170, 128, 6, 0, 85, + 160, 2, 0, 0, 3, 0, + 0, 4, 128, 0, 0, 85, + 129, 6, 0, 0, 160, 2, + 0, 0, 3, 0, 0, 3, + 192, 0, 0, 228, 128, 0, + 0, 228, 160, 5, 0, 0, + 3, 0, 0, 1, 128, 0, + 0, 170, 128, 5, 0, 85, + 160, 5, 0, 0, 3, 1, + 0, 2, 128, 0, 0, 0, + 128, 6, 0, 85, 160, 1, + 0, 0, 2, 1, 0, 4, + 128, 6, 0, 0, 160, 8, + 0, 0, 3, 0, 0, 8, + 224, 1, 0, 228, 128, 3, + 0, 228, 160, 8, 0, 0, + 3, 0, 0, 4, 224, 1, + 0, 228, 128, 4, 0, 228, + 160, 1, 0, 0, 2, 0, + 0, 12, 192, 6, 0, 36, + 160, 255, 255, 0, 0, 83, + 72, 68, 82, 204, 1, 0, + 0, 64, 0, 1, 0, 115, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 89, 0, 0, 4, 70, + 142, 32, 0, 1, 0, 0, + 0, 4, 0, 0, 0, 95, + 0, 0, 3, 50, 16, 16, + 0, 0, 0, 0, 0, 103, + 0, 0, 4, 242, 32, 16, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 50, 32, 16, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 194, 32, 16, 0, 1, + 0, 0, 0, 104, 0, 0, + 2, 2, 0, 0, 0, 54, + 0, 0, 8, 194, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, + 63, 50, 0, 0, 11, 50, + 0, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 0, + 0, 0, 0, 230, 138, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 128, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, + 5, 50, 32, 16, 0, 0, + 0, 0, 0, 70, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 7, 18, 0, 16, + 0, 0, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 128, 63, 0, 0, 0, + 8, 34, 0, 16, 0, 0, + 0, 0, 0, 26, 0, 16, + 128, 65, 0, 0, 0, 0, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 128, 63, 56, + 0, 0, 8, 50, 0, 16, + 0, 0, 0, 0, 0, 70, + 0, 16, 0, 0, 0, 0, + 0, 70, 128, 32, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 56, 0, 0, 10, 50, + 0, 16, 0, 1, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 2, 64, 0, + 0, 0, 0, 0, 63, 0, + 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 54, + 0, 0, 5, 66, 0, 16, + 0, 1, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 128, + 63, 16, 0, 0, 8, 66, + 32, 16, 0, 1, 0, 0, + 0, 70, 2, 16, 0, 1, + 0, 0, 0, 70, 130, 32, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 8, 130, 32, 16, 0, 1, + 0, 0, 0, 70, 2, 16, + 0, 1, 0, 0, 0, 70, + 130, 32, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 50, + 0, 0, 11, 50, 32, 16, + 0, 1, 0, 0, 0, 70, + 16, 16, 0, 0, 0, 0, + 0, 230, 138, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 70, 128, 32, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 62, 0, 0, 1, 83, + 84, 65, 84, 116, 0, 0, + 0, 12, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 68, 69, + 70, 152, 2, 0, 0, 2, + 0, 0, 0, 100, 0, 0, + 0, 2, 0, 0, 0, 28, + 0, 0, 0, 0, 4, 254, + 255, 0, 1, 0, 0, 103, + 2, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 96, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 99, 98, 48, 0, 99, + 98, 50, 0, 92, 0, 0, + 0, 4, 0, 0, 0, 148, + 0, 0, 0, 64, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 96, 0, 0, + 0, 7, 0, 0, 0, 52, + 1, 0, 0, 112, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 16, 1, 0, + 0, 16, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 26, 1, 0, + 0, 32, 0, 0, 0, 16, + 0, 0, 0, 2, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 40, 1, 0, + 0, 48, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 81, 117, 97, + 100, 68, 101, 115, 99, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 115, 0, 77, + 97, 115, 107, 84, 101, 120, + 67, 111, 111, 114, 100, 115, + 0, 84, 101, 120, 116, 67, + 111, 108, 111, 114, 0, 171, + 171, 220, 1, 0, 0, 0, + 0, 0, 0, 44, 0, 0, + 0, 2, 0, 0, 0, 244, + 1, 0, 0, 0, 0, 0, + 0, 4, 2, 0, 0, 48, + 0, 0, 0, 8, 0, 0, + 0, 2, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 64, + 0, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 40, + 2, 0, 0, 0, 0, 0, + 0, 56, 2, 0, 0, 80, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 64, 2, 0, 0, 88, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 84, 2, 0, 0, 92, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 92, 2, 0, 0, 96, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 68, + 2, 0, 0, 0, 0, 0, + 0, 68, 101, 118, 105, 99, + 101, 83, 112, 97, 99, 101, + 84, 111, 85, 115, 101, 114, + 83, 112, 97, 99, 101, 0, + 171, 3, 0, 3, 0, 3, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, + 105, 109, 101, 110, 115, 105, + 111, 110, 115, 0, 171, 1, + 0, 3, 0, 1, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 105, 102, + 102, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 99, 101, 110, + 116, 101, 114, 49, 0, 65, + 0, 171, 171, 0, 0, 3, + 0, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 114, 97, 100, 105, 117, + 115, 49, 0, 115, 113, 95, + 114, 97, 100, 105, 117, 115, + 49, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 73, 83, 71, + 78, 44, 0, 0, 0, 1, + 0, 0, 0, 8, 0, 0, + 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 7, 3, 0, + 0, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 171, 171, + 171, 79, 83, 71, 78, 104, + 0, 0, 0, 3, 0, 0, + 0, 8, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 3, 12, 0, 0, 92, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 12, 3, 0, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 171, 171, 171, 91, + 76, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 228, 9, 0, 0, 68, + 88, 66, 67, 90, 139, 199, + 161, 131, 3, 38, 117, 153, + 113, 42, 204, 54, 196, 132, + 44, 1, 0, 0, 0, 228, + 9, 0, 0, 6, 0, 0, + 0, 56, 0, 0, 0, 128, + 2, 0, 0, 88, 6, 0, + 0, 212, 6, 0, 0, 64, + 9, 0, 0, 176, 9, 0, + 0, 65, 111, 110, 57, 64, + 2, 0, 0, 64, 2, 0, + 0, 0, 2, 255, 255, 8, + 2, 0, 0, 56, 0, 0, + 0, 1, 0, 44, 0, 0, + 0, 56, 0, 0, 0, 56, + 0, 2, 0, 36, 0, 0, + 0, 56, 0, 0, 0, 0, + 0, 1, 1, 1, 0, 0, + 0, 4, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 1, + 2, 255, 255, 81, 0, 0, + 5, 3, 0, 15, 160, 0, + 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, + 5, 4, 0, 15, 160, 0, + 0, 128, 63, 0, 0, 128, + 191, 0, 0, 0, 0, 0, + 0, 0, 128, 31, 0, 0, + 2, 0, 0, 0, 128, 0, + 0, 15, 176, 31, 0, 0, + 2, 0, 0, 0, 144, 0, + 8, 15, 160, 31, 0, 0, + 2, 0, 0, 0, 144, 1, + 8, 15, 160, 2, 0, 0, + 3, 0, 0, 3, 128, 0, + 0, 235, 176, 1, 0, 228, + 161, 90, 0, 0, 4, 0, + 0, 8, 128, 0, 0, 228, + 128, 0, 0, 228, 128, 2, + 0, 0, 161, 5, 0, 0, + 3, 0, 0, 8, 128, 0, + 0, 255, 128, 1, 0, 170, + 160, 1, 0, 0, 2, 0, + 0, 4, 128, 1, 0, 255, + 160, 8, 0, 0, 3, 0, + 0, 1, 128, 0, 0, 228, + 128, 0, 0, 228, 160, 4, + 0, 0, 4, 0, 0, 2, + 128, 0, 0, 0, 128, 0, + 0, 0, 128, 0, 0, 255, + 129, 35, 0, 0, 2, 0, + 0, 4, 128, 0, 0, 85, + 128, 7, 0, 0, 2, 0, + 0, 4, 128, 0, 0, 170, + 128, 6, 0, 0, 2, 1, + 0, 1, 128, 0, 0, 170, + 128, 1, 0, 0, 2, 1, + 0, 6, 128, 1, 0, 0, + 129, 2, 0, 0, 3, 0, + 0, 13, 128, 0, 0, 0, + 128, 1, 0, 148, 128, 6, + 0, 0, 2, 1, 0, 1, + 128, 1, 0, 170, 160, 5, + 0, 0, 3, 0, 0, 13, + 128, 0, 0, 228, 128, 1, + 0, 0, 128, 1, 0, 0, + 2, 1, 0, 8, 128, 1, + 0, 255, 160, 4, 0, 0, + 4, 1, 0, 7, 128, 0, + 0, 248, 128, 0, 0, 170, + 160, 1, 0, 255, 128, 88, + 0, 0, 4, 2, 0, 1, + 128, 1, 0, 0, 128, 0, + 0, 0, 128, 0, 0, 255, + 128, 88, 0, 0, 4, 0, + 0, 13, 128, 1, 0, 148, + 128, 4, 0, 68, 160, 4, + 0, 230, 160, 1, 0, 0, + 2, 2, 0, 2, 128, 3, + 0, 0, 160, 66, 0, 0, + 3, 1, 0, 15, 128, 0, + 0, 228, 176, 1, 8, 228, + 160, 66, 0, 0, 3, 2, + 0, 15, 128, 2, 0, 228, + 128, 0, 8, 228, 160, 5, + 0, 0, 3, 2, 0, 7, + 128, 2, 0, 255, 128, 2, + 0, 228, 128, 5, 0, 0, + 3, 1, 0, 15, 128, 1, + 0, 255, 128, 2, 0, 228, + 128, 2, 0, 0, 3, 0, + 0, 8, 128, 0, 0, 255, + 128, 0, 0, 0, 128, 88, + 0, 0, 4, 0, 0, 1, + 128, 0, 0, 255, 128, 0, + 0, 0, 128, 0, 0, 170, + 128, 88, 0, 0, 4, 1, + 0, 15, 128, 0, 0, 0, + 129, 4, 0, 170, 160, 1, + 0, 228, 128, 88, 0, 0, + 4, 0, 0, 15, 128, 0, + 0, 85, 128, 1, 0, 228, + 128, 4, 0, 170, 160, 1, + 0, 0, 2, 0, 8, 15, + 128, 0, 0, 228, 128, 255, + 255, 0, 0, 83, 72, 68, + 82, 208, 3, 0, 0, 64, + 0, 0, 0, 244, 0, 0, + 0, 89, 0, 0, 4, 70, + 142, 32, 0, 0, 0, 0, + 0, 7, 0, 0, 0, 90, + 0, 0, 3, 0, 96, 16, + 0, 0, 0, 0, 0, 90, + 0, 0, 3, 0, 96, 16, + 0, 1, 0, 0, 0, 88, + 24, 0, 4, 0, 112, 16, + 0, 0, 0, 0, 0, 85, + 85, 0, 0, 88, 24, 0, + 4, 0, 112, 16, 0, 1, + 0, 0, 0, 85, 85, 0, + 0, 98, 16, 0, 3, 50, + 16, 16, 0, 1, 0, 0, + 0, 98, 16, 0, 3, 194, + 16, 16, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 242, + 32, 16, 0, 0, 0, 0, + 0, 104, 0, 0, 2, 3, + 0, 0, 0, 0, 0, 0, + 9, 50, 0, 16, 0, 0, + 0, 0, 0, 230, 26, 16, + 0, 1, 0, 0, 0, 70, + 128, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 54, 0, 0, + 6, 66, 0, 16, 0, 0, + 0, 0, 0, 58, 128, 32, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 16, 0, 0, + 8, 66, 0, 16, 0, 0, + 0, 0, 0, 70, 2, 16, + 0, 0, 0, 0, 0, 70, + 130, 32, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 15, + 0, 0, 7, 18, 0, 16, + 0, 0, 0, 0, 0, 70, + 0, 16, 0, 0, 0, 0, + 0, 70, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 0, + 9, 18, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 10, + 128, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 6, + 0, 0, 0, 56, 0, 0, + 8, 18, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 42, + 128, 32, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 50, + 0, 0, 10, 18, 0, 16, + 0, 0, 0, 0, 0, 42, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 128, 65, 0, 0, 0, 0, + 0, 0, 0, 49, 0, 0, + 7, 34, 0, 16, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 1, + 64, 0, 0, 0, 0, 0, + 0, 75, 0, 0, 6, 18, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 128, 129, + 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 6, 34, + 0, 16, 0, 1, 0, 0, + 0, 10, 0, 16, 128, 65, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 7, 82, + 0, 16, 0, 0, 0, 0, + 0, 166, 10, 16, 0, 0, + 0, 0, 0, 6, 1, 16, + 0, 1, 0, 0, 0, 14, + 0, 0, 8, 82, 0, 16, + 0, 0, 0, 0, 0, 6, + 2, 16, 0, 0, 0, 0, + 0, 166, 138, 32, 0, 0, + 0, 0, 0, 5, 0, 0, + 0, 56, 0, 0, 8, 50, + 0, 16, 0, 1, 0, 0, + 0, 134, 0, 16, 0, 0, + 0, 0, 0, 166, 138, 32, + 0, 0, 0, 0, 0, 4, + 0, 0, 0, 29, 0, 0, + 9, 50, 0, 16, 0, 1, + 0, 0, 0, 70, 0, 16, + 0, 1, 0, 0, 0, 246, + 143, 32, 128, 65, 0, 0, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 1, 0, 0, + 10, 50, 0, 16, 0, 1, + 0, 0, 0, 70, 0, 16, + 0, 1, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 128, + 63, 0, 0, 128, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 18, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 128, 65, + 0, 0, 0, 0, 0, 0, + 0, 10, 0, 16, 0, 0, + 0, 0, 0, 50, 0, 0, + 9, 18, 0, 16, 0, 2, + 0, 0, 0, 10, 0, 16, + 0, 1, 0, 0, 0, 10, + 0, 16, 0, 0, 0, 0, + 0, 42, 0, 16, 0, 0, + 0, 0, 0, 54, 0, 0, + 5, 34, 0, 16, 0, 2, + 0, 0, 0, 1, 64, 0, + 0, 0, 0, 0, 63, 69, + 0, 0, 9, 242, 0, 16, + 0, 2, 0, 0, 0, 70, + 0, 16, 0, 2, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 31, + 0, 4, 3, 26, 0, 16, + 0, 0, 0, 0, 0, 54, + 0, 0, 8, 242, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 1, 21, + 0, 0, 1, 52, 0, 0, + 7, 18, 0, 16, 0, 0, + 0, 0, 0, 26, 0, 16, + 0, 1, 0, 0, 0, 10, + 0, 16, 0, 1, 0, 0, + 0, 29, 0, 0, 7, 18, + 0, 16, 0, 0, 0, 0, + 0, 1, 64, 0, 0, 0, + 0, 0, 0, 10, 0, 16, + 0, 0, 0, 0, 0, 31, + 0, 4, 3, 10, 0, 16, + 0, 0, 0, 0, 0, 54, + 0, 0, 8, 242, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 1, 21, + 0, 0, 1, 56, 0, 0, + 7, 114, 0, 16, 0, 2, + 0, 0, 0, 246, 15, 16, + 0, 2, 0, 0, 0, 70, + 2, 16, 0, 2, 0, 0, + 0, 69, 0, 0, 9, 242, + 0, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 1, 0, 0, 0, 0, + 96, 16, 0, 1, 0, 0, + 0, 56, 0, 0, 7, 242, + 32, 16, 0, 0, 0, 0, + 0, 246, 15, 16, 0, 0, + 0, 0, 0, 70, 14, 16, + 0, 2, 0, 0, 0, 62, + 0, 0, 1, 83, 84, 65, + 84, 116, 0, 0, 0, 33, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 17, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 82, 68, 69, 70, 100, + 2, 0, 0, 1, 0, 0, + 0, 232, 0, 0, 0, 5, + 0, 0, 0, 28, 0, 0, + 0, 0, 4, 255, 255, 0, + 1, 0, 0, 51, 2, 0, + 0, 188, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 203, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 216, + 0, 0, 0, 2, 0, 0, + 0, 5, 0, 0, 0, 4, + 0, 0, 0, 255, 255, 255, + 255, 0, 0, 0, 0, 1, + 0, 0, 0, 12, 0, 0, + 0, 220, 0, 0, 0, 2, + 0, 0, 0, 5, 0, 0, + 0, 4, 0, 0, 0, 255, + 255, 255, 255, 1, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 115, + 77, 105, 114, 114, 111, 114, + 83, 97, 109, 112, 108, 101, + 114, 0, 115, 77, 97, 115, + 107, 83, 97, 109, 112, 108, + 101, 114, 0, 116, 101, 120, + 0, 109, 97, 115, 107, 0, + 99, 98, 50, 0, 171, 171, + 171, 225, 0, 0, 0, 7, + 0, 0, 0, 0, 1, 0, + 0, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 168, 1, 0, 0, 0, + 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 192, + 1, 0, 0, 0, 0, 0, + 0, 208, 1, 0, 0, 48, + 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 220, + 1, 0, 0, 0, 0, 0, + 0, 236, 1, 0, 0, 64, + 0, 0, 0, 12, 0, 0, + 0, 2, 0, 0, 0, 244, + 1, 0, 0, 0, 0, 0, + 0, 4, 2, 0, 0, 80, + 0, 0, 0, 8, 0, 0, + 0, 2, 0, 0, 0, 220, + 1, 0, 0, 0, 0, 0, + 0, 12, 2, 0, 0, 88, + 0, 0, 0, 4, 0, 0, + 0, 2, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 32, 2, 0, 0, 92, + 0, 0, 0, 4, 0, 0, + 0, 2, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 40, 2, 0, 0, 96, + 0, 0, 0, 4, 0, 0, + 0, 2, 0, 0, 0, 16, + 2, 0, 0, 0, 0, 0, + 0, 68, 101, 118, 105, 99, + 101, 83, 112, 97, 99, 101, + 84, 111, 85, 115, 101, 114, + 83, 112, 97, 99, 101, 0, + 171, 3, 0, 3, 0, 3, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, + 105, 109, 101, 110, 115, 105, + 111, 110, 115, 0, 171, 1, + 0, 3, 0, 1, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 105, 102, + 102, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 99, 101, 110, + 116, 101, 114, 49, 0, 65, + 0, 171, 171, 0, 0, 3, + 0, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 114, 97, 100, 105, 117, + 115, 49, 0, 115, 113, 95, + 114, 97, 100, 105, 117, 115, + 49, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 73, 83, 71, + 78, 104, 0, 0, 0, 3, + 0, 0, 0, 8, 0, 0, + 0, 80, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 92, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 3, 3, 0, + 0, 92, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 12, 12, 0, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 171, 171, + 171, 79, 83, 71, 78, 44, + 0, 0, 0, 1, 0, 0, + 0, 8, 0, 0, 0, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 83, + 86, 95, 84, 97, 114, 103, + 101, 116, 0, 171, 171, 155, + 83, 0, 0, 0, 0, 0, + 0, 65, 48, 77, 105, 114, + 114, 111, 114, 0, 40, 7, + 0, 0, 68, 88, 66, 67, + 237, 58, 124, 168, 122, 234, + 242, 5, 75, 29, 195, 6, + 241, 206, 131, 117, 1, 0, + 0, 0, 40, 7, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 148, 1, 0, 0, + 104, 3, 0, 0, 228, 3, + 0, 0, 132, 6, 0, 0, + 184, 6, 0, 0, 65, 111, + 110, 57, 84, 1, 0, 0, + 84, 1, 0, 0, 0, 2, + 254, 255, 252, 0, 0, 0, + 88, 0, 0, 0, 4, 0, + 36, 0, 0, 0, 84, 0, + 0, 0, 84, 0, 0, 0, + 36, 0, 1, 0, 84, 0, + 0, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 1, 0, + 2, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 3, 0, 0, 0, 0, 0, + 1, 0, 3, 0, 1, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 254, 255, 81, 0, 0, 5, + 6, 0, 15, 160, 0, 0, + 128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 4, 0, 0, 4, + 0, 0, 3, 224, 0, 0, + 228, 144, 2, 0, 238, 160, + 2, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 128, + 0, 0, 228, 144, 1, 0, + 238, 160, 1, 0, 228, 160, + 2, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 0, 128, + 6, 0, 0, 160, 5, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 170, 128, 5, 0, + 0, 160, 5, 0, 0, 3, + 1, 0, 1, 128, 0, 0, + 170, 128, 6, 0, 85, 160, + 2, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 85, 129, + 6, 0, 0, 160, 2, 0, + 0, 3, 0, 0, 3, 192, + 0, 0, 228, 128, 0, 0, + 228, 160, 5, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 170, 128, 5, 0, 85, 160, + 5, 0, 0, 3, 1, 0, + 2, 128, 0, 0, 0, 128, + 6, 0, 85, 160, 1, 0, + 0, 2, 1, 0, 4, 128, + 6, 0, 0, 160, 8, 0, + 0, 3, 0, 0, 8, 224, + 1, 0, 228, 128, 3, 0, + 228, 160, 8, 0, 0, 3, + 0, 0, 4, 224, 1, 0, + 228, 128, 4, 0, 228, 160, + 1, 0, 0, 2, 0, 0, + 12, 192, 6, 0, 36, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 204, 1, 0, 0, + 64, 0, 1, 0, 115, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 0, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 194, 32, 16, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 54, 0, + 0, 8, 194, 32, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 63, + 50, 0, 0, 11, 50, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 128, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 8, + 34, 0, 16, 0, 0, 0, + 0, 0, 26, 0, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 8, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 70, 128, 32, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 50, 0, + 16, 0, 1, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 63, 0, 0, + 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 16, 0, 0, 8, 66, 32, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 12, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 152, 2, 0, 0, 2, 0, + 0, 0, 100, 0, 0, 0, + 2, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 254, 255, + 0, 1, 0, 0, 103, 2, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 96, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 99, 98, 48, 0, 99, 98, + 50, 0, 92, 0, 0, 0, + 4, 0, 0, 0, 148, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, + 7, 0, 0, 0, 52, 1, + 0, 0, 112, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 244, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 16, 1, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 26, 1, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 40, 1, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 81, 117, 97, 100, + 68, 101, 115, 99, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 77, 97, + 115, 107, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 84, 101, 120, 116, 67, 111, + 108, 111, 114, 0, 171, 171, + 220, 1, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, + 2, 0, 0, 0, 244, 1, + 0, 0, 0, 0, 0, 0, + 4, 2, 0, 0, 48, 0, + 0, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 16, 2, + 0, 0, 0, 0, 0, 0, + 32, 2, 0, 0, 64, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 0, 0, 40, 2, + 0, 0, 0, 0, 0, 0, + 56, 2, 0, 0, 80, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 16, 2, + 0, 0, 0, 0, 0, 0, + 64, 2, 0, 0, 88, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 68, 2, + 0, 0, 0, 0, 0, 0, + 84, 2, 0, 0, 92, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 68, 2, + 0, 0, 0, 0, 0, 0, + 92, 2, 0, 0, 96, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 68, 2, + 0, 0, 0, 0, 0, 0, + 68, 101, 118, 105, 99, 101, + 83, 112, 97, 99, 101, 84, + 111, 85, 115, 101, 114, 83, + 112, 97, 99, 101, 0, 171, + 3, 0, 3, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 105, + 109, 101, 110, 115, 105, 111, + 110, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 99, 101, 110, 116, + 101, 114, 49, 0, 65, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 114, 97, 100, 105, 117, 115, + 49, 0, 115, 113, 95, 114, + 97, 100, 105, 117, 115, 49, + 0, 77, 105, 99, 114, 111, + 115, 111, 102, 116, 32, 40, + 82, 41, 32, 72, 76, 83, + 76, 32, 83, 104, 97, 100, + 101, 114, 32, 67, 111, 109, + 112, 105, 108, 101, 114, 32, + 57, 46, 50, 57, 46, 57, + 53, 50, 46, 51, 49, 49, + 49, 0, 73, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 7, 3, 0, 0, + 80, 79, 83, 73, 84, 73, + 79, 78, 0, 171, 171, 171, + 79, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 12, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 12, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 148, 93, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 196, 7, 0, 0, 68, 88, + 66, 67, 10, 64, 223, 200, + 195, 240, 1, 206, 6, 135, + 41, 112, 246, 195, 250, 98, + 1, 0, 0, 0, 196, 7, + 0, 0, 6, 0, 0, 0, + 56, 0, 0, 0, 196, 1, + 0, 0, 56, 4, 0, 0, + 180, 4, 0, 0, 32, 7, + 0, 0, 144, 7, 0, 0, + 65, 111, 110, 57, 132, 1, + 0, 0, 132, 1, 0, 0, + 0, 2, 255, 255, 76, 1, + 0, 0, 56, 0, 0, 0, + 1, 0, 44, 0, 0, 0, + 56, 0, 0, 0, 56, 0, + 2, 0, 36, 0, 0, 0, + 56, 0, 0, 0, 0, 0, + 1, 1, 1, 0, 0, 0, + 4, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 255, 255, 81, 0, 0, 5, + 2, 0, 15, 160, 0, 0, + 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 31, 0, 0, 2, + 0, 0, 0, 144, 1, 8, + 15, 160, 5, 0, 0, 3, + 0, 0, 8, 128, 1, 0, + 255, 160, 1, 0, 255, 160, + 2, 0, 0, 3, 0, 0, + 3, 128, 0, 0, 235, 176, + 1, 0, 228, 161, 90, 0, + 0, 4, 0, 0, 8, 128, + 0, 0, 228, 128, 0, 0, + 228, 128, 0, 0, 255, 129, + 5, 0, 0, 3, 0, 0, + 8, 128, 0, 0, 255, 128, + 2, 0, 0, 160, 1, 0, + 0, 2, 0, 0, 4, 128, + 1, 0, 255, 160, 8, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 128, 0, 0, + 228, 160, 6, 0, 0, 2, + 0, 0, 1, 128, 0, 0, + 0, 128, 5, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 0, 0, 255, 128, + 1, 0, 0, 2, 0, 0, + 2, 128, 2, 0, 0, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 176, + 1, 8, 228, 160, 66, 0, + 0, 3, 2, 0, 15, 128, + 0, 0, 228, 128, 0, 8, + 228, 160, 1, 0, 0, 2, + 0, 0, 8, 128, 1, 0, + 255, 160, 4, 0, 0, 4, + 0, 0, 1, 128, 0, 0, + 0, 128, 0, 0, 170, 161, + 0, 0, 255, 129, 5, 0, + 0, 3, 2, 0, 7, 128, + 2, 0, 255, 128, 2, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 255, 128, 2, 0, 228, 128, + 88, 0, 0, 4, 0, 0, + 15, 128, 0, 0, 0, 128, + 2, 0, 85, 160, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 108, 2, + 0, 0, 64, 0, 0, 0, + 155, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 1, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 194, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 0, 0, 0, 9, 50, 0, + 16, 0, 0, 0, 0, 0, + 230, 26, 16, 0, 1, 0, + 0, 0, 70, 128, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 54, 0, 0, 6, 66, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 12, 18, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 63, 14, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 42, 128, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 29, 0, + 0, 9, 66, 0, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 34, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 63, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 0, 16, 0, 0, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 31, 0, 4, 3, 42, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 242, 32, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 21, 0, 0, 1, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 0, 96, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 242, 32, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 19, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 100, 2, 0, 0, 1, 0, + 0, 0, 232, 0, 0, 0, + 5, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 255, 255, + 0, 1, 0, 0, 51, 2, + 0, 0, 188, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 203, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 220, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 225, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 77, 105, 114, 114, 111, + 114, 83, 97, 109, 112, 108, + 101, 114, 0, 115, 77, 97, + 115, 107, 83, 97, 109, 112, + 108, 101, 114, 0, 116, 101, + 120, 0, 109, 97, 115, 107, + 0, 99, 98, 50, 0, 171, + 171, 171, 225, 0, 0, 0, + 7, 0, 0, 0, 0, 1, + 0, 0, 112, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 168, 1, 0, 0, + 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, + 192, 1, 0, 0, 0, 0, + 0, 0, 208, 1, 0, 0, + 48, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 220, 1, 0, 0, 0, 0, + 0, 0, 236, 1, 0, 0, + 64, 0, 0, 0, 12, 0, + 0, 0, 2, 0, 0, 0, + 244, 1, 0, 0, 0, 0, + 0, 0, 4, 2, 0, 0, + 80, 0, 0, 0, 8, 0, + 0, 0, 2, 0, 0, 0, + 220, 1, 0, 0, 0, 0, + 0, 0, 12, 2, 0, 0, + 88, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 32, 2, 0, 0, + 92, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 40, 2, 0, 0, + 96, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 68, 101, 118, 105, + 99, 101, 83, 112, 97, 99, + 101, 84, 111, 85, 115, 101, + 114, 83, 112, 97, 99, 101, + 0, 171, 3, 0, 3, 0, + 3, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 100, 105, 109, 101, 110, 115, + 105, 111, 110, 115, 0, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 105, + 102, 102, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 99, 101, + 110, 116, 101, 114, 49, 0, + 65, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 114, 97, 100, 105, + 117, 115, 49, 0, 115, 113, + 95, 114, 97, 100, 105, 117, + 115, 49, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 57, 46, 50, 57, + 46, 57, 53, 50, 46, 51, + 49, 49, 49, 0, 73, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 3, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 12, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171, + 212, 100, 0, 0, 0, 0, + 0, 0, 83, 97, 109, 112, + 108, 101, 77, 97, 115, 107, + 101, 100, 84, 101, 120, 116, + 117, 114, 101, 0, 68, 4, + 0, 0, 68, 88, 66, 67, + 26, 214, 157, 140, 185, 91, + 182, 211, 177, 171, 114, 225, + 174, 107, 56, 117, 1, 0, + 0, 0, 68, 4, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 248, 0, 0, 0, + 244, 1, 0, 0, 112, 2, + 0, 0, 160, 3, 0, 0, + 212, 3, 0, 0, 65, 111, + 110, 57, 184, 0, 0, 0, + 184, 0, 0, 0, 0, 2, + 254, 255, 132, 0, 0, 0, + 52, 0, 0, 0, 1, 0, + 36, 0, 0, 0, 48, 0, + 0, 0, 48, 0, 0, 0, + 36, 0, 1, 0, 48, 0, + 0, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 254, 255, 81, 0, 0, 5, + 4, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 4, 0, 0, 4, + 0, 0, 3, 224, 0, 0, + 228, 144, 2, 0, 238, 160, + 2, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 12, 224, + 0, 0, 20, 144, 3, 0, + 180, 160, 3, 0, 20, 160, + 4, 0, 0, 4, 0, 0, + 3, 128, 0, 0, 228, 144, + 1, 0, 238, 160, 1, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 3, 192, 0, 0, + 228, 128, 0, 0, 228, 160, + 1, 0, 0, 2, 0, 0, + 12, 192, 4, 0, 68, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 244, 0, 0, 0, + 64, 0, 1, 0, 61, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 194, 32, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 32, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 50, 0, 0, 11, + 50, 32, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 194, 32, 16, 0, + 1, 0, 0, 0, 6, 20, + 16, 0, 0, 0, 0, 0, + 166, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 132, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 40, 1, 0, 0, 1, 0, + 0, 0, 64, 0, 0, 0, + 1, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 254, 255, + 0, 1, 0, 0, 246, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 99, 98, + 48, 0, 60, 0, 0, 0, + 4, 0, 0, 0, 88, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 222, 0, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 236, 0, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 81, 117, 97, 100, + 68, 101, 115, 99, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 77, 97, + 115, 107, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 84, 101, 120, 116, 67, 111, + 108, 111, 114, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 171, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 7, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 184, 108, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 208, 3, + 0, 0, 68, 88, 66, 67, + 145, 96, 208, 189, 244, 147, + 57, 205, 242, 133, 35, 176, + 39, 143, 121, 235, 1, 0, + 0, 0, 208, 3, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 224, 0, 0, 0, + 188, 1, 0, 0, 56, 2, + 0, 0, 44, 3, 0, 0, + 156, 3, 0, 0, 65, 111, + 110, 57, 160, 0, 0, 0, + 160, 0, 0, 0, 0, 2, + 255, 255, 116, 0, 0, 0, + 44, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 44, 0, + 0, 0, 44, 0, 2, 0, + 36, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 1, 1, + 1, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 1, 0, 0, 2, 0, 0, + 3, 128, 0, 0, 235, 176, + 66, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 66, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 1, 8, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 255, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 212, 0, 0, 0, + 64, 0, 0, 0, 53, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 1, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 194, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 230, 26, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 4, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 236, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 255, 255, 0, 1, + 0, 0, 187, 0, 0, 0, + 156, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 165, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 178, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 182, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 1, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 115, 83, 97, 109, + 112, 108, 101, 114, 0, 115, + 77, 97, 115, 107, 83, 97, + 109, 112, 108, 101, 114, 0, + 116, 101, 120, 0, 109, 97, + 115, 107, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 57, 46, 50, 57, + 46, 57, 53, 50, 46, 51, + 49, 49, 49, 0, 73, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 3, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 12, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171, + 20, 113, 0, 0, 0, 0, + 0, 0, 83, 97, 109, 112, + 108, 101, 84, 101, 120, 116, + 117, 114, 101, 87, 105, 116, + 104, 83, 104, 97, 100, 111, + 119, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 128, 63, 1, 0, 0, 0, + 0, 0, 128, 63, 1, 0, + 0, 0, 0, 0, 128, 63, + 1, 0, 0, 0, 0, 0, + 128, 63, 1, 0, 0, 0, + 3, 0, 0, 0, 255, 255, + 255, 255, 68, 4, 0, 0, + 68, 88, 66, 67, 26, 214, + 157, 140, 185, 91, 182, 211, + 177, 171, 114, 225, 174, 107, + 56, 117, 1, 0, 0, 0, + 68, 4, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 248, 0, 0, 0, 244, 1, + 0, 0, 112, 2, 0, 0, + 160, 3, 0, 0, 212, 3, + 0, 0, 65, 111, 110, 57, + 184, 0, 0, 0, 184, 0, + 0, 0, 0, 2, 254, 255, + 132, 0, 0, 0, 52, 0, + 0, 0, 1, 0, 36, 0, + 0, 0, 48, 0, 0, 0, + 48, 0, 0, 0, 36, 0, + 1, 0, 48, 0, 0, 0, + 0, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 254, 255, + 81, 0, 0, 5, 4, 0, + 15, 160, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 4, 0, 0, 4, 0, 0, + 3, 224, 0, 0, 228, 144, + 2, 0, 238, 160, 2, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 12, 224, 0, 0, + 20, 144, 3, 0, 180, 160, + 3, 0, 20, 160, 4, 0, + 0, 4, 0, 0, 3, 128, + 0, 0, 228, 144, 1, 0, + 238, 160, 1, 0, 228, 160, + 2, 0, 0, 3, 0, 0, + 3, 192, 0, 0, 228, 128, + 0, 0, 228, 160, 1, 0, + 0, 2, 0, 0, 12, 192, + 4, 0, 68, 160, 255, 255, + 0, 0, 83, 72, 68, 82, + 244, 0, 0, 0, 64, 0, + 1, 0, 61, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 0, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 194, 32, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 8, 194, 32, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 63, + 50, 0, 0, 11, 50, 32, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 230, 138, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 70, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 194, 32, 16, 0, 1, 0, + 0, 0, 6, 20, 16, 0, + 0, 0, 0, 0, 166, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 6, 132, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 83, 84, 65, 84, + 116, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 82, 68, 69, 70, 40, 1, + 0, 0, 1, 0, 0, 0, + 64, 0, 0, 0, 1, 0, + 0, 0, 28, 0, 0, 0, + 0, 4, 254, 255, 0, 1, + 0, 0, 246, 0, 0, 0, + 60, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 99, 98, 48, 0, + 60, 0, 0, 0, 4, 0, + 0, 0, 88, 0, 0, 0, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 184, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 196, 0, + 0, 0, 0, 0, 0, 0, + 212, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 196, 0, + 0, 0, 0, 0, 0, 0, + 222, 0, 0, 0, 32, 0, + 0, 0, 16, 0, 0, 0, + 2, 0, 0, 0, 196, 0, + 0, 0, 0, 0, 0, 0, + 236, 0, 0, 0, 48, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 196, 0, + 0, 0, 0, 0, 0, 0, + 81, 117, 97, 100, 68, 101, + 115, 99, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 115, 0, 77, 97, 115, 107, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 84, 101, + 120, 116, 67, 111, 108, 111, + 114, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 171, 73, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 7, 3, + 0, 0, 80, 79, 83, 73, + 84, 73, 79, 78, 0, 171, + 171, 171, 79, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 12, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 12, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 56, 117, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 232, 9, 0, 0, + 68, 88, 66, 67, 45, 80, + 33, 8, 5, 16, 134, 134, + 115, 16, 129, 43, 103, 216, + 255, 210, 1, 0, 0, 0, + 232, 9, 0, 0, 6, 0, + 0, 0, 56, 0, 0, 0, + 248, 2, 0, 0, 8, 7, + 0, 0, 132, 7, 0, 0, + 68, 9, 0, 0, 180, 9, + 0, 0, 65, 111, 110, 57, + 184, 2, 0, 0, 184, 2, + 0, 0, 0, 2, 255, 255, + 120, 2, 0, 0, 64, 0, + 0, 0, 2, 0, 40, 0, + 0, 0, 64, 0, 0, 0, + 64, 0, 1, 0, 36, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 4, 0, 3, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 2, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 0, 176, + 0, 0, 85, 160, 1, 0, + 0, 2, 0, 0, 2, 128, + 0, 0, 85, 176, 2, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 0, 176, 0, 0, + 0, 160, 1, 0, 0, 2, + 1, 0, 2, 128, 0, 0, + 85, 176, 66, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 0, 8, 228, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 0, 8, 228, 160, 5, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 255, 128, 3, 0, + 85, 160, 4, 0, 0, 4, + 0, 0, 1, 128, 3, 0, + 0, 160, 1, 0, 255, 128, + 0, 0, 0, 128, 2, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 0, 176, 0, 0, + 170, 160, 1, 0, 0, 2, + 1, 0, 2, 128, 0, 0, + 85, 176, 2, 0, 0, 3, + 2, 0, 1, 128, 0, 0, + 0, 176, 0, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 2, 128, 0, 0, 85, 176, + 66, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 0, 8, 228, 160, 66, 0, + 0, 3, 2, 0, 15, 128, + 2, 0, 228, 128, 0, 8, + 228, 160, 4, 0, 0, 4, + 0, 0, 1, 128, 3, 0, + 170, 160, 1, 0, 255, 128, + 0, 0, 0, 128, 4, 0, + 0, 4, 0, 0, 1, 128, + 3, 0, 255, 160, 2, 0, + 255, 128, 0, 0, 0, 128, + 2, 0, 0, 3, 1, 0, + 1, 128, 0, 0, 0, 176, + 1, 0, 0, 160, 1, 0, + 0, 2, 1, 0, 2, 128, + 0, 0, 85, 176, 2, 0, + 0, 3, 2, 0, 1, 128, + 0, 0, 0, 176, 1, 0, + 85, 160, 1, 0, 0, 2, + 2, 0, 2, 128, 0, 0, + 85, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 0, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 2, 0, 228, 128, + 0, 8, 228, 160, 4, 0, + 0, 4, 0, 0, 1, 128, + 4, 0, 0, 160, 1, 0, + 255, 128, 0, 0, 0, 128, + 4, 0, 0, 4, 0, 0, + 1, 128, 4, 0, 85, 160, + 2, 0, 255, 128, 0, 0, + 0, 128, 2, 0, 0, 3, + 1, 0, 1, 128, 0, 0, + 0, 176, 1, 0, 170, 160, + 1, 0, 0, 2, 1, 0, + 2, 128, 0, 0, 85, 176, + 2, 0, 0, 3, 2, 0, + 1, 128, 0, 0, 0, 176, + 1, 0, 255, 160, 1, 0, + 0, 2, 2, 0, 2, 128, + 0, 0, 85, 176, 66, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 228, 128, 0, 8, + 228, 160, 66, 0, 0, 3, + 2, 0, 15, 128, 2, 0, + 228, 128, 0, 8, 228, 160, + 4, 0, 0, 4, 0, 0, + 1, 128, 4, 0, 170, 160, + 1, 0, 255, 128, 0, 0, + 0, 128, 4, 0, 0, 4, + 0, 0, 1, 128, 4, 0, + 255, 160, 2, 0, 255, 128, + 0, 0, 0, 128, 2, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 0, 176, 2, 0, + 0, 160, 1, 0, 0, 2, + 1, 0, 2, 128, 0, 0, + 85, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 0, 8, 228, 160, + 4, 0, 0, 4, 0, 0, + 1, 128, 5, 0, 0, 160, + 1, 0, 255, 128, 0, 0, + 0, 128, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 0, 128, 6, 0, 228, 160, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 8, 4, 0, 0, + 64, 0, 0, 0, 2, 1, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 0, 0, 0, 8, 242, 0, + 16, 0, 0, 0, 0, 0, + 6, 16, 16, 0, 1, 0, + 0, 0, 38, 135, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 1, 0, + 0, 0, 86, 7, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 162, 0, 16, 0, + 1, 0, 0, 0, 86, 21, + 16, 0, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 230, 10, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 0, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 162, 0, + 16, 0, 0, 0, 0, 0, + 86, 21, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 18, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 6, 16, + 16, 0, 1, 0, 0, 0, + 38, 135, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 82, 0, + 16, 0, 2, 0, 0, 0, + 86, 7, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 162, 0, 16, 0, 2, 0, + 0, 0, 86, 21, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 230, 10, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 10, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 58, 0, + 16, 0, 3, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 0, 0, + 0, 0, 26, 128, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 162, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 230, 10, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 0, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 10, 18, 0, + 16, 0, 0, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 16, + 16, 0, 1, 0, 0, 0, + 10, 128, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 16, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 0, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 242, 32, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 30, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 184, 1, 0, 0, + 1, 0, 0, 0, 148, 0, + 0, 0, 3, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 132, 1, 0, 0, 124, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 139, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 115, 83, + 104, 97, 100, 111, 119, 83, + 97, 109, 112, 108, 101, 114, + 0, 116, 101, 120, 0, 99, + 98, 49, 0, 171, 143, 0, + 0, 0, 4, 0, 0, 0, + 172, 0, 0, 0, 160, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 1, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 2, 0, + 0, 0, 28, 1, 0, 0, + 0, 0, 0, 0, 44, 1, + 0, 0, 48, 0, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 60, 1, 0, 0, + 0, 0, 0, 0, 76, 1, + 0, 0, 96, 0, 0, 0, + 48, 0, 0, 0, 2, 0, + 0, 0, 88, 1, 0, 0, + 0, 0, 0, 0, 104, 1, + 0, 0, 144, 0, 0, 0, + 16, 0, 0, 0, 2, 0, + 0, 0, 116, 1, 0, 0, + 0, 0, 0, 0, 66, 108, + 117, 114, 79, 102, 102, 115, + 101, 116, 115, 72, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 66, 108, 117, 114, 79, 102, + 102, 115, 101, 116, 115, 86, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 66, 108, 117, 114, + 87, 101, 105, 103, 104, 116, + 115, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 83, 104, 97, 100, 111, 119, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 171, + 171, 171, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 92, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171, 148, 121, + 0, 0, 0, 0, 0, 0, + 80, 49, 0, 4, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 128, 63, 1, 0, 0, + 0, 0, 0, 128, 63, 1, + 0, 0, 0, 0, 0, 128, + 63, 1, 0, 0, 0, 0, + 0, 128, 63, 1, 0, 0, + 0, 3, 0, 0, 0, 255, + 255, 255, 255, 68, 4, 0, + 0, 68, 88, 66, 67, 26, + 214, 157, 140, 185, 91, 182, + 211, 177, 171, 114, 225, 174, + 107, 56, 117, 1, 0, 0, + 0, 68, 4, 0, 0, 6, + 0, 0, 0, 56, 0, 0, + 0, 248, 0, 0, 0, 244, + 1, 0, 0, 112, 2, 0, + 0, 160, 3, 0, 0, 212, + 3, 0, 0, 65, 111, 110, + 57, 184, 0, 0, 0, 184, + 0, 0, 0, 0, 2, 254, + 255, 132, 0, 0, 0, 52, + 0, 0, 0, 1, 0, 36, + 0, 0, 0, 48, 0, 0, + 0, 48, 0, 0, 0, 36, + 0, 1, 0, 48, 0, 0, + 0, 0, 0, 3, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 2, 254, + 255, 81, 0, 0, 5, 4, + 0, 15, 160, 0, 0, 0, + 0, 0, 0, 128, 63, 0, + 0, 0, 0, 0, 0, 0, + 0, 31, 0, 0, 2, 5, + 0, 0, 128, 0, 0, 15, + 144, 4, 0, 0, 4, 0, + 0, 3, 224, 0, 0, 228, + 144, 2, 0, 238, 160, 2, + 0, 228, 160, 4, 0, 0, + 4, 0, 0, 12, 224, 0, + 0, 20, 144, 3, 0, 180, + 160, 3, 0, 20, 160, 4, + 0, 0, 4, 0, 0, 3, + 128, 0, 0, 228, 144, 1, + 0, 238, 160, 1, 0, 228, + 160, 2, 0, 0, 3, 0, + 0, 3, 192, 0, 0, 228, + 128, 0, 0, 228, 160, 1, + 0, 0, 2, 0, 0, 12, + 192, 4, 0, 68, 160, 255, + 255, 0, 0, 83, 72, 68, + 82, 244, 0, 0, 0, 64, + 0, 1, 0, 61, 0, 0, + 0, 89, 0, 0, 4, 70, + 142, 32, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 95, + 0, 0, 3, 50, 16, 16, + 0, 0, 0, 0, 0, 103, + 0, 0, 4, 242, 32, 16, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 50, 32, 16, 0, 1, + 0, 0, 0, 101, 0, 0, + 3, 194, 32, 16, 0, 1, + 0, 0, 0, 50, 0, 0, + 11, 50, 32, 16, 0, 0, + 0, 0, 0, 70, 16, 16, + 0, 0, 0, 0, 0, 230, + 138, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, + 128, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, + 0, 0, 8, 194, 32, 16, + 0, 0, 0, 0, 0, 2, + 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, + 63, 50, 0, 0, 11, 50, + 32, 16, 0, 1, 0, 0, + 0, 70, 16, 16, 0, 0, + 0, 0, 0, 230, 138, 32, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 70, 128, 32, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 50, 0, 0, + 11, 194, 32, 16, 0, 1, + 0, 0, 0, 6, 20, 16, + 0, 0, 0, 0, 0, 166, + 142, 32, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 6, + 132, 32, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 62, + 0, 0, 1, 83, 84, 65, + 84, 116, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 82, 68, 69, 70, 40, + 1, 0, 0, 1, 0, 0, + 0, 64, 0, 0, 0, 1, + 0, 0, 0, 28, 0, 0, + 0, 0, 4, 254, 255, 0, + 1, 0, 0, 246, 0, 0, + 0, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 99, 98, 48, + 0, 60, 0, 0, 0, 4, + 0, 0, 0, 88, 0, 0, + 0, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 184, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 2, 0, 0, 0, 196, + 0, 0, 0, 0, 0, 0, + 0, 212, 0, 0, 0, 16, + 0, 0, 0, 16, 0, 0, + 0, 2, 0, 0, 0, 196, + 0, 0, 0, 0, 0, 0, + 0, 222, 0, 0, 0, 32, + 0, 0, 0, 16, 0, 0, + 0, 2, 0, 0, 0, 196, + 0, 0, 0, 0, 0, 0, + 0, 236, 0, 0, 0, 48, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 196, + 0, 0, 0, 0, 0, 0, + 0, 81, 117, 97, 100, 68, + 101, 115, 99, 0, 171, 171, + 171, 1, 0, 3, 0, 1, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 115, 0, 77, 97, 115, + 107, 84, 101, 120, 67, 111, + 111, 114, 100, 115, 0, 84, + 101, 120, 116, 67, 111, 108, + 111, 114, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 57, 46, 50, 57, + 46, 57, 53, 50, 46, 51, + 49, 49, 49, 0, 171, 73, + 83, 71, 78, 44, 0, 0, + 0, 1, 0, 0, 0, 8, + 0, 0, 0, 32, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 7, + 3, 0, 0, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 171, 171, 171, 79, 83, 71, + 78, 104, 0, 0, 0, 3, + 0, 0, 0, 8, 0, 0, + 0, 80, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 92, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 3, 12, 0, + 0, 92, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 12, 3, 0, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 171, 171, + 171, 187, 131, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 0, + 0, 0, 0, 172, 9, 0, + 0, 68, 88, 66, 67, 110, + 68, 159, 211, 251, 173, 118, + 80, 154, 213, 185, 171, 243, + 23, 113, 100, 1, 0, 0, + 0, 172, 9, 0, 0, 6, + 0, 0, 0, 56, 0, 0, + 0, 220, 2, 0, 0, 204, + 6, 0, 0, 72, 7, 0, + 0, 8, 9, 0, 0, 120, + 9, 0, 0, 65, 111, 110, + 57, 156, 2, 0, 0, 156, + 2, 0, 0, 0, 2, 255, + 255, 104, 2, 0, 0, 52, + 0, 0, 0, 1, 0, 40, + 0, 0, 0, 52, 0, 0, + 0, 52, 0, 1, 0, 36, + 0, 0, 0, 52, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 6, 0, 0, 0, 0, + 0, 0, 0, 1, 2, 255, + 255, 31, 0, 0, 2, 0, + 0, 0, 128, 0, 0, 15, + 176, 31, 0, 0, 2, 0, + 0, 0, 144, 0, 8, 15, + 160, 2, 0, 0, 3, 0, + 0, 2, 128, 0, 0, 85, + 176, 0, 0, 85, 160, 1, + 0, 0, 2, 0, 0, 1, + 128, 0, 0, 0, 176, 2, + 0, 0, 3, 1, 0, 2, + 128, 0, 0, 85, 176, 0, + 0, 0, 160, 1, 0, 0, + 2, 1, 0, 1, 128, 0, + 0, 0, 176, 66, 0, 0, + 3, 0, 0, 15, 128, 0, + 0, 228, 128, 0, 8, 228, + 160, 66, 0, 0, 3, 1, + 0, 15, 128, 1, 0, 228, + 128, 0, 8, 228, 160, 5, + 0, 0, 3, 0, 0, 15, + 128, 0, 0, 228, 128, 3, + 0, 85, 160, 4, 0, 0, + 4, 0, 0, 15, 128, 3, + 0, 0, 160, 1, 0, 228, + 128, 0, 0, 228, 128, 2, + 0, 0, 3, 1, 0, 2, + 128, 0, 0, 85, 176, 0, + 0, 170, 160, 1, 0, 0, + 2, 1, 0, 1, 128, 0, + 0, 0, 176, 2, 0, 0, + 3, 2, 0, 2, 128, 0, + 0, 85, 176, 0, 0, 255, + 160, 1, 0, 0, 2, 2, + 0, 1, 128, 0, 0, 0, + 176, 66, 0, 0, 3, 1, + 0, 15, 128, 1, 0, 228, + 128, 0, 8, 228, 160, 66, + 0, 0, 3, 2, 0, 15, + 128, 2, 0, 228, 128, 0, + 8, 228, 160, 4, 0, 0, + 4, 0, 0, 15, 128, 3, + 0, 170, 160, 1, 0, 228, + 128, 0, 0, 228, 128, 4, + 0, 0, 4, 0, 0, 15, + 128, 3, 0, 255, 160, 2, + 0, 228, 128, 0, 0, 228, + 128, 2, 0, 0, 3, 1, + 0, 2, 128, 0, 0, 85, + 176, 1, 0, 0, 160, 1, + 0, 0, 2, 1, 0, 1, + 128, 0, 0, 0, 176, 2, + 0, 0, 3, 2, 0, 2, + 128, 0, 0, 85, 176, 1, + 0, 85, 160, 1, 0, 0, + 2, 2, 0, 1, 128, 0, + 0, 0, 176, 66, 0, 0, + 3, 1, 0, 15, 128, 1, + 0, 228, 128, 0, 8, 228, + 160, 66, 0, 0, 3, 2, + 0, 15, 128, 2, 0, 228, + 128, 0, 8, 228, 160, 4, + 0, 0, 4, 0, 0, 15, + 128, 4, 0, 0, 160, 1, + 0, 228, 128, 0, 0, 228, + 128, 4, 0, 0, 4, 0, + 0, 15, 128, 4, 0, 85, + 160, 2, 0, 228, 128, 0, + 0, 228, 128, 2, 0, 0, + 3, 1, 0, 2, 128, 0, + 0, 85, 176, 1, 0, 170, + 160, 1, 0, 0, 2, 1, + 0, 1, 128, 0, 0, 0, + 176, 2, 0, 0, 3, 2, + 0, 2, 128, 0, 0, 85, + 176, 1, 0, 255, 160, 1, + 0, 0, 2, 2, 0, 1, + 128, 0, 0, 0, 176, 66, + 0, 0, 3, 1, 0, 15, + 128, 1, 0, 228, 128, 0, + 8, 228, 160, 66, 0, 0, + 3, 2, 0, 15, 128, 2, + 0, 228, 128, 0, 8, 228, + 160, 4, 0, 0, 4, 0, + 0, 15, 128, 4, 0, 170, + 160, 1, 0, 228, 128, 0, + 0, 228, 128, 4, 0, 0, + 4, 0, 0, 15, 128, 4, + 0, 255, 160, 2, 0, 228, + 128, 0, 0, 228, 128, 2, + 0, 0, 3, 1, 0, 2, + 128, 0, 0, 85, 176, 2, + 0, 0, 160, 1, 0, 0, + 2, 1, 0, 1, 128, 0, + 0, 0, 176, 66, 0, 0, + 3, 1, 0, 15, 128, 1, + 0, 228, 128, 0, 8, 228, + 160, 4, 0, 0, 4, 0, + 0, 15, 128, 5, 0, 0, + 160, 1, 0, 228, 128, 0, + 0, 228, 128, 1, 0, 0, + 2, 0, 8, 15, 128, 0, + 0, 228, 128, 255, 255, 0, + 0, 83, 72, 68, 82, 232, + 3, 0, 0, 64, 0, 0, + 0, 250, 0, 0, 0, 89, + 0, 0, 4, 70, 142, 32, + 0, 0, 0, 0, 0, 9, + 0, 0, 0, 90, 0, 0, + 3, 0, 96, 16, 0, 0, + 0, 0, 0, 88, 24, 0, + 4, 0, 112, 16, 0, 0, + 0, 0, 0, 85, 85, 0, + 0, 98, 16, 0, 3, 50, + 16, 16, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 242, + 32, 16, 0, 0, 0, 0, + 0, 104, 0, 0, 2, 4, + 0, 0, 0, 54, 0, 0, + 5, 82, 0, 16, 0, 0, + 0, 0, 0, 6, 16, 16, + 0, 1, 0, 0, 0, 0, + 0, 0, 8, 242, 0, 16, + 0, 1, 0, 0, 0, 86, + 21, 16, 0, 1, 0, 0, + 0, 134, 141, 32, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 54, 0, 0, 5, 162, + 0, 16, 0, 0, 0, 0, + 0, 6, 8, 16, 0, 1, + 0, 0, 0, 69, 0, 0, + 9, 242, 0, 16, 0, 2, + 0, 0, 0, 230, 10, 16, + 0, 0, 0, 0, 0, 70, + 126, 16, 0, 0, 0, 0, + 0, 0, 96, 16, 0, 0, + 0, 0, 0, 69, 0, 0, + 9, 242, 0, 16, 0, 0, + 0, 0, 0, 70, 0, 16, + 0, 0, 0, 0, 0, 70, + 126, 16, 0, 0, 0, 0, + 0, 0, 96, 16, 0, 0, + 0, 0, 0, 56, 0, 0, + 8, 242, 0, 16, 0, 2, + 0, 0, 0, 70, 14, 16, + 0, 2, 0, 0, 0, 86, + 133, 32, 0, 0, 0, 0, + 0, 6, 0, 0, 0, 50, + 0, 0, 10, 242, 0, 16, + 0, 0, 0, 0, 0, 6, + 128, 32, 0, 0, 0, 0, + 0, 6, 0, 0, 0, 70, + 14, 16, 0, 0, 0, 0, + 0, 70, 14, 16, 0, 2, + 0, 0, 0, 54, 0, 0, + 5, 82, 0, 16, 0, 1, + 0, 0, 0, 6, 16, 16, + 0, 1, 0, 0, 0, 69, + 0, 0, 9, 242, 0, 16, + 0, 2, 0, 0, 0, 70, + 0, 16, 0, 1, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 69, + 0, 0, 9, 242, 0, 16, + 0, 1, 0, 0, 0, 230, + 10, 16, 0, 1, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 50, + 0, 0, 10, 242, 0, 16, + 0, 0, 0, 0, 0, 166, + 138, 32, 0, 0, 0, 0, + 0, 6, 0, 0, 0, 70, + 14, 16, 0, 2, 0, 0, + 0, 70, 14, 16, 0, 0, + 0, 0, 0, 50, 0, 0, + 10, 242, 0, 16, 0, 0, + 0, 0, 0, 246, 143, 32, + 0, 0, 0, 0, 0, 6, + 0, 0, 0, 70, 14, 16, + 0, 1, 0, 0, 0, 70, + 14, 16, 0, 0, 0, 0, + 0, 54, 0, 0, 5, 82, + 0, 16, 0, 1, 0, 0, + 0, 6, 16, 16, 0, 1, + 0, 0, 0, 0, 0, 0, + 8, 242, 0, 16, 0, 2, + 0, 0, 0, 86, 21, 16, + 0, 1, 0, 0, 0, 134, + 141, 32, 0, 0, 0, 0, + 0, 4, 0, 0, 0, 54, + 0, 0, 5, 162, 0, 16, + 0, 1, 0, 0, 0, 6, + 8, 16, 0, 2, 0, 0, + 0, 69, 0, 0, 9, 242, + 0, 16, 0, 3, 0, 0, + 0, 70, 0, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 0, 0, 0, 0, 0, + 96, 16, 0, 0, 0, 0, + 0, 69, 0, 0, 9, 242, + 0, 16, 0, 1, 0, 0, + 0, 230, 10, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 0, 0, 0, 0, 0, + 96, 16, 0, 0, 0, 0, + 0, 50, 0, 0, 10, 242, + 0, 16, 0, 0, 0, 0, + 0, 6, 128, 32, 0, 0, + 0, 0, 0, 7, 0, 0, + 0, 70, 14, 16, 0, 3, + 0, 0, 0, 70, 14, 16, + 0, 0, 0, 0, 0, 50, + 0, 0, 10, 242, 0, 16, + 0, 0, 0, 0, 0, 86, + 133, 32, 0, 0, 0, 0, + 0, 7, 0, 0, 0, 70, + 14, 16, 0, 1, 0, 0, + 0, 70, 14, 16, 0, 0, + 0, 0, 0, 54, 0, 0, + 5, 82, 0, 16, 0, 2, + 0, 0, 0, 6, 16, 16, + 0, 1, 0, 0, 0, 69, + 0, 0, 9, 242, 0, 16, + 0, 1, 0, 0, 0, 70, + 0, 16, 0, 2, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 69, + 0, 0, 9, 242, 0, 16, + 0, 2, 0, 0, 0, 230, + 10, 16, 0, 2, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 50, + 0, 0, 10, 242, 0, 16, + 0, 0, 0, 0, 0, 166, + 138, 32, 0, 0, 0, 0, + 0, 7, 0, 0, 0, 70, + 14, 16, 0, 1, 0, 0, + 0, 70, 14, 16, 0, 0, + 0, 0, 0, 50, 0, 0, + 10, 242, 0, 16, 0, 0, + 0, 0, 0, 246, 143, 32, + 0, 0, 0, 0, 0, 7, + 0, 0, 0, 70, 14, 16, + 0, 2, 0, 0, 0, 70, + 14, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 34, + 0, 16, 0, 1, 0, 0, + 0, 26, 16, 16, 0, 1, + 0, 0, 0, 10, 128, 32, + 0, 0, 0, 0, 0, 5, + 0, 0, 0, 54, 0, 0, + 5, 18, 0, 16, 0, 1, + 0, 0, 0, 10, 16, 16, + 0, 1, 0, 0, 0, 69, + 0, 0, 9, 242, 0, 16, + 0, 1, 0, 0, 0, 70, + 0, 16, 0, 1, 0, 0, + 0, 70, 126, 16, 0, 0, + 0, 0, 0, 0, 96, 16, + 0, 0, 0, 0, 0, 50, + 0, 0, 10, 242, 32, 16, + 0, 0, 0, 0, 0, 6, + 128, 32, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 70, + 14, 16, 0, 1, 0, 0, + 0, 70, 14, 16, 0, 0, + 0, 0, 0, 62, 0, 0, + 1, 83, 84, 65, 84, 116, + 0, 0, 0, 29, 0, 0, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, + 68, 69, 70, 184, 1, 0, + 0, 1, 0, 0, 0, 148, + 0, 0, 0, 3, 0, 0, + 0, 28, 0, 0, 0, 0, + 4, 255, 255, 0, 1, 0, + 0, 132, 1, 0, 0, 124, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 139, 0, 0, 0, 2, + 0, 0, 0, 5, 0, 0, + 0, 4, 0, 0, 0, 255, + 255, 255, 255, 0, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 115, + 83, 104, 97, 100, 111, 119, + 83, 97, 109, 112, 108, 101, + 114, 0, 116, 101, 120, 0, + 99, 98, 49, 0, 171, 143, + 0, 0, 0, 4, 0, 0, + 0, 172, 0, 0, 0, 160, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 12, + 1, 0, 0, 0, 0, 0, + 0, 48, 0, 0, 0, 0, + 0, 0, 0, 28, 1, 0, + 0, 0, 0, 0, 0, 44, + 1, 0, 0, 48, 0, 0, + 0, 48, 0, 0, 0, 2, + 0, 0, 0, 60, 1, 0, + 0, 0, 0, 0, 0, 76, + 1, 0, 0, 96, 0, 0, + 0, 48, 0, 0, 0, 2, + 0, 0, 0, 88, 1, 0, + 0, 0, 0, 0, 0, 104, + 1, 0, 0, 144, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 0, 0, 116, 1, 0, + 0, 0, 0, 0, 0, 66, + 108, 117, 114, 79, 102, 102, + 115, 101, 116, 115, 72, 0, + 171, 171, 171, 1, 0, 3, + 0, 1, 0, 4, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 66, 108, 117, 114, 79, + 102, 102, 115, 101, 116, 115, + 86, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 4, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 66, 108, 117, + 114, 87, 101, 105, 103, 104, + 116, 115, 0, 1, 0, 3, + 0, 1, 0, 4, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 83, 104, 97, 100, 111, + 119, 67, 111, 108, 111, 114, + 0, 1, 0, 3, 0, 1, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 77, + 105, 99, 114, 111, 115, 111, + 102, 116, 32, 40, 82, 41, + 32, 72, 76, 83, 76, 32, + 83, 104, 97, 100, 101, 114, + 32, 67, 111, 109, 112, 105, + 108, 101, 114, 32, 57, 46, + 50, 57, 46, 57, 53, 50, + 46, 51, 49, 49, 49, 0, + 171, 171, 171, 73, 83, 71, + 78, 104, 0, 0, 0, 3, + 0, 0, 0, 8, 0, 0, + 0, 80, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 92, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 3, 3, 0, + 0, 92, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 12, 0, 0, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 171, 171, + 171, 79, 83, 71, 78, 44, + 0, 0, 0, 1, 0, 0, + 0, 8, 0, 0, 0, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 83, + 86, 95, 84, 97, 114, 103, + 101, 116, 0, 171, 171, 23, + 136, 0, 0, 0, 0, 0, + 0, 80, 50, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 128, 63, 1, 0, + 0, 0, 0, 0, 128, 63, + 1, 0, 0, 0, 0, 0, + 128, 63, 1, 0, 0, 0, + 0, 0, 128, 63, 1, 0, + 0, 0, 3, 0, 0, 0, + 255, 255, 255, 255, 68, 4, + 0, 0, 68, 88, 66, 67, + 26, 214, 157, 140, 185, 91, + 182, 211, 177, 171, 114, 225, + 174, 107, 56, 117, 1, 0, + 0, 0, 68, 4, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 248, 0, 0, 0, + 244, 1, 0, 0, 112, 2, + 0, 0, 160, 3, 0, 0, + 212, 3, 0, 0, 65, 111, + 110, 57, 184, 0, 0, 0, + 184, 0, 0, 0, 0, 2, + 254, 255, 132, 0, 0, 0, + 52, 0, 0, 0, 1, 0, + 36, 0, 0, 0, 48, 0, + 0, 0, 48, 0, 0, 0, + 36, 0, 1, 0, 48, 0, + 0, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 254, 255, 81, 0, 0, 5, + 4, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 4, 0, 0, 4, + 0, 0, 3, 224, 0, 0, + 228, 144, 2, 0, 238, 160, + 2, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 12, 224, + 0, 0, 20, 144, 3, 0, + 180, 160, 3, 0, 20, 160, + 4, 0, 0, 4, 0, 0, + 3, 128, 0, 0, 228, 144, + 1, 0, 238, 160, 1, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 3, 192, 0, 0, + 228, 128, 0, 0, 228, 160, + 1, 0, 0, 2, 0, 0, + 12, 192, 4, 0, 68, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 244, 0, 0, 0, + 64, 0, 1, 0, 61, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 194, 32, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 32, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 50, 0, 0, 11, + 50, 32, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 194, 32, 16, 0, + 1, 0, 0, 0, 6, 20, + 16, 0, 0, 0, 0, 0, + 166, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 132, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 40, 1, 0, 0, 1, 0, + 0, 0, 64, 0, 0, 0, + 1, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 254, 255, + 0, 1, 0, 0, 246, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 99, 98, + 48, 0, 60, 0, 0, 0, + 4, 0, 0, 0, 88, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 222, 0, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 236, 0, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 81, 117, 97, 100, + 68, 101, 115, 99, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 77, 97, + 115, 107, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 84, 101, 120, 116, 67, 111, + 108, 111, 114, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 171, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 7, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 2, 146, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 164, 10, + 0, 0, 68, 88, 66, 67, + 143, 148, 190, 36, 41, 120, + 46, 207, 200, 138, 139, 29, + 38, 89, 245, 86, 1, 0, + 0, 0, 164, 10, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 24, 3, 0, 0, + 112, 7, 0, 0, 236, 7, + 0, 0, 0, 10, 0, 0, + 112, 10, 0, 0, 65, 111, + 110, 57, 216, 2, 0, 0, + 216, 2, 0, 0, 0, 2, + 255, 255, 160, 2, 0, 0, + 56, 0, 0, 0, 1, 0, + 44, 0, 0, 0, 56, 0, + 0, 0, 56, 0, 2, 0, + 36, 0, 0, 0, 56, 0, + 1, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 3, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 2, 0, 0, 3, 0, 0, + 2, 128, 0, 0, 85, 176, + 0, 0, 85, 160, 1, 0, + 0, 2, 0, 0, 1, 128, + 0, 0, 0, 176, 2, 0, + 0, 3, 1, 0, 2, 128, + 0, 0, 85, 176, 0, 0, + 0, 160, 1, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 0, 176, 66, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 1, 8, 228, 160, + 66, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 1, 8, 228, 160, 5, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 3, 0, + 85, 160, 4, 0, 0, 4, + 0, 0, 15, 128, 3, 0, + 0, 160, 1, 0, 228, 128, + 0, 0, 228, 128, 2, 0, + 0, 3, 1, 0, 2, 128, + 0, 0, 85, 176, 0, 0, + 170, 160, 1, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 0, 176, 2, 0, 0, 3, + 2, 0, 2, 128, 0, 0, + 85, 176, 0, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 1, 128, 0, 0, 0, 176, + 66, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 1, 8, 228, 160, 66, 0, + 0, 3, 2, 0, 15, 128, + 2, 0, 228, 128, 1, 8, + 228, 160, 4, 0, 0, 4, + 0, 0, 15, 128, 3, 0, + 170, 160, 1, 0, 228, 128, + 0, 0, 228, 128, 4, 0, + 0, 4, 0, 0, 15, 128, + 3, 0, 255, 160, 2, 0, + 228, 128, 0, 0, 228, 128, + 2, 0, 0, 3, 1, 0, + 2, 128, 0, 0, 85, 176, + 1, 0, 0, 160, 1, 0, + 0, 2, 1, 0, 1, 128, + 0, 0, 0, 176, 2, 0, + 0, 3, 2, 0, 2, 128, + 0, 0, 85, 176, 1, 0, + 85, 160, 1, 0, 0, 2, + 2, 0, 1, 128, 0, 0, + 0, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 1, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 2, 0, 228, 128, + 1, 8, 228, 160, 4, 0, + 0, 4, 0, 0, 15, 128, + 4, 0, 0, 160, 1, 0, + 228, 128, 0, 0, 228, 128, + 4, 0, 0, 4, 0, 0, + 15, 128, 4, 0, 85, 160, + 2, 0, 228, 128, 0, 0, + 228, 128, 2, 0, 0, 3, + 1, 0, 2, 128, 0, 0, + 85, 176, 1, 0, 170, 160, + 1, 0, 0, 2, 1, 0, + 1, 128, 0, 0, 0, 176, + 2, 0, 0, 3, 2, 0, + 2, 128, 0, 0, 85, 176, + 1, 0, 255, 160, 1, 0, + 0, 2, 2, 0, 1, 128, + 0, 0, 0, 176, 66, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 228, 128, 1, 8, + 228, 160, 66, 0, 0, 3, + 2, 0, 15, 128, 2, 0, + 228, 128, 1, 8, 228, 160, + 4, 0, 0, 4, 0, 0, + 15, 128, 4, 0, 170, 160, + 1, 0, 228, 128, 0, 0, + 228, 128, 4, 0, 0, 4, + 0, 0, 15, 128, 4, 0, + 255, 160, 2, 0, 228, 128, + 0, 0, 228, 128, 2, 0, + 0, 3, 1, 0, 2, 128, + 0, 0, 85, 176, 2, 0, + 0, 160, 1, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 0, 176, 1, 0, 0, 2, + 2, 0, 3, 128, 0, 0, + 235, 176, 66, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 1, 8, 228, 160, + 66, 0, 0, 3, 2, 0, + 15, 128, 2, 0, 228, 128, + 0, 8, 228, 160, 4, 0, + 0, 4, 0, 0, 15, 128, + 5, 0, 0, 160, 1, 0, + 228, 128, 0, 0, 228, 128, + 5, 0, 0, 3, 0, 0, + 15, 128, 2, 0, 255, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 80, 4, 0, 0, 64, 0, + 0, 0, 20, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 1, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 1, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 98, 16, 0, 3, 194, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 4, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 1, 0, 0, 0, 0, 0, + 0, 8, 242, 0, 16, 0, + 1, 0, 0, 0, 86, 21, + 16, 0, 1, 0, 0, 0, + 134, 141, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 5, 162, 0, + 16, 0, 0, 0, 0, 0, + 6, 8, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 230, 10, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 0, 16, 0, + 0, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 86, 133, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 1, 0, + 0, 0, 6, 16, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 0, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 230, 10, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 166, 138, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 0, 0, + 0, 0, 246, 143, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 82, 0, + 16, 0, 1, 0, 0, 0, + 6, 16, 16, 0, 1, 0, + 0, 0, 0, 0, 0, 8, + 242, 0, 16, 0, 2, 0, + 0, 0, 86, 21, 16, 0, + 1, 0, 0, 0, 134, 141, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 162, 0, 16, 0, + 1, 0, 0, 0, 6, 8, + 16, 0, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 0, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 230, 10, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 0, 0, 0, 0, + 6, 128, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 86, 133, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 82, 0, 16, 0, 2, 0, + 0, 0, 6, 16, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 230, 10, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 166, 138, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 242, 0, 16, 0, 0, 0, + 0, 0, 246, 143, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 34, 0, + 16, 0, 1, 0, 0, 0, + 26, 16, 16, 0, 1, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 54, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 16, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 0, + 16, 0, 1, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 242, 0, 16, 0, + 0, 0, 0, 0, 6, 128, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 230, 26, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 1, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 31, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 12, 2, 0, 0, 1, 0, + 0, 0, 232, 0, 0, 0, + 5, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 255, 255, + 0, 1, 0, 0, 216, 1, + 0, 0, 188, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 201, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 2, 0, + 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 220, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 1, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 225, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 115, 77, 97, 115, 107, 83, + 97, 109, 112, 108, 101, 114, + 0, 115, 83, 104, 97, 100, + 111, 119, 83, 97, 109, 112, + 108, 101, 114, 0, 116, 101, + 120, 0, 109, 97, 115, 107, + 0, 99, 98, 49, 0, 171, + 171, 171, 225, 0, 0, 0, + 4, 0, 0, 0, 0, 1, + 0, 0, 160, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 96, 1, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 0, 0, 0, 0, 0, + 112, 1, 0, 0, 0, 0, + 0, 0, 128, 1, 0, 0, + 48, 0, 0, 0, 48, 0, + 0, 0, 2, 0, 0, 0, + 144, 1, 0, 0, 0, 0, + 0, 0, 160, 1, 0, 0, + 96, 0, 0, 0, 48, 0, + 0, 0, 2, 0, 0, 0, + 172, 1, 0, 0, 0, 0, + 0, 0, 188, 1, 0, 0, + 144, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 200, 1, 0, 0, 0, 0, + 0, 0, 66, 108, 117, 114, + 79, 102, 102, 115, 101, 116, + 115, 72, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 66, 108, + 117, 114, 79, 102, 102, 115, + 101, 116, 115, 86, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 66, 108, 117, 114, 87, 101, + 105, 103, 104, 116, 115, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 83, 104, + 97, 100, 111, 119, 67, 111, + 108, 111, 114, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 57, 46, 50, 57, 46, + 57, 53, 50, 46, 51, 49, + 49, 49, 0, 171, 171, 171, + 73, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 12, 12, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171, 94, 150, 0, 0, + 0, 0, 0, 0, 83, 97, + 109, 112, 108, 101, 84, 101, + 120, 116, 84, 101, 120, 116, + 117, 114, 101, 0, 85, 110, + 109, 97, 115, 107, 101, 100, + 0, 4, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 255, 255, 255, + 255, 68, 4, 0, 0, 68, + 88, 66, 67, 26, 214, 157, + 140, 185, 91, 182, 211, 177, + 171, 114, 225, 174, 107, 56, + 117, 1, 0, 0, 0, 68, + 4, 0, 0, 6, 0, 0, + 0, 56, 0, 0, 0, 248, + 0, 0, 0, 244, 1, 0, + 0, 112, 2, 0, 0, 160, + 3, 0, 0, 212, 3, 0, + 0, 65, 111, 110, 57, 184, + 0, 0, 0, 184, 0, 0, + 0, 0, 2, 254, 255, 132, + 0, 0, 0, 52, 0, 0, + 0, 1, 0, 36, 0, 0, + 0, 48, 0, 0, 0, 48, + 0, 0, 0, 36, 0, 1, + 0, 48, 0, 0, 0, 0, + 0, 3, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 2, 254, 255, 81, + 0, 0, 5, 4, 0, 15, + 160, 0, 0, 0, 0, 0, + 0, 128, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 31, + 0, 0, 2, 5, 0, 0, + 128, 0, 0, 15, 144, 4, + 0, 0, 4, 0, 0, 3, + 224, 0, 0, 228, 144, 2, + 0, 238, 160, 2, 0, 228, + 160, 4, 0, 0, 4, 0, + 0, 12, 224, 0, 0, 20, + 144, 3, 0, 180, 160, 3, + 0, 20, 160, 4, 0, 0, + 4, 0, 0, 3, 128, 0, + 0, 228, 144, 1, 0, 238, + 160, 1, 0, 228, 160, 2, + 0, 0, 3, 0, 0, 3, + 192, 0, 0, 228, 128, 0, + 0, 228, 160, 1, 0, 0, + 2, 0, 0, 12, 192, 4, + 0, 68, 160, 255, 255, 0, + 0, 83, 72, 68, 82, 244, + 0, 0, 0, 64, 0, 1, + 0, 61, 0, 0, 0, 89, + 0, 0, 4, 70, 142, 32, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 95, 0, 0, + 3, 50, 16, 16, 0, 0, + 0, 0, 0, 103, 0, 0, + 4, 242, 32, 16, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 50, + 32, 16, 0, 1, 0, 0, + 0, 101, 0, 0, 3, 194, + 32, 16, 0, 1, 0, 0, + 0, 50, 0, 0, 11, 50, + 32, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 0, + 0, 0, 0, 230, 138, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 128, 32, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, + 8, 194, 32, 16, 0, 0, + 0, 0, 0, 2, 64, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 128, 63, 50, + 0, 0, 11, 50, 32, 16, + 0, 1, 0, 0, 0, 70, + 16, 16, 0, 0, 0, 0, + 0, 230, 138, 32, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 70, 128, 32, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 50, 0, 0, 11, 194, + 32, 16, 0, 1, 0, 0, + 0, 6, 20, 16, 0, 0, + 0, 0, 0, 166, 142, 32, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 6, 132, 32, + 0, 0, 0, 0, 0, 2, + 0, 0, 0, 62, 0, 0, + 1, 83, 84, 65, 84, 116, + 0, 0, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, + 68, 69, 70, 40, 1, 0, + 0, 1, 0, 0, 0, 64, + 0, 0, 0, 1, 0, 0, + 0, 28, 0, 0, 0, 0, + 4, 254, 255, 0, 1, 0, + 0, 246, 0, 0, 0, 60, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 99, 98, 48, 0, 60, + 0, 0, 0, 4, 0, 0, + 0, 88, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 184, + 0, 0, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 2, + 0, 0, 0, 196, 0, 0, + 0, 0, 0, 0, 0, 212, + 0, 0, 0, 16, 0, 0, + 0, 16, 0, 0, 0, 2, + 0, 0, 0, 196, 0, 0, + 0, 0, 0, 0, 0, 222, + 0, 0, 0, 32, 0, 0, + 0, 16, 0, 0, 0, 2, + 0, 0, 0, 196, 0, 0, + 0, 0, 0, 0, 0, 236, + 0, 0, 0, 48, 0, 0, + 0, 16, 0, 0, 0, 0, + 0, 0, 0, 196, 0, 0, + 0, 0, 0, 0, 0, 81, + 117, 97, 100, 68, 101, 115, + 99, 0, 171, 171, 171, 1, + 0, 3, 0, 1, 0, 4, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 115, + 0, 77, 97, 115, 107, 84, + 101, 120, 67, 111, 111, 114, + 100, 115, 0, 84, 101, 120, + 116, 67, 111, 108, 111, 114, + 0, 77, 105, 99, 114, 111, + 115, 111, 102, 116, 32, 40, + 82, 41, 32, 72, 76, 83, + 76, 32, 83, 104, 97, 100, + 101, 114, 32, 67, 111, 109, + 112, 105, 108, 101, 114, 32, + 57, 46, 50, 57, 46, 57, + 53, 50, 46, 51, 49, 49, + 49, 0, 171, 73, 83, 71, + 78, 44, 0, 0, 0, 1, + 0, 0, 0, 8, 0, 0, + 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 7, 3, 0, + 0, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 171, 171, + 171, 79, 83, 71, 78, 104, + 0, 0, 0, 3, 0, 0, + 0, 8, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 92, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 3, 12, 0, 0, 92, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 1, 0, 0, + 0, 12, 3, 0, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 171, 171, 171, 89, + 161, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 0, 76, 4, 0, 0, 68, + 88, 66, 67, 126, 10, 214, + 10, 153, 0, 166, 80, 219, + 54, 158, 130, 209, 70, 79, + 109, 1, 0, 0, 0, 76, + 4, 0, 0, 6, 0, 0, + 0, 56, 0, 0, 0, 204, + 0, 0, 0, 148, 1, 0, + 0, 16, 2, 0, 0, 144, + 3, 0, 0, 0, 4, 0, + 0, 65, 111, 110, 57, 140, + 0, 0, 0, 140, 0, 0, + 0, 0, 2, 255, 255, 88, + 0, 0, 0, 52, 0, 0, + 0, 1, 0, 40, 0, 0, + 0, 52, 0, 0, 0, 52, + 0, 1, 0, 36, 0, 0, + 0, 52, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 1, 2, 255, 255, 31, + 0, 0, 2, 0, 0, 0, + 128, 0, 0, 15, 176, 31, + 0, 0, 2, 0, 0, 0, + 144, 0, 8, 15, 160, 1, + 0, 0, 2, 0, 8, 15, + 128, 0, 0, 228, 160, 66, + 0, 0, 3, 0, 0, 15, + 128, 0, 0, 228, 176, 0, + 8, 228, 160, 5, 0, 0, + 3, 0, 0, 15, 128, 0, + 0, 70, 128, 0, 0, 255, + 160, 1, 0, 0, 2, 1, + 8, 15, 128, 0, 0, 228, + 128, 255, 255, 0, 0, 83, + 72, 68, 82, 192, 0, 0, + 0, 64, 0, 0, 0, 48, + 0, 0, 0, 89, 0, 0, + 4, 70, 142, 32, 0, 0, + 0, 0, 0, 4, 0, 0, + 0, 90, 0, 0, 3, 0, + 96, 16, 0, 0, 0, 0, + 0, 88, 24, 0, 4, 0, + 112, 16, 0, 0, 0, 0, + 0, 85, 85, 0, 0, 98, + 16, 0, 3, 50, 16, 16, + 0, 1, 0, 0, 0, 101, + 0, 0, 3, 242, 32, 16, + 0, 0, 0, 0, 0, 101, + 0, 0, 3, 242, 32, 16, + 0, 1, 0, 0, 0, 104, + 0, 0, 2, 1, 0, 0, + 0, 54, 0, 0, 6, 242, + 32, 16, 0, 0, 0, 0, + 0, 70, 142, 32, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 69, 0, 0, 9, 242, + 0, 16, 0, 0, 0, 0, + 0, 70, 16, 16, 0, 1, + 0, 0, 0, 70, 126, 16, + 0, 0, 0, 0, 0, 0, + 96, 16, 0, 0, 0, 0, + 0, 56, 0, 0, 8, 242, + 32, 16, 0, 1, 0, 0, + 0, 102, 4, 16, 0, 0, + 0, 0, 0, 246, 143, 32, + 0, 0, 0, 0, 0, 3, + 0, 0, 0, 62, 0, 0, + 1, 83, 84, 65, 84, 116, + 0, 0, 0, 4, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, + 68, 69, 70, 120, 1, 0, + 0, 1, 0, 0, 0, 144, + 0, 0, 0, 3, 0, 0, + 0, 28, 0, 0, 0, 0, + 4, 255, 255, 0, 1, 0, + 0, 70, 1, 0, 0, 124, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 2, + 0, 0, 0, 5, 0, 0, + 0, 4, 0, 0, 0, 255, + 255, 255, 255, 0, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 137, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 115, + 83, 97, 109, 112, 108, 101, + 114, 0, 116, 101, 120, 0, + 99, 98, 48, 0, 171, 171, + 171, 137, 0, 0, 0, 4, + 0, 0, 0, 168, 0, 0, + 0, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 8, 1, 0, 0, 0, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 20, + 1, 0, 0, 0, 0, 0, + 0, 36, 1, 0, 0, 16, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 20, + 1, 0, 0, 0, 0, 0, + 0, 46, 1, 0, 0, 32, + 0, 0, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 20, + 1, 0, 0, 0, 0, 0, + 0, 60, 1, 0, 0, 48, + 0, 0, 0, 16, 0, 0, + 0, 2, 0, 0, 0, 20, + 1, 0, 0, 0, 0, 0, + 0, 81, 117, 97, 100, 68, + 101, 115, 99, 0, 171, 171, + 171, 1, 0, 3, 0, 1, + 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 115, 0, 77, 97, 115, + 107, 84, 101, 120, 67, 111, + 111, 114, 100, 115, 0, 84, + 101, 120, 116, 67, 111, 108, + 111, 114, 0, 77, 105, 99, + 114, 111, 115, 111, 102, 116, + 32, 40, 82, 41, 32, 72, + 76, 83, 76, 32, 83, 104, + 97, 100, 101, 114, 32, 67, + 111, 109, 112, 105, 108, 101, + 114, 32, 57, 46, 50, 57, + 46, 57, 53, 50, 46, 51, + 49, 49, 49, 0, 171, 73, + 83, 71, 78, 104, 0, 0, + 0, 3, 0, 0, 0, 8, + 0, 0, 0, 80, 0, 0, + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 15, + 0, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 3, + 3, 0, 0, 92, 0, 0, + 0, 1, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 0, 1, 0, 0, 0, 12, + 0, 0, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 171, 171, 171, 79, 83, 71, + 78, 68, 0, 0, 0, 2, + 0, 0, 0, 8, 0, 0, + 0, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 0, + 0, 0, 0, 15, 0, 0, + 0, 56, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 0, 1, + 0, 0, 0, 15, 0, 0, + 0, 83, 86, 95, 84, 97, + 114, 103, 101, 116, 0, 171, + 171, 181, 165, 0, 0, 0, + 0, 0, 0, 77, 97, 115, + 107, 101, 100, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 255, 255, 255, 255, 68, 4, + 0, 0, 68, 88, 66, 67, + 26, 214, 157, 140, 185, 91, + 182, 211, 177, 171, 114, 225, + 174, 107, 56, 117, 1, 0, + 0, 0, 68, 4, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 248, 0, 0, 0, + 244, 1, 0, 0, 112, 2, + 0, 0, 160, 3, 0, 0, + 212, 3, 0, 0, 65, 111, + 110, 57, 184, 0, 0, 0, + 184, 0, 0, 0, 0, 2, + 254, 255, 132, 0, 0, 0, + 52, 0, 0, 0, 1, 0, + 36, 0, 0, 0, 48, 0, + 0, 0, 48, 0, 0, 0, + 36, 0, 1, 0, 48, 0, + 0, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, + 254, 255, 81, 0, 0, 5, + 4, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 4, 0, 0, 4, + 0, 0, 3, 224, 0, 0, + 228, 144, 2, 0, 238, 160, + 2, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 12, 224, + 0, 0, 20, 144, 3, 0, + 180, 160, 3, 0, 20, 160, + 4, 0, 0, 4, 0, 0, + 3, 128, 0, 0, 228, 144, + 1, 0, 238, 160, 1, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 3, 192, 0, 0, + 228, 128, 0, 0, 228, 160, + 1, 0, 0, 2, 0, 0, + 12, 192, 4, 0, 68, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 244, 0, 0, 0, + 64, 0, 1, 0, 61, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 194, 32, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 50, 32, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 230, 138, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 128, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 8, 194, 32, + 16, 0, 0, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 128, 63, 50, 0, 0, 11, + 50, 32, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 0, 0, 0, 0, 230, 138, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 70, 128, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 194, 32, 16, 0, + 1, 0, 0, 0, 6, 20, + 16, 0, 0, 0, 0, 0, + 166, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 132, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 83, 84, + 65, 84, 116, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 82, 68, 69, 70, + 40, 1, 0, 0, 1, 0, + 0, 0, 64, 0, 0, 0, + 1, 0, 0, 0, 28, 0, + 0, 0, 0, 4, 254, 255, + 0, 1, 0, 0, 246, 0, + 0, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 99, 98, + 48, 0, 60, 0, 0, 0, + 4, 0, 0, 0, 88, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 222, 0, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 236, 0, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 196, 0, 0, 0, 0, 0, + 0, 0, 81, 117, 97, 100, + 68, 101, 115, 99, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 77, 97, + 115, 107, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 84, 101, 120, 116, 67, 111, + 108, 111, 114, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 171, + 73, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 7, 3, 0, 0, 80, 79, + 83, 73, 84, 73, 79, 78, + 0, 171, 171, 171, 79, 83, + 71, 78, 104, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 92, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 171, 171, 68, 170, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 88, 5, + 0, 0, 68, 88, 66, 67, + 80, 96, 162, 163, 102, 118, + 55, 76, 239, 60, 125, 214, + 9, 4, 5, 138, 1, 0, + 0, 0, 88, 5, 0, 0, + 6, 0, 0, 0, 56, 0, + 0, 0, 24, 1, 0, 0, + 80, 2, 0, 0, 204, 2, + 0, 0, 156, 4, 0, 0, + 12, 5, 0, 0, 65, 111, + 110, 57, 216, 0, 0, 0, + 216, 0, 0, 0, 0, 2, + 255, 255, 160, 0, 0, 0, + 56, 0, 0, 0, 1, 0, + 44, 0, 0, 0, 56, 0, + 0, 0, 56, 0, 2, 0, + 36, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 1, 1, + 1, 0, 0, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 255, 255, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 144, 1, 8, 15, 160, + 1, 0, 0, 2, 0, 0, + 3, 128, 0, 0, 235, 176, + 66, 0, 0, 3, 1, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 66, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 1, 8, + 228, 160, 5, 0, 0, 3, + 2, 0, 15, 128, 0, 0, + 255, 128, 0, 0, 228, 160, + 1, 0, 0, 2, 0, 8, + 15, 128, 2, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 70, 128, + 0, 0, 255, 160, 5, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 255, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 1, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 48, 1, + 0, 0, 64, 0, 0, 0, + 76, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 1, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 194, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 230, 26, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 8, 242, 32, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, + 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 242, 0, 16, 0, 1, 0, + 0, 0, 102, 4, 16, 0, + 1, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 83, 84, 65, 84, 116, 0, + 0, 0, 6, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 68, + 69, 70, 200, 1, 0, 0, + 1, 0, 0, 0, 224, 0, + 0, 0, 5, 0, 0, 0, + 28, 0, 0, 0, 0, 4, + 255, 255, 0, 1, 0, 0, + 150, 1, 0, 0, 188, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 197, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 210, 0, 0, 0, + 2, 0, 0, 0, 5, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 1, 0, 0, 0, + 12, 0, 0, 0, 214, 0, + 0, 0, 2, 0, 0, 0, + 5, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 1, 0, 0, 0, 1, 0, + 0, 0, 12, 0, 0, 0, + 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 115, 83, 97, 109, + 112, 108, 101, 114, 0, 115, + 77, 97, 115, 107, 83, 97, + 109, 112, 108, 101, 114, 0, + 116, 101, 120, 0, 109, 97, + 115, 107, 0, 99, 98, 48, + 0, 171, 219, 0, 0, 0, + 4, 0, 0, 0, 248, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 88, 1, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 116, 1, 0, 0, + 16, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 126, 1, 0, 0, + 32, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 140, 1, 0, 0, + 48, 0, 0, 0, 16, 0, + 0, 0, 2, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 81, 117, 97, 100, + 68, 101, 115, 99, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 115, 0, 77, 97, + 115, 107, 84, 101, 120, 67, + 111, 111, 114, 100, 115, 0, + 84, 101, 120, 116, 67, 111, + 108, 111, 114, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 57, 46, 50, + 57, 46, 57, 53, 50, 46, + 51, 49, 49, 49, 0, 171, + 73, 83, 71, 78, 104, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 92, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 12, 12, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 68, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 56, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171, 160, 174, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 43, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 52, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 62, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 76, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, + 160, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 118, 0, 0, 0, + 90, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 131, 0, 0, 0, 90, 0, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 0, + 0, 0, 90, 0, 0, 0, + 0, 0, 0, 0, 96, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 168, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 209, 0, 0, 0, 181, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 1, + 0, 0, 239, 0, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 57, 1, 0, 0, + 29, 1, 0, 0, 0, 0, + 0, 0, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 62, 1, 0, 0, 239, 0, + 0, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 104, 1, + 0, 0, 76, 1, 0, 0, + 0, 0, 0, 0, 88, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 106, 1, 0, 0, + 76, 1, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 114, 1, 0, 0, 76, 1, + 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 163, 1, + 0, 0, 135, 1, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 167, 1, 0, 0, 135, 1, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 213, 1, 0, 0, + 185, 1, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 222, 1, + 0, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 163, 1, 0, 0, + 46, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 234, 1, 0, 0, 47, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 246, 1, + 0, 0, 0, 0, 0, 0, + 2, 2, 0, 0, 185, 1, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 4, 0, + 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 15, 2, 0, 0, + 55, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 163, 1, 0, 0, 46, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 27, 2, + 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 39, 2, 0, 0, + 0, 0, 0, 0, 51, 2, + 0, 0, 185, 1, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 45, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 66, 2, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 163, 1, + 0, 0, 46, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 78, 2, 0, 0, + 47, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 90, 2, 0, 0, 0, 0, + 0, 0, 102, 2, 0, 0, + 185, 1, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 115, 2, + 0, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 167, 1, 0, 0, + 46, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 127, 2, 0, 0, 47, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 139, 2, + 0, 0, 0, 0, 0, 0, + 151, 2, 0, 0, 185, 1, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 5, 0, + 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 166, 2, 0, 0, + 55, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 163, 1, 0, 0, 46, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 178, 2, + 0, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 190, 2, 0, 0, + 52, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 202, 2, 0, 0, 0, 0, + 0, 0, 26, 3, 0, 0, + 254, 2, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 38, 3, + 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 50, 3, 0, 0, + 0, 0, 0, 0, 101, 3, + 0, 0, 73, 3, 0, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 0, 0, + 37, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 114, 3, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 126, 3, + 0, 0, 0, 0, 0, 0, + 138, 3, 0, 0, 73, 3, + 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 8, 0, + 0, 0, 37, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 151, 3, 0, 0, + 38, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 163, 3, 0, 0, 39, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 175, 3, + 0, 0, 40, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 187, 3, 0, 0, + 41, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 199, 3, 0, 0, 42, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 211, 3, + 0, 0, 43, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 223, 3, 0, 0, + 44, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 235, 3, 0, 0, 0, 0, + 0, 0, 247, 3, 0, 0, + 73, 3, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 9, 0, 0, 0, 36, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 4, + 0, 0, 37, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 14, 4, 0, 0, + 38, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 26, 4, 0, 0, 39, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 38, 4, + 0, 0, 40, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 50, 4, 0, 0, + 41, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 62, 4, 0, 0, 42, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 74, 4, + 0, 0, 43, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 86, 4, 0, 0, + 44, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 98, 4, 0, 0, 0, 0, + 0, 0, 110, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 124, 4, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 3, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 199, 8, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 207, 8, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 179, 11, 0, 0, + 187, 11, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 208, 11, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 26, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 1, 19, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 9, 19, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 245, 28, 0, 0, 253, 28, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 26, 3, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 44, 36, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 52, 36, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 44, + 0, 0, 8, 44, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 3, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 61, 51, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 69, 51, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 53, 61, 0, 0, + 61, 61, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 26, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 112, 68, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 120, 68, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 72, 76, 0, 0, 80, 76, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 26, 3, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 135, 83, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 143, 83, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 131, 93, + 0, 0, 139, 93, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 3, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 192, 100, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 200, 100, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 156, 108, 0, 0, + 164, 108, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 124, 4, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 26, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 113, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 113, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 232, 116, 0, 0, 240, 116, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 124, 4, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 26, 3, + 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 8, 117, 0, 0, + 11, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 44, 117, 0, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 101, 3, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 128, 121, 0, 0, + 8, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 136, 121, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 128, 131, + 0, 0, 136, 131, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 26, 3, 0, 0, + 10, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 139, 131, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 175, 131, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 138, 3, 0, 0, + 6, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 3, 136, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 11, 136, + 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 199, 145, 0, 0, + 207, 145, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 26, 3, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 210, 145, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 246, 145, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 138, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 74, 150, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 82, 150, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 6, 161, 0, 0, 14, 161, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 32, 161, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 41, 161, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 77, 161, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 247, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 161, 165, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 169, 165, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 5, 170, 0, 0, 13, 170, + 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 20, 170, + 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 170, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 247, 3, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 140, 174, + 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 148, 174, 0, 0, + 7, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 252, 179, 0, 0 +}; diff --git a/gfx/2d/SourceSurfaceD2D.cpp b/gfx/2d/SourceSurfaceD2D.cpp index 9369fd307325..04bb62b260a6 100644 --- a/gfx/2d/SourceSurfaceD2D.cpp +++ b/gfx/2d/SourceSurfaceD2D.cpp @@ -10,11 +10,13 @@ namespace mozilla { namespace gfx { SourceSurfaceD2D::SourceSurfaceD2D() + : mRawData(NULL) { } SourceSurfaceD2D::~SourceSurfaceD2D() { + delete [] mRawData; } IntSize @@ -49,8 +51,15 @@ SourceSurfaceD2D::InitFromData(unsigned char *aData, if ((uint32_t)aSize.width > aRT->GetMaximumBitmapSize() || (uint32_t)aSize.height > aRT->GetMaximumBitmapSize()) { - gfxDebug() << "Bitmap does not fit in texture."; - return false; + int newStride = BytesPerPixel(aFormat) * aSize.width; + // This should only be called once! + MOZ_ASSERT(!mRawData); + mRawData = new uint8_t[aSize.height * newStride]; + for (int y = 0; y < aSize.height; y++) { + memcpy(mRawData + y * newStride, aData + y * aStride, newStride); + } + gfxDebug() << "Bitmap does not fit in texture, saving raw data."; + return true; } D2D1_BITMAP_PROPERTIES props = diff --git a/gfx/2d/SourceSurfaceD2D.h b/gfx/2d/SourceSurfaceD2D.h index 71f31bbeeb09..82fbd52ff681 100644 --- a/gfx/2d/SourceSurfaceD2D.h +++ b/gfx/2d/SourceSurfaceD2D.h @@ -39,6 +39,7 @@ private: friend class DrawTargetD2D; RefPtr mBitmap; + uint8_t *mRawData; SurfaceFormat mFormat; IntSize mSize; }; diff --git a/gfx/2d/SourceSurfaceD2DTarget.cpp b/gfx/2d/SourceSurfaceD2DTarget.cpp index f570ca5ebd46..a24091758980 100644 --- a/gfx/2d/SourceSurfaceD2DTarget.cpp +++ b/gfx/2d/SourceSurfaceD2DTarget.cpp @@ -208,7 +208,7 @@ DataSourceSurfaceD2DTarget::GetFormat() const return mFormat; } -uint8_t* +unsigned char* DataSourceSurfaceD2DTarget::GetData() { EnsureMapped(); diff --git a/gfx/2d/SourceSurfaceD2DTarget.h b/gfx/2d/SourceSurfaceD2DTarget.h index f05cbba44515..60664011a85d 100644 --- a/gfx/2d/SourceSurfaceD2DTarget.h +++ b/gfx/2d/SourceSurfaceD2DTarget.h @@ -63,7 +63,7 @@ public: virtual SurfaceType GetType() const { return SURFACE_DATA; } virtual IntSize GetSize() const; virtual SurfaceFormat GetFormat() const; - virtual uint8_t *GetData(); + virtual unsigned char *GetData(); virtual int32_t Stride(); private: diff --git a/gfx/2d/SourceSurfaceRawData.cpp b/gfx/2d/SourceSurfaceRawData.cpp deleted file mode 100644 index 7f775e5c8dfc..000000000000 --- a/gfx/2d/SourceSurfaceRawData.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "SourceSurfaceRawData.h" -#include "Logging.h" -#include "Tools.h" - -namespace mozilla { -namespace gfx { - -bool -SourceSurfaceRawData::InitWrappingData(uint8_t *aData, - const IntSize &aSize, - int32_t aStride, - SurfaceFormat aFormat, - bool aOwnData) -{ - mRawData = aData; - mSize = aSize; - mStride = aStride; - mFormat = aFormat; - mOwnData = aOwnData; - - return true; -} - -} -} diff --git a/gfx/2d/SourceSurfaceRawData.h b/gfx/2d/SourceSurfaceRawData.h deleted file mode 100644 index 4b7a33fb31d1..000000000000 --- a/gfx/2d/SourceSurfaceRawData.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef MOZILLA_GFX_SOURCESURFACERAWDATA_H_ -#define MOZILLA_GFX_SOURCESURFACERAWDATA_H_ - -#include "2D.h" - -namespace mozilla { -namespace gfx { - -class SourceSurfaceRawData : public DataSourceSurface -{ -public: - SourceSurfaceRawData() {} - ~SourceSurfaceRawData() { if(mOwnData) delete [] mRawData; } - - virtual uint8_t *GetData() { return mRawData; } - virtual int32_t Stride() { return mStride; } - - virtual SurfaceType GetType() const { return SURFACE_DATA; } - virtual IntSize GetSize() const { return mSize; } - virtual SurfaceFormat GetFormat() const { return mFormat; } - - bool InitWrappingData(unsigned char *aData, - const IntSize &aSize, - int32_t aStride, - SurfaceFormat aFormat, - bool aOwnData); - -private: - uint8_t *mRawData; - int32_t mStride; - SurfaceFormat mFormat; - IntSize mSize; - bool mOwnData; -}; - -} -} - -#endif /* MOZILLA_GFX_SOURCESURFACERAWDATA_H_ */ diff --git a/gfx/2d/Tools.h b/gfx/2d/Tools.h index 1b79ad58e1a2..128a3bcfcd98 100644 --- a/gfx/2d/Tools.h +++ b/gfx/2d/Tools.h @@ -52,19 +52,6 @@ Distance(Point aA, Point aB) return hypotf(aB.x - aA.x, aB.y - aA.y); } -static inline int -BytesPerPixel(SurfaceFormat aFormat) -{ - switch (aFormat) { - case FORMAT_A8: - return 1; - case FORMAT_R5G6B5: - return 2; - default: - return 4; - } -} - } } diff --git a/gfx/2d/gfx2d.vcxproj b/gfx/2d/gfx2d.vcxproj index 1e4abe99aa4c..0dbdadeed42e 100644 --- a/gfx/2d/gfx2d.vcxproj +++ b/gfx/2d/gfx2d.vcxproj @@ -1,121 +1,119 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - Win32Proj - - - - StaticLibrary - true - - - StaticLibrary - false - - - - - - - - - - - - - true - $(DXSDK_DIR)\Utilities\bin\x86;$(ExecutablePath) - - - true - - - - USE_SSE2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);GFX_LOG_DEBUG;GFX_LOG_WARNING;MFBT_STAND_ALONE;XP_WIN - MultiThreadedDebugDLL - Level3 - ProgramDatabase - Disabled - - - MachineX86 - true - Windows - - - - - - - USE_SSE2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreadedDLL - Level3 - ProgramDatabase - - - MachineX86 - true - Windows - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Document - fxc /Tfx_4_0 /FhShadersD2D.h ShadersD2D.fx /Vn d2deffect - ShadersD2D.h - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + + Win32Proj + + + + StaticLibrary + true + + + StaticLibrary + false + + + + + + + + + + + + + true + $(DXSDK_DIR)\Utilities\bin\x86;$(ExecutablePath) + + + true + + + + USE_SSE2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);GFX_LOG_DEBUG;GFX_LOG_WARNING;MFBT_STAND_ALONE;XP_WIN + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + + + MachineX86 + true + Windows + + + + + + + USE_SSE2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + ProgramDatabase + + + MachineX86 + true + Windows + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document + fxc /Tfx_4_0 /FhShadersD2D.h ShadersD2D.fx /Vn d2deffect + ShadersD2D.h + + + + + \ No newline at end of file diff --git a/gfx/thebes/gfxContext.cpp b/gfx/thebes/gfxContext.cpp index 61a06ec7b8e8..61a79705c8fe 100644 --- a/gfx/thebes/gfxContext.cpp +++ b/gfx/thebes/gfxContext.cpp @@ -532,7 +532,6 @@ gfxContext::DrawSurface(gfxASurface *surface, const gfxSize& size) cairo_fill(mCairo); cairo_restore(mCairo); } else { - // Lifetime needs to be limited here since we may wrap surface's data. RefPtr surf = gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(mDT, surface); @@ -1294,7 +1293,6 @@ gfxContext::SetColor(const gfxRGBA& c) cairo_set_source_rgba(mCairo, c.r, c.g, c.b, c.a); } else { CurrentState().pattern = NULL; - CurrentState().sourceSurfCairo = NULL; CurrentState().sourceSurface = NULL; if (gfxPlatform::GetCMSMode() == eCMSMode_All) { @@ -1318,7 +1316,6 @@ gfxContext::SetDeviceColor(const gfxRGBA& c) cairo_set_source_rgba(mCairo, c.r, c.g, c.b, c.a); } else { CurrentState().pattern = NULL; - CurrentState().sourceSurfCairo = NULL; CurrentState().sourceSurface = NULL; CurrentState().color = ToColor(c); } @@ -1357,9 +1354,6 @@ gfxContext::SetSource(gfxASurface *surface, const gfxPoint& offset) CurrentState().surfTransform = Matrix(1.0f, 0, 0, 1.0f, Float(offset.x), Float(offset.y)); CurrentState().pattern = NULL; CurrentState().patternTransformChanged = false; - // Keep the underlying cairo surface around while we keep the - // sourceSurface. - CurrentState().sourceSurfCairo = surface; CurrentState().sourceSurface = gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(mDT, surface); } @@ -1371,7 +1365,6 @@ gfxContext::SetPattern(gfxPattern *pattern) if (mCairo) { cairo_set_source(mCairo, pattern->CairoPattern()); } else { - CurrentState().sourceSurfCairo = NULL; CurrentState().sourceSurface = NULL; CurrentState().patternTransformChanged = false; CurrentState().pattern = pattern; @@ -1428,7 +1421,6 @@ gfxContext::Mask(gfxASurface *surface, const gfxPoint& offset) if (mCairo) { cairo_mask_surface(mCairo, surface->CairoSurface(), offset.x, offset.y); } else { - // Lifetime needs to be limited here as we may simply wrap surface's data. RefPtr sourceSurf = gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(mDT, surface); @@ -1590,7 +1582,6 @@ gfxContext::PopGroupToSource() } else { RefPtr src = mDT->Snapshot(); Restore(); - CurrentState().sourceSurfCairo = NULL; CurrentState().sourceSurface = src; CurrentState().pattern = NULL; CurrentState().patternTransformChanged = false; diff --git a/gfx/thebes/gfxContext.h b/gfx/thebes/gfxContext.h index daddbe02be2b..a580d8841f06 100644 --- a/gfx/thebes/gfxContext.h +++ b/gfx/thebes/gfxContext.h @@ -713,7 +713,6 @@ private: bool opIsClear; Color color; nsRefPtr pattern; - nsRefPtr sourceSurfCairo; mozilla::RefPtr sourceSurface; Matrix surfTransform; Matrix transform; diff --git a/gfx/thebes/gfxPattern.cpp b/gfx/thebes/gfxPattern.cpp index 1c2e50e8c9c6..e62238645e61 100644 --- a/gfx/thebes/gfxPattern.cpp +++ b/gfx/thebes/gfxPattern.cpp @@ -151,8 +151,6 @@ gfxPattern::GetPattern(DrawTarget *aTarget, Matrix *aPatternTransform) if (!mSourceSurface) { nsRefPtr gfxSurf = gfxASurface::Wrap(surf); - // The underlying surface here will be kept around by the gfxPattern. - // This function is intended to be used right away. mSourceSurface = gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(aTarget, gfxSurf); } diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp index 9797df3aefd0..76d13d59652f 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ @@ -472,12 +472,6 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa if (!srcBuffer) { nsRefPtr imgSurface = aSurface->GetAsImageSurface(); - bool isWin32ImageSurf = false; - - if (imgSurface && aSurface->GetType() != gfxASurface::SurfaceTypeWin32) { - isWin32ImageSurf = true; - } - if (!imgSurface) { imgSurface = new gfxImageSurface(aSurface->GetSize(), gfxASurface::FormatFromContent(aSurface->GetContentType())); nsRefPtr ctx = new gfxContext(imgSurface); @@ -504,36 +498,17 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa NS_RUNTIMEABORT("Invalid surface format!"); } - IntSize size = IntSize(imgSurface->GetSize().width, imgSurface->GetSize().height); srcBuffer = aTarget->CreateSourceSurfaceFromData(imgSurface->Data(), - size, + IntSize(imgSurface->GetSize().width, imgSurface->GetSize().height), imgSurface->Stride(), format); - if (!srcBuffer) { - // We need to check if our gfxASurface will keep the underlying data - // alive! This is true if gfxASurface actually -is- an ImageSurface or - // if it is a gfxWindowsSurface which supportes GetAsImageSurface. - if (imgSurface != aSurface && !isWin32ImageSurf) { - // This shouldn't happen for now, it can be easily supported by making - // a copy. For now let's just abort. - NS_RUNTIMEABORT("Attempt to create unsupported SourceSurface from" - "non-image surface."); - return nsnull; - } - - srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(), - imgSurface->Stride(), - size, format); - - } - cairo_surface_t *nullSurf = cairo_null_surface_create(CAIRO_CONTENT_COLOR_ALPHA); cairo_surface_set_user_data(nullSurf, - &kSourceSurface, - imgSurface, - NULL); + &kSourceSurface, + imgSurface, + NULL); cairo_surface_attach_snapshot(imgSurface->CairoSurface(), nullSurf, SourceSnapshotDetached); cairo_surface_destroy(nullSurf); } diff --git a/gfx/thebes/gfxPlatform.h b/gfx/thebes/gfxPlatform.h index 9a52289f9c45..714a40fa68f1 100644 --- a/gfx/thebes/gfxPlatform.h +++ b/gfx/thebes/gfxPlatform.h @@ -163,11 +163,6 @@ public: virtual mozilla::RefPtr CreateDrawTargetForSurface(gfxASurface *aSurface); - /* - * Creates a SourceSurface for a gfxASurface. This surface should -not- be - * held around by the user after the underlying gfxASurface has been - * destroyed as a copy of the data is not guaranteed. - */ virtual mozilla::RefPtr GetSourceSurfaceForSurface(mozilla::gfx::DrawTarget *aTarget, gfxASurface *aSurface); diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index ab09e508e450..1d089da2e2cb 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -211,7 +211,6 @@ pref("gfx.font_rendering.directwrite.use_gdi_table_loading", true); #ifdef XP_WIN pref("gfx.canvas.azure.enabled", true); -pref("gfx.content.azure.enabled", true); #else #ifdef XP_MACOSX pref("gfx.canvas.azure.enabled", true); From 273380866f0efd0a643683233add87721617cfe8 Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Mon, 21 May 2012 19:36:43 +0100 Subject: [PATCH 24/78] Backout 027ed1748c81 (bug 740485) for M3 orange --- b2g/installer/package-manifest.in | 1 - browser/installer/package-manifest.in | 1 - browser/installer/removed-files.in | 1 - content/base/public/nsDOMFile.h | 13 +- dom/Makefile.in | 2 - dom/base/DOMRequest.h | 10 +- dom/base/Navigator.cpp | 22 - dom/base/Navigator.h | 3 - dom/base/nsDOMClassInfo.cpp | 22 - dom/base/nsDOMClassInfoClasses.h | 3 - dom/devicestorage/Makefile.in | 40 - dom/devicestorage/nsDeviceStorage.cpp | 1153 ----------------- dom/devicestorage/nsDeviceStorage.h | 58 - dom/interfaces/devicestorage/Makefile.in | 26 - .../devicestorage/nsIDOMDeviceStorage.idl | 35 - .../nsIDOMDeviceStorageCursor.idl | 11 - .../nsIDOMNavigatorDeviceStorage.idl | 17 - dom/tests/mochitest/Makefile.in | 1 - dom/tests/mochitest/devicestorage/Makefile.in | 27 - .../devicestorage/devicestorage_common.js | 48 - .../mochitest/devicestorage/test_basic.html | 102 -- .../mochitest/devicestorage/test_dotdot.html | 72 - .../devicestorage/test_enumerate.html | 101 -- .../test_enumerateMultipleContinue.html | 50 - .../devicestorage/test_enumerateNoParam.html | 95 -- .../devicestorage/test_overwrite.html | 90 -- .../mochitest/devicestorage/test_sanity.html | 72 - layout/build/Makefile.in | 3 +- mobile/xul/installer/package-manifest.in | 1 - modules/libpref/src/init/all.js | 3 - toolkit/toolkit-makefiles.sh | 1 - 31 files changed, 7 insertions(+), 2077 deletions(-) delete mode 100644 dom/devicestorage/Makefile.in delete mode 100644 dom/devicestorage/nsDeviceStorage.cpp delete mode 100644 dom/devicestorage/nsDeviceStorage.h delete mode 100644 dom/interfaces/devicestorage/Makefile.in delete mode 100644 dom/interfaces/devicestorage/nsIDOMDeviceStorage.idl delete mode 100644 dom/interfaces/devicestorage/nsIDOMDeviceStorageCursor.idl delete mode 100644 dom/interfaces/devicestorage/nsIDOMNavigatorDeviceStorage.idl delete mode 100644 dom/tests/mochitest/devicestorage/Makefile.in delete mode 100644 dom/tests/mochitest/devicestorage/devicestorage_common.js delete mode 100644 dom/tests/mochitest/devicestorage/test_basic.html delete mode 100644 dom/tests/mochitest/devicestorage/test_dotdot.html delete mode 100644 dom/tests/mochitest/devicestorage/test_enumerate.html delete mode 100644 dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html delete mode 100644 dom/tests/mochitest/devicestorage/test_enumerateNoParam.html delete mode 100644 dom/tests/mochitest/devicestorage/test_overwrite.html delete mode 100644 dom/tests/mochitest/devicestorage/test_sanity.html diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in index a1d85e0f6cbf..d020fb68f8df 100644 --- a/b2g/installer/package-manifest.in +++ b/b2g/installer/package-manifest.in @@ -164,7 +164,6 @@ @BINPATH@/components/dom_contacts.xpt @BINPATH@/components/dom_core.xpt @BINPATH@/components/dom_css.xpt -@BINPATH@/components/dom_devicestorage.xpt @BINPATH@/components/dom_events.xpt @BINPATH@/components/dom_geolocation.xpt @BINPATH@/components/dom_network.xpt diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 91c0442057c6..2747a3d70444 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -168,7 +168,6 @@ @BINPATH@/components/dom_contacts.xpt @BINPATH@/components/dom_core.xpt @BINPATH@/components/dom_css.xpt -@BINPATH@/components/dom_devicestorage.xpt @BINPATH@/components/dom_events.xpt @BINPATH@/components/dom_geolocation.xpt @BINPATH@/components/dom_network.xpt diff --git a/browser/installer/removed-files.in b/browser/installer/removed-files.in index 02480c2cbbf9..fac098a8b82f 100644 --- a/browser/installer/removed-files.in +++ b/browser/installer/removed-files.in @@ -1179,7 +1179,6 @@ xpicleanup@BIN_SUFFIX@ components/dom_css.xpt components/dom_events.xpt components/dom_geolocation.xpt - components/dom_devicestorage.xpt components/dom_html.xpt components/dom_json.xpt components/dom_loadsave.xpt diff --git a/content/base/public/nsDOMFile.h b/content/base/public/nsDOMFile.h index f23c75b7b47d..cfa129c9bf1c 100644 --- a/content/base/public/nsDOMFile.h +++ b/content/base/public/nsDOMFile.h @@ -132,7 +132,7 @@ public: // Create as a blob nsDOMFileFile(nsIFile *aFile, const nsAString& aContentType, - nsISupports *aCacheToken) + nsISupports *aCacheToken = nsnull) : nsDOMFileBase(aContentType, UINT64_MAX), mFile(aFile), mWholeFile(true), mStoredFile(false), mCacheToken(aCacheToken) @@ -140,17 +140,6 @@ public: NS_ASSERTION(mFile, "must have file"); } - // Create as a file with custom name - nsDOMFileFile(nsIFile *aFile, const nsAString& aName) - : nsDOMFileBase(EmptyString(), EmptyString(), UINT64_MAX), - mFile(aFile), mWholeFile(true), mStoredFile(false) - { - NS_ASSERTION(mFile, "must have file"); - // Lazily get the content type and size - mContentType.SetIsVoid(true); - mName.Assign(aName); - } - // Create as a stored file nsDOMFileFile(const nsAString& aName, const nsAString& aContentType, PRUint64 aLength, nsIFile* aFile, diff --git a/dom/Makefile.in b/dom/Makefile.in index 13c87a5b2733..59f99ebae7e4 100644 --- a/dom/Makefile.in +++ b/dom/Makefile.in @@ -16,7 +16,6 @@ DIRS = \ interfaces/base \ interfaces/canvas \ interfaces/core \ - interfaces/devicestorage \ interfaces/html \ interfaces/events \ interfaces/contacts \ @@ -49,7 +48,6 @@ DIRS += \ bindings \ battery \ contacts \ - devicestorage \ power \ settings \ sms \ diff --git a/dom/base/DOMRequest.h b/dom/base/DOMRequest.h index bc5df35b4454..17e1be8cbba5 100644 --- a/dom/base/DOMRequest.h +++ b/dom/base/DOMRequest.h @@ -20,6 +20,11 @@ namespace dom { class DOMRequest : public nsDOMEventTargetHelper, public nsIDOMDOMRequest { + bool mDone; + jsval mResult; + nsCOMPtr mError; + bool mRooted; + NS_DECL_EVENT_HANDLER(success) NS_DECL_EVENT_HANDLER(error) @@ -41,11 +46,6 @@ public: UnrootResultVal(); } - bool mDone; - jsval mResult; - nsCOMPtr mError; - bool mRooted; - private: void FireEvent(const nsAString& aType); diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index 22278c0d868b..86d133316892 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -13,7 +13,6 @@ #include "nsMimeTypeArray.h" #include "nsDesktopNotification.h" #include "nsGeolocation.h" -#include "nsDeviceStorage.h" #include "nsIHttpProtocolHandler.h" #include "nsICachingChannel.h" #include "nsIDocShell.h" @@ -90,7 +89,6 @@ NS_INTERFACE_MAP_BEGIN(Navigator) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMNavigator) NS_INTERFACE_MAP_ENTRY(nsIDOMNavigator) NS_INTERFACE_MAP_ENTRY(nsIDOMClientInformation) - NS_INTERFACE_MAP_ENTRY(nsIDOMNavigatorDeviceStorage) NS_INTERFACE_MAP_ENTRY(nsIDOMNavigatorGeolocation) NS_INTERFACE_MAP_ENTRY(nsIDOMMozNavigatorBattery) NS_INTERFACE_MAP_ENTRY(nsIDOMNavigatorDesktopNotification) @@ -841,26 +839,6 @@ Navigator::MozIsLocallyAvailable(const nsAString &aURI, return httpChannel->GetRequestSucceeded(aIsAvailable); } -//***************************************************************************** -// Navigator::nsIDOMNavigatorDeviceStorage -//***************************************************************************** - -NS_IMETHODIMP Navigator::GetDeviceStorage(const nsAString &aType, nsIVariant** _retval) -{ - if (!Preferences::GetBool("device.storage.enabled", false)) { - return NS_OK; - } - - nsCOMPtr win(do_QueryReferent(mWindow)); - - if (!win || !win->GetOuterWindow() || !win->GetDocShell()) { - return NS_ERROR_FAILURE; - } - - nsDOMDeviceStorage::CreateDeviceStoragesFor(win, aType, _retval); - return NS_OK; -} - //***************************************************************************** // Navigator::nsIDOMNavigatorGeolocation //***************************************************************************** diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h index 794f26b63f01..b56f98841ff1 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h @@ -9,7 +9,6 @@ #include "nsIDOMNavigator.h" #include "nsIDOMNavigatorGeolocation.h" -#include "nsIDOMNavigatorDeviceStorage.h" #include "nsIDOMNavigatorDesktopNotification.h" #include "nsIDOMClientInformation.h" #include "nsIDOMNavigatorBattery.h" @@ -61,7 +60,6 @@ class PowerManager; class Navigator : public nsIDOMNavigator , public nsIDOMClientInformation - , public nsIDOMNavigatorDeviceStorage , public nsIDOMNavigatorGeolocation , public nsIDOMNavigatorDesktopNotification , public nsIDOMMozNavigatorBattery @@ -81,7 +79,6 @@ public: NS_DECL_ISUPPORTS NS_DECL_NSIDOMNAVIGATOR NS_DECL_NSIDOMCLIENTINFORMATION - NS_DECL_NSIDOMNAVIGATORDEVICESTORAGE NS_DECL_NSIDOMNAVIGATORGEOLOCATION NS_DECL_NSIDOMNAVIGATORDESKTOPNOTIFICATION NS_DECL_NSIDOMMOZNAVIGATORBATTERY diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 4e49985c7662..72663f3ab5af 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -414,10 +414,6 @@ // Storage includes #include "nsDOMStorage.h" -// Device Storage -#include "nsIDOMDeviceStorage.h" -#include "nsIDOMDeviceStorageCursor.h" - // Drag and drop #include "nsIDOMDataTransfer.h" @@ -438,7 +434,6 @@ #include "nsIDOMDesktopNotification.h" #include "nsIDOMNavigatorDesktopNotification.h" -#include "nsIDOMNavigatorDeviceStorage.h" #include "nsIDOMNavigatorGeolocation.h" #include "Navigator.h" @@ -1399,12 +1394,6 @@ static nsDOMClassInfoData sClassInfoData[] = { NS_DEFINE_CLASSINFO_DATA(MessageEvent, nsDOMGenericSH, DOM_DEFAULT_SCRIPTABLE_FLAGS) - NS_DEFINE_CLASSINFO_DATA(DeviceStorage, nsDOMGenericSH, - DOM_DEFAULT_SCRIPTABLE_FLAGS) - - NS_DEFINE_CLASSINFO_DATA(DeviceStorageCursor, nsDOMGenericSH, - DOM_DEFAULT_SCRIPTABLE_FLAGS) - NS_DEFINE_CLASSINFO_DATA(GeoGeolocation, nsDOMGenericSH, DOM_DEFAULT_SCRIPTABLE_FLAGS) @@ -2442,7 +2431,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_BEGIN(Navigator, nsIDOMNavigator) DOM_CLASSINFO_MAP_ENTRY(nsIDOMNavigator) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMNavigatorDeviceStorage) DOM_CLASSINFO_MAP_ENTRY(nsIDOMNavigatorGeolocation) DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsIDOMNavigatorDesktopNotification, Navigator::HasDesktopNotificationSupport()) @@ -4046,16 +4034,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_EVENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(DeviceStorage, nsIDOMDeviceStorage) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMDeviceStorage) - DOM_CLASSINFO_MAP_END - - DOM_CLASSINFO_MAP_BEGIN(DeviceStorageCursor, nsIDOMDeviceStorageCursor) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMDeviceStorageCursor) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMRequest) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) - DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(GeoGeolocation, nsIDOMGeoGeolocation) DOM_CLASSINFO_MAP_ENTRY(nsIDOMGeoGeolocation) DOM_CLASSINFO_MAP_END diff --git a/dom/base/nsDOMClassInfoClasses.h b/dom/base/nsDOMClassInfoClasses.h index 89c6ad468f04..8a6002685a33 100644 --- a/dom/base/nsDOMClassInfoClasses.h +++ b/dom/base/nsDOMClassInfoClasses.h @@ -387,9 +387,6 @@ DOMCI_CLASS(DataContainerEvent) // HTML5 DOMCI_CLASS(MessageEvent) -DOMCI_CLASS(DeviceStorage) -DOMCI_CLASS(DeviceStorageCursor) - // Geolocation DOMCI_CLASS(GeoGeolocation) DOMCI_CLASS(GeoPosition) diff --git a/dom/devicestorage/Makefile.in b/dom/devicestorage/Makefile.in deleted file mode 100644 index be8b0f586607..000000000000 --- a/dom/devicestorage/Makefile.in +++ /dev/null @@ -1,40 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. - -DEPTH = ../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = dom -LIBRARY_NAME = domdevicestorage_s -XPIDL_MODULE = dom_devicestorage -LIBXUL_LIBRARY = 1 -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/dom/dom-config.mk - -CPPSRCS = \ - nsDeviceStorage.cpp \ - $(NULL) - -EXPORTS = \ - nsDeviceStorage.h \ - $(NULL) - -LOCAL_INCLUDES = \ - -I$(topsrcdir)/dom/base \ - -I$(topsrcdir)/dom/ipc \ - -I$(topsrcdir)/content/base/src \ - -I$(topsrcdir)/content/events/src \ - $(NULL) - -include $(topsrcdir)/config/config.mk -include $(topsrcdir)/ipc/chromium/chromium-config.mk -include $(topsrcdir)/config/rules.mk - -DEFINES += -D_IMPL_NS_LAYOUT - diff --git a/dom/devicestorage/nsDeviceStorage.cpp b/dom/devicestorage/nsDeviceStorage.cpp deleted file mode 100644 index 425d01346b4a..000000000000 --- a/dom/devicestorage/nsDeviceStorage.cpp +++ /dev/null @@ -1,1153 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsDeviceStorage.h" -#include "DOMRequest.h" -#include "nsServiceManagerUtils.h" -#include "nsILocalFile.h" -#include "nsIDirectoryEnumerator.h" -#include "nsAppDirectoryServiceDefs.h" -#include "nsIDOMFile.h" -#include "nsDOMBlobBuilder.h" -#include "nsNetUtil.h" -#include "nsCycleCollectionParticipant.h" -#include "nsIContentPermissionPrompt.h" -#include "nsIPrincipal.h" -#include "mozilla/Preferences.h" -#include "nsJSUtils.h" - -using namespace mozilla::dom; - -#include "nsDirectoryServiceDefs.h" - -class DeviceStorageFile : public nsISupports { -public: - DeviceStorageFile(nsIFile* aFile, const nsAString& aPath) - : mFile(aFile) - , mPath(aPath) - { - NS_ASSERTION(aFile, "Must not create a DeviceStorageFile with a null nsIFile"); - } - DeviceStorageFile(nsIFile* aFile) - : mFile(aFile) - { - NS_ASSERTION(aFile, "Must not create a DeviceStorageFile with a null nsIFile"); - } - nsCOMPtr mFile; - nsString mPath; - - NS_DECL_ISUPPORTS -}; - -NS_IMPL_THREADSAFE_ISUPPORTS0(DeviceStorageFile) - -// we want to make sure that the names of file can't reach -// outside of the type of storage the user asked for. -bool -isSafePath(const nsAString& aPath) -{ - nsAString::const_iterator start, end; - aPath.BeginReading(start); - aPath.EndReading(end); - - // if the path has a ~ or \ in it, return false. - NS_NAMED_LITERAL_STRING(tilde, "~"); - NS_NAMED_LITERAL_STRING(bslash, "\\"); - if (FindInReadable(tilde, start, end) || - FindInReadable(bslash, start, end)) { - return false; - } - - // split on /. if any token is "", ., or .., return false. - NS_ConvertUTF16toUTF8 cname(aPath); - char* buffer = cname.BeginWriting(); - const char* token; - - while ((token = nsCRT::strtok(buffer, "/", &buffer))) { - if (PL_strcmp(token, "") == 0 || - PL_strcmp(token, ".") == 0 || - PL_strcmp(token, "..") == 0 ) { - return false; - } - } - return true; -} - -// TODO - eventually, we will want to factor this method -// out into different system specific subclasses (or -// something) -PRInt32 -nsDOMDeviceStorage::SetRootFileForType(const nsAString& aType, const PRInt32 aIndex) -{ - PRInt32 typeResult = DEVICE_STORAGE_TYPE_DEFAULT; - - nsCOMPtr f; - nsCOMPtr dirService = do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID); - NS_ASSERTION(dirService, "Must have directory service"); - - // Picture directory - if (aType.Equals(NS_LITERAL_STRING("pictures"))) { -#ifdef MOZ_WIDGET_GONK - if (aIndex == 0) { - NS_NewLocalFile(NS_LITERAL_STRING("/data/pictures"), false, getter_AddRefs(f)); - } - else if (aIndex == 1) { - NS_NewLocalFile(NS_LITERAL_STRING("/sdcard/DCIM"), false, getter_AddRefs(f)); - typeResult = DEVICE_STORAGE_TYPE_EXTERNAL; - } -#elif defined (MOZ_WIDGET_COCOA) - if (aIndex == 0) { - dirService->Get(NS_OSX_PICTURE_DOCUMENTS_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(f)); - } -#elif defined (XP_UNIX) - if (aIndex == 0) { - dirService->Get(NS_UNIX_XDG_PICTURES_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(f)); - } -#endif - } - - // in testing, we have access to a few more directory locations - if (mozilla::Preferences::GetBool("device.storage.testing", false)) { - - // Temp directory - if (aType.Equals(NS_LITERAL_STRING("temp")) && aIndex == 0) { - dirService->Get(NS_OS_TEMP_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(f)); - } - - // Profile directory - else if (aType.Equals(NS_LITERAL_STRING("profile")) && aIndex == 0) { - dirService->Get(NS_APP_USER_PROFILE_50_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(f)); - } - } - - mFile = f; - return typeResult; -} - -static jsval nsIFileToJsval(nsPIDOMWindow* aWindow, DeviceStorageFile* aFile, bool aEditable) -{ - NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); - NS_ASSERTION(aWindow, "Null Window"); - - if (aEditable) { - // TODO - needs janv's file handle support. - return JSVAL_NULL; - } - - if (aFile == nsnull) { - return JSVAL_NULL; - } - - nsCOMPtr blob = new nsDOMFileFile(aFile->mFile, aFile->mPath); - - nsCOMPtr sgo = do_QueryInterface(aWindow); - if (!sgo) { - return JSVAL_NULL; - } - - nsIScriptContext *scriptContext = sgo->GetScriptContext(); - if (!scriptContext) { - return JSVAL_NULL; - } - - JSContext *cx = scriptContext->GetNativeContext(); - if (!cx) { - return JSVAL_NULL; - } - - jsval wrappedFile; - nsresult rv = nsContentUtils::WrapNative(cx, - JS_GetGlobalObject(cx), - blob, - &NS_GET_IID(nsIDOMFile), - &wrappedFile); - if (NS_FAILED(rv)) { - return JSVAL_NULL; - } - - return wrappedFile; -} - - -static jsval StringToJsval(nsPIDOMWindow* aWindow, nsAString& aString) -{ - NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); - NS_ASSERTION(aWindow, "Null Window"); - - nsCOMPtr sgo = do_QueryInterface(aWindow); - if (!sgo) { - return JSVAL_NULL; - } - - nsIScriptContext *scriptContext = sgo->GetScriptContext(); - if (!scriptContext) { - return JSVAL_NULL; - } - - JSContext *cx = scriptContext->GetNativeContext(); - if (!cx) { - return JSVAL_NULL; - } - - JSAutoRequest ar(cx); - - jsval result = JSVAL_NULL; - if (!xpc::StringToJsval(cx, aString, &result)) { - return JSVAL_NULL; - } - - return result; -} - - -class nsDOMDeviceStorageCursor - : public nsIDOMDeviceStorageCursor - , public DOMRequest - , public nsIContentPermissionRequest -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSICONTENTPERMISSIONREQUEST - NS_DECL_NSIDOMDEVICESTORAGECURSOR - - nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow, - nsIURI* aURI, - DeviceStorageFile* aFile, - bool aEditable); - -private: - ~nsDOMDeviceStorageCursor(); - -protected: - nsTArray > mFiles; - - bool mOkToCallContinue; - nsRefPtr mFile; - bool mAllowed; - nsCOMPtr mURI; - bool mEditable; - - // to access mFiles - friend class InitCursorEvent; - friend class ContinueCursorEvent; -}; - -#define POST_ERROR_EVENT_FILE_DOES_NOT_EXIST "File location doesn't exists" -#define POST_ERROR_EVENT_FILE_NOT_ENUMERABLE "File location is not enumerable" -#define POST_ERROR_EVENT_PERMISSION_DENIED "Permission Denied" -#define POST_ERROR_EVENT_ILLEGAL_FILE_NAME "Illegal file name" -#define POST_ERROR_EVENT_UNKNOWN "Unknown" -#define POST_ERROR_EVENT_NON_STRING_TYPE_UNSUPPORTED "Non-string type unsupported" - -class PostErrorEvent : public nsRunnable -{ -public: - PostErrorEvent(nsRefPtr& aRequest, const char* aMessage, DeviceStorageFile* aFile) - { - mRequest.swap(aRequest); - BuildErrorString(aMessage, aFile); - } - - PostErrorEvent(DOMRequest* aRequest, const char* aMessage, DeviceStorageFile* aFile) - : mRequest(aRequest) - { - BuildErrorString(aMessage, aFile); - } - - ~PostErrorEvent() {} - - void BuildErrorString(const char* aMessage, DeviceStorageFile* aFile) - { - nsAutoString fullPath; - - if (aFile && aFile->mFile) { - aFile->mFile->GetPath(fullPath); - } - else { - fullPath.Assign(NS_LITERAL_STRING("null file")); - } - - mError = NS_ConvertASCIItoUTF16(aMessage); - mError.Append(NS_LITERAL_STRING(" file path = ")); - mError.Append(fullPath.get()); - mError.Append(NS_LITERAL_STRING(" path = ")); - - if (aFile) { - mError.Append(aFile->mPath); - } - else { - mError.Append(NS_LITERAL_STRING("null path")); - } - } - - NS_IMETHOD Run() { - NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); - - mRequest->FireError(mError); - mRequest = nsnull; - return NS_OK; - } - -private: - nsRefPtr mRequest; - nsString mError; -}; - -class ContinueCursorEvent : public nsRunnable -{ -public: - - ContinueCursorEvent(nsRefPtr& aRequest) - { - mRequest.swap(aRequest); - } - - ContinueCursorEvent(DOMRequest* aRequest) - : mRequest(aRequest) - { - } - - ~ContinueCursorEvent() {} - - NS_IMETHOD Run() { - NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); - - jsval val; - - nsDOMDeviceStorageCursor* cursor = static_cast(mRequest.get()); - if (cursor->mFiles.Length() == 0) { - val = JSVAL_NULL; - } - else { - nsRefPtr file = cursor->mFiles[0]; - cursor->mFiles.RemoveElementAt(0); - val = nsIFileToJsval(cursor->GetOwner(), file, cursor->mEditable); - cursor->mOkToCallContinue = true; - } - - mRequest->FireSuccess(val); - mRequest = nsnull; - return NS_OK; - } - -private: - nsRefPtr mRequest; -}; - - -class InitCursorEvent : public nsRunnable -{ -public: - InitCursorEvent(DOMRequest* aRequest, DeviceStorageFile* aFile) - : mFile(aFile) - , mRequest(aRequest) - { - } - - ~InitCursorEvent() {} - - NS_IMETHOD Run() { - NS_ASSERTION(!NS_IsMainThread(), "Wrong thread!"); - - bool check; - mFile->mFile->IsDirectory(&check); - if (!check) { - nsCOMPtr event = new PostErrorEvent(mRequest, - POST_ERROR_EVENT_FILE_NOT_ENUMERABLE, - mFile); - NS_DispatchToMainThread(event); - return NS_OK; - } - - nsString fullpath; - mFile->mFile->GetPath(fullpath); - collectFiles(fullpath, mFile); - - nsCOMPtr event = new ContinueCursorEvent(mRequest); - NS_DispatchToMainThread(event); - - return NS_OK; - } - - void collectFiles(const nsString& aInitialFullPath, DeviceStorageFile* aFile) - { - // TODO - we may want to do this incrementally. - if (!aFile) - return; - - nsCOMPtr e; - aFile->mFile->GetDirectoryEntries(getter_AddRefs(e)); - - nsCOMPtr files = do_QueryInterface(e); - nsCOMPtr f; - - while (NS_SUCCEEDED(files->GetNextFile(getter_AddRefs(f))) && f) { - bool isDir; - f->IsDirectory(&isDir); - - bool isFile; - f->IsFile(&isFile); - - nsString fullpath; - f->GetPath(fullpath); - - nsAString::size_type len = aInitialFullPath.Length() + 1; // +1 for the trailing / - nsDependentSubstring newPath = Substring(fullpath, len); - - if (!StringBeginsWith(fullpath, aInitialFullPath)) { - NS_WARNING("collectFiles returned a path that does not belong!"); - continue; - } - - nsRefPtr dsf = new DeviceStorageFile(f, newPath); - if (isDir) { - collectFiles(aInitialFullPath, dsf); - } - else if (isFile) { - nsDOMDeviceStorageCursor* cursor = static_cast(mRequest.get()); - cursor->mFiles.AppendElement(dsf); - } - } - } - -private: - nsRefPtr mFile; - nsRefPtr mRequest; -}; - -DOMCI_DATA(DeviceStorageCursor, nsDOMDeviceStorageCursor) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsDOMDeviceStorageCursor) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMDeviceStorageCursor) - NS_INTERFACE_MAP_ENTRY(nsIDOMDeviceStorageCursor) - NS_INTERFACE_MAP_ENTRY(nsIContentPermissionRequest) - NS_INTERFACE_MAP_ENTRY(nsIDOMDOMRequest) - NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DeviceStorageCursor) -NS_INTERFACE_MAP_END_INHERITING(DOMRequest) - -NS_IMPL_ADDREF_INHERITED(nsDOMDeviceStorageCursor, DOMRequest) -NS_IMPL_RELEASE_INHERITED(nsDOMDeviceStorageCursor, DOMRequest) - -nsDOMDeviceStorageCursor::nsDOMDeviceStorageCursor(nsIDOMWindow* aWindow, - nsIURI* aURI, - DeviceStorageFile* aFile, - bool aEditable) - : DOMRequest(aWindow) - , mOkToCallContinue(false) - , mFile(aFile) - , mURI(aURI) - , mEditable(aEditable) -{ - if (mozilla::Preferences::GetBool("device.storage.prompt.testing", false)) { - Allow(); - } -} - -nsDOMDeviceStorageCursor::~nsDOMDeviceStorageCursor() -{ -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::GetType(nsACString & aType) -{ - aType = "device-storage"; - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::GetUri(nsIURI * *aRequestingURI) -{ - mURI.forget(aRequestingURI); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::GetWindow(nsIDOMWindow * *aRequestingWindow) -{ - NS_IF_ADDREF(*aRequestingWindow = GetOwner()); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::GetElement(nsIDOMElement * *aRequestingElement) -{ - *aRequestingElement = nsnull; - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::Cancel() -{ - nsCOMPtr event = new PostErrorEvent(this, - POST_ERROR_EVENT_PERMISSION_DENIED, - mFile); - NS_DispatchToMainThread(event); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::Allow() -{ - mAllowed = true; - if (!isSafePath(mFile->mPath)) { - nsCOMPtr r = new PostErrorEvent(this, - POST_ERROR_EVENT_ILLEGAL_FILE_NAME, - mFile); - NS_DispatchToMainThread(r); - return NS_OK; - } - - mFile->mFile->AppendRelativePath(mFile->mPath); - - nsCOMPtr target = do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID); - NS_ASSERTION(target, "Must have stream transport service"); - - nsCOMPtr event = new InitCursorEvent(this, mFile); - target->Dispatch(event, NS_DISPATCH_NORMAL); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorageCursor::Continue() -{ - if (!mOkToCallContinue) { - return NS_ERROR_UNEXPECTED; - } - - if (!mAllowed) { - nsCOMPtr prompt = do_GetService(NS_CONTENT_PERMISSION_PROMPT_CONTRACTID); - if (prompt) { - prompt->Prompt(this); - } - return NS_OK; - } - - if (mRooted) { - // We call onsuccess multiple times. clear the last - // rooted result. - NS_DROP_JS_OBJECTS(this, nsDOMDeviceStorageCursor); - mResult = JSVAL_VOID; - mDone = false; - mRooted = false; - } - - nsCOMPtr event = new ContinueCursorEvent(this); - NS_DispatchToMainThread(event); - - mOkToCallContinue = false; - return NS_OK; -} - - -class PostResultEvent : public nsRunnable -{ -public: - PostResultEvent(nsRefPtr& aRequest, bool aEditable, DeviceStorageFile* aFile) - : mEditable(aEditable) - , mFile(aFile) - { - mRequest.swap(aRequest); - } - - PostResultEvent(nsRefPtr& aRequest, const nsAString & aPath) - : mPath(aPath) - { - mRequest.swap(aRequest); - } - - ~PostResultEvent() {} - - NS_IMETHOD Run() - { - NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); - - jsval result = JSVAL_NULL; - if (mFile) { - result = nsIFileToJsval(mRequest->GetOwner(), mFile, mEditable); - } else { - result = StringToJsval(mRequest->GetOwner(), mPath); - } - - mRequest->FireSuccess(result); - mRequest = nsnull; - return NS_OK; - } - -private: - bool mEditable; - nsRefPtr mFile; - nsString mPath; - nsRefPtr mRequest; -}; - -class WriteFileEvent : public nsRunnable -{ -public: - WriteFileEvent(nsIDOMBlob *aBlob, - DeviceStorageFile *aFile, - nsRefPtr& aRequest) - : mBlob(aBlob) - , mFile(aFile) - { - mRequest.swap(aRequest); - } - - ~WriteFileEvent() {} - - void CleanupOnFail(const char* error) - { - if (mFile) { - mFile->mFile->Remove(false); - mFile = nsnull; - } - - nsCOMPtr event = new PostErrorEvent(mRequest, - error, - mFile); - NS_DispatchToMainThread(event); - } - - NS_IMETHOD Run() - { - NS_ASSERTION(!NS_IsMainThread(), "Wrong thread!"); - - //TODO - this might be faster if we check to see if - //these are backed by OS-files, and if so, then just do - //a copy() - - nsCOMPtr f = mFile->mFile; - - // This also creates all ancestors - nsresult rv = f->Create(nsIFile::NORMAL_FILE_TYPE, 00600); - if (NS_FAILED(rv)) { - CleanupOnFail(POST_ERROR_EVENT_UNKNOWN); - return NS_OK; - } - - nsCOMPtr stream; - mBlob->GetInternalStream(getter_AddRefs(stream)); - - if (!stream) { - CleanupOnFail(POST_ERROR_EVENT_UNKNOWN); - return NS_OK; - } - - PRUint32 bufSize; - stream->Available(&bufSize); - - nsCOMPtr outputStream; - NS_NewLocalFileOutputStream(getter_AddRefs(outputStream), f); - - if (!outputStream) { - CleanupOnFail(POST_ERROR_EVENT_UNKNOWN); - return NS_OK; - } - - nsCOMPtr bufferedOutputStream; - NS_NewBufferedOutputStream(getter_AddRefs(bufferedOutputStream), - outputStream, - 4096*4); - - if (!bufferedOutputStream) { - CleanupOnFail(POST_ERROR_EVENT_UNKNOWN); - return NS_OK; - } - - PRUint32 wrote; - bufferedOutputStream->WriteFrom(stream, bufSize, &wrote); - bufferedOutputStream->Close(); - outputStream->Close(); - - if (bufSize != wrote) { - CleanupOnFail(POST_ERROR_EVENT_UNKNOWN); - return NS_OK; - } - - nsCOMPtr event = new PostResultEvent(mRequest, mFile->mPath); - NS_DispatchToMainThread(event); - - return NS_OK; - } - -private: - nsCOMPtr mBlob; - nsRefPtr mFile; - nsRefPtr mRequest; -}; - - -class ReadFileEvent : public nsRunnable -{ -public: - ReadFileEvent(DeviceStorageFile* aFile, - bool aEditable, - nsRefPtr& aRequest) - : mFile(aFile) - , mEditable(aEditable) - { - mRequest.swap(aRequest); - } - - ~ReadFileEvent() {} - - NS_IMETHOD Run() - { - NS_ASSERTION(!NS_IsMainThread(), "Wrong thread!"); - - nsRefPtr r; - - if (!mEditable) { - bool check = false; - mFile->mFile->Exists(&check); - if (!check) { - r = new PostErrorEvent(mRequest, POST_ERROR_EVENT_FILE_DOES_NOT_EXIST, mFile); - } - } - - if (!r) { - r = new PostResultEvent(mRequest, mEditable, mFile); - } - NS_DispatchToMainThread(r); - return NS_OK; - } - -private: - nsRefPtr mFile; - bool mEditable; - nsRefPtr mRequest; -}; - -class DeleteFileEvent : public nsRunnable -{ -public: - DeleteFileEvent(DeviceStorageFile* aFile, - nsRefPtr& aRequest) - : mFile(aFile) - { - mRequest.swap(aRequest); - } - - ~DeleteFileEvent() {} - - NS_IMETHOD Run() - { - NS_ASSERTION(!NS_IsMainThread(), "Wrong thread!"); - - mFile->mFile->Remove(true); - nsCOMPtr event = new PostResultEvent(mRequest, mFile->mPath); - NS_DispatchToMainThread(event); - return NS_OK; - } - -private: - nsRefPtr mFile; - nsRefPtr mRequest; -}; - -class DeviceStorageRequest : public nsIContentPermissionRequest, public nsIRunnable -{ -public: - - enum { - DEVICE_STORAGE_REQUEST_READ, - DEVICE_STORAGE_REQUEST_WRITE, - DEVICE_STORAGE_REQUEST_DELETE - }; - DeviceStorageRequest(const PRInt32 aRequestType, - nsPIDOMWindow *aWindow, - nsIURI *aURI, - DeviceStorageFile *aFile, - DOMRequest* aRequest, - bool aEditable, - nsIDOMBlob *aBlob = nsnull) - : mRequestType(aRequestType) - , mWindow(aWindow) - , mURI(aURI) - , mFile(aFile) - , mRequest(aRequest) - , mEditable(aEditable) - , mBlob(aBlob) {} - - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(DeviceStorageRequest, nsIContentPermissionRequest) - - NS_IMETHOD Run() { - - if (mozilla::Preferences::GetBool("device.storage.prompt.testing", false)) { - Allow(); - return NS_OK; - } - - nsCOMPtr prompt = do_GetService(NS_CONTENT_PERMISSION_PROMPT_CONTRACTID); - if (prompt) { - prompt->Prompt(this); - } - return NS_OK; - } - - NS_IMETHOD GetType(nsACString & aType) - { - aType = "device-storage"; - return NS_OK; - } - - NS_IMETHOD GetUri(nsIURI * *aRequestingURI) - { - NS_ADDREF(*aRequestingURI = mURI); - return NS_OK; - } - - NS_IMETHOD GetWindow(nsIDOMWindow * *aRequestingWindow) - { - NS_IF_ADDREF(*aRequestingWindow = mWindow); - return NS_OK; - } - - NS_IMETHOD GetElement(nsIDOMElement * *aRequestingElement) - { - *aRequestingElement = nsnull; - return NS_OK; - } - - NS_IMETHOD Cancel() - { - nsCOMPtr event = new PostErrorEvent(mRequest, - POST_ERROR_EVENT_PERMISSION_DENIED, - mFile); - NS_DispatchToMainThread(event); - return NS_OK; - } - - NS_IMETHOD Allow() - { - nsCOMPtr r; - - if (!mRequest) { - return NS_ERROR_FAILURE; - } - - switch(mRequestType) { - case DEVICE_STORAGE_REQUEST_WRITE: - { - if (!mBlob) { - return NS_ERROR_FAILURE; - } - - r = new WriteFileEvent(mBlob, mFile, mRequest); - break; - } - case DEVICE_STORAGE_REQUEST_READ: - { - r = new ReadFileEvent(mFile, mEditable, mRequest); - break; - } - case DEVICE_STORAGE_REQUEST_DELETE: - { - r = new DeleteFileEvent(mFile, mRequest); - break; - } - } - - if (r) { - nsCOMPtr target = do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID); - NS_ASSERTION(target, "Must have stream transport service"); - target->Dispatch(r, NS_DISPATCH_NORMAL); - } - return NS_OK; - } - -private: - PRInt32 mRequestType; - nsCOMPtr mWindow; - nsCOMPtr mURI; - nsRefPtr mFile; - - nsRefPtr mRequest; - bool mEditable; - nsCOMPtr mBlob; -}; - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DeviceStorageRequest) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIContentPermissionRequest) - NS_INTERFACE_MAP_ENTRY(nsIContentPermissionRequest) - NS_INTERFACE_MAP_ENTRY(nsIRunnable) -NS_INTERFACE_MAP_END - -NS_IMPL_CYCLE_COLLECTING_ADDREF(DeviceStorageRequest) -NS_IMPL_CYCLE_COLLECTING_RELEASE(DeviceStorageRequest) -NS_IMPL_CYCLE_COLLECTION_CLASS(DeviceStorageRequest) - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DeviceStorageRequest) -NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mRequest) -NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mWindow) -NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mBlob) -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DeviceStorageRequest) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mRequest, nsIDOMDOMRequest) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mWindow, nsPIDOMWindow) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mBlob, nsIDOMBlob) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -DOMCI_DATA(DeviceStorage, nsDOMDeviceStorage) - -NS_INTERFACE_MAP_BEGIN(nsDOMDeviceStorage) - NS_INTERFACE_MAP_ENTRY(nsIDOMDeviceStorage) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMDeviceStorage) - NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DeviceStorage) -NS_INTERFACE_MAP_END - -NS_IMPL_THREADSAFE_ADDREF(nsDOMDeviceStorage) -NS_IMPL_THREADSAFE_RELEASE(nsDOMDeviceStorage) - -nsDOMDeviceStorage::nsDOMDeviceStorage() - : mStorageType(DEVICE_STORAGE_TYPE_DEFAULT) -{ -} - -nsresult -nsDOMDeviceStorage::Init(nsPIDOMWindow* aWindow, const nsAString &aType, const PRInt32 aIndex) -{ - NS_ASSERTION(aWindow, "Must have a content dom"); - - mStorageType = SetRootFileForType(aType, aIndex); - if (!mFile) { - return NS_ERROR_NOT_AVAILABLE; - } - - mOwner = do_GetWeakReference(aWindow); - if (!mOwner) { - return NS_ERROR_FAILURE; - } - - // Grab the uri of the document - nsCOMPtr domdoc; - aWindow->GetDocument(getter_AddRefs(domdoc)); - nsCOMPtr doc = do_QueryInterface(domdoc); - if (!doc) { - return NS_ERROR_FAILURE; - } - doc->NodePrincipal()->GetURI(getter_AddRefs(mURI)); - - return NS_OK; -} - -nsDOMDeviceStorage::~nsDOMDeviceStorage() -{ -} - -void -nsDOMDeviceStorage::CreateDeviceStoragesFor(nsPIDOMWindow* aWin, - const nsAString &aType, - nsIVariant** _retval) -{ - nsTArray > stores; - - PRInt32 index = 0; - while (1) { - nsresult rv; - nsRefPtr storage = new nsDOMDeviceStorage(); - rv = storage->Init(aWin, aType, index++); - if (NS_FAILED(rv)) - break; - stores.AppendElement(storage); - } - - nsCOMPtr result = do_CreateInstance("@mozilla.org/variant;1"); - if (!result) { - return; - } - - result->SetAsArray(nsIDataType::VTYPE_INTERFACE, - &NS_GET_IID(nsIDOMDeviceStorage), - stores.Length(), - const_cast(static_cast(stores.Elements()))); - NS_ADDREF(*_retval = result); -} - -NS_IMETHODIMP -nsDOMDeviceStorage::GetType(nsAString & aType) -{ - switch(mStorageType) { - case DEVICE_STORAGE_TYPE_EXTERNAL: - aType.AssignLiteral("external"); - break; - case DEVICE_STORAGE_TYPE_SHARED: - aType.AssignLiteral("shared"); - break; - case DEVICE_STORAGE_TYPE_DEFAULT: - default: - aType.AssignLiteral("default"); - break; - } - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorage::Add(nsIDOMBlob *aBlob, nsIDOMDOMRequest * *_retval NS_OUTPARAM) -{ - char buffer[128]; - NS_MakeRandomString(buffer, 128); - - nsString path; - path.AssignWithConversion(nsDependentCString(buffer)); - - return AddNamed(aBlob, path, _retval); -} - -NS_IMETHODIMP -nsDOMDeviceStorage::AddNamed(nsIDOMBlob *aBlob, - const nsAString & aPath, - nsIDOMDOMRequest * *_retval NS_OUTPARAM) -{ - // if the blob is null here, bail - if (aBlob == nsnull) - return NS_OK; - - nsCOMPtr win = do_QueryReferent(mOwner); - if (!win) { - return NS_ERROR_UNEXPECTED; - } - - nsRefPtr request = new DOMRequest(win); - NS_ADDREF(*_retval = request); - - nsCOMPtr r; - - nsCOMPtr file; - mFile->Clone(getter_AddRefs(file)); - file->AppendRelativePath(aPath); - - nsRefPtr dsf = new DeviceStorageFile(file, aPath); - - if (!isSafePath(aPath)) { - r = new PostErrorEvent(request, POST_ERROR_EVENT_ILLEGAL_FILE_NAME, dsf); - } - else { - r = new DeviceStorageRequest(DeviceStorageRequest::DEVICE_STORAGE_REQUEST_WRITE, - win, mURI, dsf, request, true, aBlob); - } - NS_DispatchToMainThread(r); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorage::Get(const JS::Value & aPath, - JSContext* aCx, - nsIDOMDOMRequest * *_retval NS_OUTPARAM) -{ - return GetInternal(aPath, aCx, _retval, false); -} - -NS_IMETHODIMP -nsDOMDeviceStorage::GetEditable(const JS::Value & aPath, - JSContext* aCx, - nsIDOMDOMRequest * *_retval NS_OUTPARAM) -{ - return GetInternal(aPath, aCx, _retval, true); -} - -nsresult -nsDOMDeviceStorage::GetInternal(const JS::Value & aPath, - JSContext* aCx, - nsIDOMDOMRequest * *_retval NS_OUTPARAM, - bool aEditable) -{ - nsCOMPtr win = do_QueryReferent(mOwner); - if (!win) { - return NS_ERROR_UNEXPECTED; - } - - nsRefPtr request = new DOMRequest(win); - NS_ADDREF(*_retval = request); - - nsCOMPtr r; - - JSString* jsstr = JS_ValueToString(aCx, aPath); - nsDependentJSString path; - if (!path.init(aCx, jsstr)) { - nsRefPtr dsf = new DeviceStorageFile(mFile); - r = new PostErrorEvent(request, - POST_ERROR_EVENT_NON_STRING_TYPE_UNSUPPORTED, - dsf); - } else { - - nsCOMPtr file; - mFile->Clone(getter_AddRefs(file)); - file->AppendRelativePath(path); - - nsRefPtr dsf = new DeviceStorageFile(file, path); - - r = new DeviceStorageRequest(DeviceStorageRequest::DEVICE_STORAGE_REQUEST_READ, - win, mURI, dsf, request, aEditable); - } - NS_DispatchToMainThread(r); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorage::Delete(const JS::Value & aPath, JSContext* aCx, nsIDOMDOMRequest * *_retval NS_OUTPARAM) -{ - nsCOMPtr r; - - nsCOMPtr win = do_QueryReferent(mOwner); - if (!win) { - return NS_ERROR_UNEXPECTED; - } - - nsRefPtr request = new DOMRequest(win); - NS_ADDREF(*_retval = request); - - JSString* jsstr = JS_ValueToString(aCx, aPath); - nsDependentJSString path; - if (!path.init(aCx, jsstr)) { - nsRefPtr dsf = new DeviceStorageFile(mFile); - r = new PostErrorEvent(request, POST_ERROR_EVENT_NON_STRING_TYPE_UNSUPPORTED, dsf); - } else if (!isSafePath(path)) { - nsRefPtr dsf = new DeviceStorageFile(mFile, path); - r = new PostErrorEvent(request, POST_ERROR_EVENT_ILLEGAL_FILE_NAME, dsf); - } - else { - nsCOMPtr file; - mFile->Clone(getter_AddRefs(file)); - file->AppendRelativePath(path); - - nsRefPtr dsf = new DeviceStorageFile(file, path); - r = new DeviceStorageRequest(DeviceStorageRequest::DEVICE_STORAGE_REQUEST_DELETE, - win, mURI, dsf, request, true); - } - NS_DispatchToMainThread(r); - return NS_OK; -} - -NS_IMETHODIMP -nsDOMDeviceStorage::Enumerate(const nsAString & aPath, - nsIDOMDeviceStorageCursor * *_retval NS_OUTPARAM) -{ - return EnumerateInternal(aPath, _retval, false); -} - -NS_IMETHODIMP -nsDOMDeviceStorage::EnumerateEditable(const nsAString & aPath, - nsIDOMDeviceStorageCursor * *_retval NS_OUTPARAM) -{ - return EnumerateInternal(aPath, _retval, true); -} - -nsresult -nsDOMDeviceStorage::EnumerateInternal(const nsAString & aPath, - nsIDOMDeviceStorageCursor * *_retval NS_OUTPARAM, - bool aEditable) -{ - nsCOMPtr win = do_QueryReferent(mOwner); - if (!win) - return NS_ERROR_UNEXPECTED; - - nsRefPtr dsf = new DeviceStorageFile(mFile, aPath); - - nsDOMDeviceStorageCursor* cursor = new nsDOMDeviceStorageCursor(win, mURI, dsf, aEditable); - NS_ADDREF(*_retval = cursor); - - return NS_OK; -} diff --git a/dom/devicestorage/nsDeviceStorage.h b/dom/devicestorage/nsDeviceStorage.h deleted file mode 100644 index d237a5d96b65..000000000000 --- a/dom/devicestorage/nsDeviceStorage.h +++ /dev/null @@ -1,58 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef nsDeviceStorage_h -#define nsDeviceStorage_h - -class nsPIDOMWindow; - -#include "nsIClassInfo.h" -#include "nsIDOMDeviceStorage.h" -#include "nsIDOMDeviceStorageCursor.h" -#include "nsIDOMWindow.h" -#include "nsIURI.h" - -#include "nsAutoPtr.h" -#include "nsCycleCollectionParticipant.h" -#include "nsDOMClassInfoID.h" -#include "nsString.h" -#include "nsWeakPtr.h" -#include "nsInterfaceHashtable.h" - -class nsDOMDeviceStorage : public nsIDOMDeviceStorage -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIDOMDEVICESTORAGE - - nsDOMDeviceStorage(); - - nsresult Init(nsPIDOMWindow* aWindow, const nsAString &aType, const PRInt32 aIndex); - - PRInt32 SetRootFileForType(const nsAString& aType, const PRInt32 aIndex); - - static void CreateDeviceStoragesFor(nsPIDOMWindow* aWin, const nsAString &aType, nsIVariant** _retval); - -private: - ~nsDOMDeviceStorage(); - - - nsresult GetInternal(const JS::Value & aName, JSContext* aCx, nsIDOMDOMRequest * *_retval NS_OUTPARAM, bool aEditable); - nsresult EnumerateInternal(const nsAString & aName, nsIDOMDeviceStorageCursor * *_retval NS_OUTPARAM, bool aEditable); - - PRInt32 mStorageType; - nsCOMPtr mFile; - - nsWeakPtr mOwner; - nsCOMPtr mURI; - - // nsIDOMDeviceStorage.type - enum { - DEVICE_STORAGE_TYPE_DEFAULT = 0, - DEVICE_STORAGE_TYPE_SHARED, - DEVICE_STORAGE_TYPE_EXTERNAL, - }; -}; - -#endif diff --git a/dom/interfaces/devicestorage/Makefile.in b/dom/interfaces/devicestorage/Makefile.in deleted file mode 100644 index 76622a30f875..000000000000 --- a/dom/interfaces/devicestorage/Makefile.in +++ /dev/null @@ -1,26 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. - -DEPTH = ../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = dom -LIBRARY_NAME = domdevicestorage_s -XPIDL_MODULE = dom_devicestorage -LIBXUL_LIBRARY = 1 -FORCE_STATIC_LIB = 1 - -include $(topsrcdir)/dom/dom-config.mk - -XPIDLSRCS = \ - nsIDOMDeviceStorage.idl \ - nsIDOMDeviceStorageCursor.idl \ - nsIDOMNavigatorDeviceStorage.idl - -include $(topsrcdir)/config/rules.mk - diff --git a/dom/interfaces/devicestorage/nsIDOMDeviceStorage.idl b/dom/interfaces/devicestorage/nsIDOMDeviceStorage.idl deleted file mode 100644 index 3f5a98de6699..000000000000 --- a/dom/interfaces/devicestorage/nsIDOMDeviceStorage.idl +++ /dev/null @@ -1,35 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "domstubs.idl" -interface nsIDOMBlob; -interface nsIDOMDOMRequest; -interface nsIDOMDeviceStorageCursor; - -[scriptable, uuid(05C0D0C8-D698-4CCD-899C-7198A33BD7EC)] -interface nsIDOMDeviceStorage : nsISupports -{ - /* - * Hint as to what kind of storage this object is. - * May be "external", "shared", or "default". - */ - readonly attribute DOMString type; - - nsIDOMDOMRequest add(in nsIDOMBlob aBlob); - nsIDOMDOMRequest addNamed(in nsIDOMBlob aBlob, in DOMString aName); - - [implicit_jscontext] - nsIDOMDOMRequest get(in jsval aName); - - [implicit_jscontext] - nsIDOMDOMRequest getEditable(in jsval aName); - - [implicit_jscontext] - nsIDOMDOMRequest delete(in jsval aName); - - nsIDOMDeviceStorageCursor enumerate([optional] in DOMString directory); - - nsIDOMDeviceStorageCursor enumerateEditable([optional] in DOMString directory); -}; - diff --git a/dom/interfaces/devicestorage/nsIDOMDeviceStorageCursor.idl b/dom/interfaces/devicestorage/nsIDOMDeviceStorageCursor.idl deleted file mode 100644 index c5472f24e0f9..000000000000 --- a/dom/interfaces/devicestorage/nsIDOMDeviceStorageCursor.idl +++ /dev/null @@ -1,11 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "domstubs.idl" - -[scriptable, uuid(995DFF99-ED70-4780-AC9A-4B58CD491186)] -interface nsIDOMDeviceStorageCursor : nsISupports -{ - void continue(); -}; diff --git a/dom/interfaces/devicestorage/nsIDOMNavigatorDeviceStorage.idl b/dom/interfaces/devicestorage/nsIDOMNavigatorDeviceStorage.idl deleted file mode 100644 index af17d94821e2..000000000000 --- a/dom/interfaces/devicestorage/nsIDOMNavigatorDeviceStorage.idl +++ /dev/null @@ -1,17 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "domstubs.idl" -interface nsIVariant; - -/** - * Property that extends the navigator object. - */ -[scriptable, uuid(A4B2831D-6065-472F-8A6D-2C9085C74C15)] -interface nsIDOMNavigatorDeviceStorage : nsISupports -{ - // returns an array of nsIDOMDeviceStorage - nsIVariant getDeviceStorage(in DOMString type); -}; - diff --git a/dom/tests/mochitest/Makefile.in b/dom/tests/mochitest/Makefile.in index aaeadebbe40d..c7fb51171a4a 100644 --- a/dom/tests/mochitest/Makefile.in +++ b/dom/tests/mochitest/Makefile.in @@ -18,7 +18,6 @@ DIRS += \ ajax \ bugs \ chrome \ - devicestorage \ general \ whatwg \ geolocation \ diff --git a/dom/tests/mochitest/devicestorage/Makefile.in b/dom/tests/mochitest/devicestorage/Makefile.in deleted file mode 100644 index 575bbbcc3e6a..000000000000 --- a/dom/tests/mochitest/devicestorage/Makefile.in +++ /dev/null @@ -1,27 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this file, -# You can obtain one at http://mozilla.org/MPL/2.0/. - -DEPTH = ../../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ -relativesrcdir = dom/tests/mochitest/devicestorage - -include $(DEPTH)/config/autoconf.mk - -include $(topsrcdir)/config/rules.mk - -_TEST_FILES = \ - test_sanity.html \ - test_basic.html \ - test_enumerate.html \ - test_enumerateMultipleContinue.html \ - test_overwrite.html \ - test_dotdot.html \ - devicestorage_common.js \ - $(NULL) - -libs:: $(_TEST_FILES) - $(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir) - diff --git a/dom/tests/mochitest/devicestorage/devicestorage_common.js b/dom/tests/mochitest/devicestorage/devicestorage_common.js deleted file mode 100644 index 8aa986b347e2..000000000000 --- a/dom/tests/mochitest/devicestorage/devicestorage_common.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -var oldVal = false; - -function devicestorage_setup() { - SimpleTest.waitForExplicitFinish(); - try { - oldVal = SpecialPowers.getBoolPref("device.storage.enabled"); - } catch(e) {} - SpecialPowers.setBoolPref("device.storage.enabled", true); - SpecialPowers.setBoolPref("device.storage.testing", true); - SpecialPowers.setBoolPref("device.storage.prompt.testing", true); -} - -function devicestorage_cleanup() { - SpecialPowers.setBoolPref("device.storage.enabled", oldVal); - SpecialPowers.setBoolPref("device.storage.testing", false); - SpecialPowers.setBoolPref("device.storage.prompt.testing", false); - SimpleTest.finish(); -} - -function getRandomBuffer() { - var size = 1024; - var buffer = new ArrayBuffer(size); - var view = new Uint8Array(buffer); - for (var i = 0; i < size; i++) { - view[i] = parseInt(Math.random() * 255); - } - return buffer; -} - -function createRandomBlob() { - return blob = new Blob([getRandomBuffer()], {type: 'binary/random'}); -} - -function randomFilename(l) { - var set = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ"; - var result = ""; - for (var i=0; i - - - - Test for the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_dotdot.html b/dom/tests/mochitest/devicestorage/test_dotdot.html deleted file mode 100644 index f54debd317ab..000000000000 --- a/dom/tests/mochitest/devicestorage/test_dotdot.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Test for the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_enumerate.html b/dom/tests/mochitest/devicestorage/test_enumerate.html deleted file mode 100644 index b9af36954e56..000000000000 --- a/dom/tests/mochitest/devicestorage/test_enumerate.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - Test for the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html b/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html deleted file mode 100644 index 0d56d62130d4..000000000000 --- a/dom/tests/mochitest/devicestorage/test_enumerateMultipleContinue.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - Test for the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html b/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html deleted file mode 100644 index b84f9c151729..000000000000 --- a/dom/tests/mochitest/devicestorage/test_enumerateNoParam.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Test for the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_overwrite.html b/dom/tests/mochitest/devicestorage/test_overwrite.html deleted file mode 100644 index e2a342e1ee37..000000000000 --- a/dom/tests/mochitest/devicestorage/test_overwrite.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - Test for basic sanity of the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/dom/tests/mochitest/devicestorage/test_sanity.html b/dom/tests/mochitest/devicestorage/test_sanity.html deleted file mode 100644 index 097765b1590e..000000000000 --- a/dom/tests/mochitest/devicestorage/test_sanity.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - Test for basic sanity of the device storage API - - - - - - -Mozilla Bug 717103 -

- -
-
-
- - - diff --git a/layout/build/Makefile.in b/layout/build/Makefile.in index 78fa9aa263a5..1125f87cf511 100644 --- a/layout/build/Makefile.in +++ b/layout/build/Makefile.in @@ -62,7 +62,6 @@ SHARED_LIBRARY_LIBS = \ $(DEPTH)/dom/base/$(LIB_PREFIX)jsdombase_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/battery/$(LIB_PREFIX)dom_battery_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/contacts/$(LIB_PREFIX)jsdomcontacts_s.$(LIB_SUFFIX) \ - $(DEPTH)/dom/devicestorage/$(LIB_PREFIX)domdevicestorage_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/power/$(LIB_PREFIX)dom_power_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/settings/$(LIB_PREFIX)jsdomsettings_s.$(LIB_SUFFIX) \ $(DEPTH)/dom/network/src/$(LIB_PREFIX)dom_network_s.$(LIB_SUFFIX) \ @@ -215,7 +214,7 @@ LOCAL_INCLUDES += -I$(srcdir)/../base \ -I$(srcdir)/../xul/base/src \ -I$(srcdir)/../mathml \ -I$(topsrcdir)/content/base/src \ - -I$(topsrcdir)/content/canvas/src \ + -I$(topsrcdir)/content/canvas/src \ -I$(topsrcdir)/content/html/content/src \ -I$(topsrcdir)/content/html/document/src \ -I$(topsrcdir)/content/xslt/src/base \ diff --git a/mobile/xul/installer/package-manifest.in b/mobile/xul/installer/package-manifest.in index 6f677122244a..3bad6db98521 100644 --- a/mobile/xul/installer/package-manifest.in +++ b/mobile/xul/installer/package-manifest.in @@ -168,7 +168,6 @@ @BINPATH@/components/dom_canvas.xpt @BINPATH@/components/dom_core.xpt @BINPATH@/components/dom_css.xpt -@BINPATH@/components/dom_devicestorage.xpt @BINPATH@/components/dom_events.xpt @BINPATH@/components/dom_geolocation.xpt @BINPATH@/components/dom_network.xpt diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index 1d089da2e2cb..a1b3525d1a7b 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -3462,9 +3462,6 @@ pref("geo.enabled", true); // Enable/Disable the orientation API for content pref("device.motion.enabled", true); -// Enable/Disable the device storage API for content -pref("device.storage.enabled", false); - // Toggle which thread the HTML5 parser uses for stream parsing pref("html5.offmainthread", true); // Time in milliseconds between the time a network buffer is seen and the diff --git a/toolkit/toolkit-makefiles.sh b/toolkit/toolkit-makefiles.sh index a925de00df54..b9c44012aa36 100644 --- a/toolkit/toolkit-makefiles.sh +++ b/toolkit/toolkit-makefiles.sh @@ -18,7 +18,6 @@ MAKEFILES_dom=" dom/interfaces/canvas/Makefile dom/interfaces/core/Makefile dom/interfaces/css/Makefile - dom/interfaces/devicestorage/Makefile dom/interfaces/events/Makefile dom/interfaces/geolocation/Makefile dom/interfaces/html/Makefile From 81e5a56c30422f05a75202a7165551a5be7012ed Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Mon, 21 May 2012 12:31:36 -0700 Subject: [PATCH 25/78] Bug 756689 - Send notifications when addon options are shown. r=mfinkle --- mobile/android/chrome/content/aboutAddons.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mobile/android/chrome/content/aboutAddons.js b/mobile/android/chrome/content/aboutAddons.js index 2332bca2469a..c02d5450c88d 100644 --- a/mobile/android/chrome/content/aboutAddons.js +++ b/mobile/android/chrome/content/aboutAddons.js @@ -276,17 +276,15 @@ var Addons = { setting.setAttribute("desc", desc); box.appendChild(setting); } -/* // Send an event so add-ons can prepopulate any non-preference based // settings let event = document.createEvent("Events"); event.initEvent("AddonOptionsLoad", true, false); - this.dispatchEvent(event); + window.dispatchEvent(event); // Also send a notification to match the behavior of desktop Firefox - let id = this.id.substring(17); // length of |urn:mozilla:item:| + let id = aListItem.getAttribute("addonID"); Services.obs.notifyObservers(document, "addon-options-displayed", id); -*/ } } catch (e) { Cu.reportError(e) From e6d1aa925465eff4b4eb933fc10fcd90affde1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20O=E2=80=99Shannessy?= Date: Mon, 21 May 2012 12:42:56 -0700 Subject: [PATCH 26/78] Bug 750574 - Only use "fixed" egrep command on OS X 10.7 [r=ted] --- configure.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.in b/configure.in index 4f05d37a5c12..f3bdcde8c7a6 100644 --- a/configure.in +++ b/configure.in @@ -8840,11 +8840,11 @@ xpcom/xpcom-private.h # Hack around an Apple bug that effects the egrep that comes with OS X 10.7. # "arch -arch i386 egrep" always uses the 32-bit Intel part of the egrep fat -# binary, even on 64-bit systems. It should work on OS X 10.4.5 and up. We -# (apparently) only need this hack when egrep's "pattern" is particularly -# long (as in the following code). See bug 655339. +# binary, even on 64-bit systems. We (apparently) only need this hack when +# egrep's "pattern" is particularly long (as in the following code). +# See bug 655339. case "$host" in -*-apple-darwin*) +*-apple-darwin11*) FIXED_EGREP="arch -arch i386 egrep" ;; *) From f9e29a55e562142714f6192f72a897676c7b20c5 Mon Sep 17 00:00:00 2001 From: Ted Mielczarek Date: Wed, 25 Apr 2012 13:37:16 -0400 Subject: [PATCH 27/78] bug 661908 - update virtualenv to the latest release. r=jhammel --HG-- extra : rebase_source : e41b778bf424b02c6b581f6b7206f37d2e2ec873 --- other-licenses/virtualenv/AUTHORS.txt | 44 + .../_sources/license.txt => LICENSE.txt} | 5 +- other-licenses/virtualenv/MANIFEST.in | 4 +- other-licenses/virtualenv/PKG-INFO | 972 ++++++++-- .../virtualenv/docs/_build/_sources/index.txt | 335 ---- .../virtualenv/docs/_build/_sources/news.txt | 284 --- other-licenses/virtualenv/docs/index.txt | 356 +++- other-licenses/virtualenv/docs/license.txt | 23 - other-licenses/virtualenv/docs/news.txt | 169 +- other-licenses/virtualenv/setup.py | 54 +- .../virtualenv/virtualenv.egg-info/PKG-INFO | 1022 ++++++++++ .../virtualenv.egg-info/SOURCES.txt | 33 + .../virtualenv.egg-info/dependency_links.txt | 1 + .../virtualenv.egg-info/entry_points.txt | 2 + .../virtualenv.egg-info/not-zip-safe | 1 + .../virtualenv.egg-info/top_level.txt | 2 + other-licenses/virtualenv/virtualenv.py | 1725 ++++++++++++----- .../virtualenv_embedded/activate.bat | 31 + .../virtualenv_embedded/activate.csh | 32 + .../virtualenv_embedded/activate.fish | 79 + .../virtualenv_embedded/activate.ps1 | 148 ++ .../virtualenv_embedded/activate.sh | 76 + .../virtualenv_embedded/activate_this.py | 34 + .../virtualenv_embedded/deactivate.bat | 17 + .../virtualenv_embedded/distribute_setup.py | 485 +++++ .../virtualenv_embedded/distutils-init.py | 97 + .../virtualenv_embedded/distutils.cfg | 6 + .../virtualenv_embedded/ez_setup.py | 285 +++ .../virtualenv/virtualenv_embedded/site.py | 737 +++++++ .../distribute-0.6.24.tar.gz | Bin 0 -> 620771 bytes .../distribute-0.6.8.tar.gz | Bin 390582 -> 0 bytes .../virtualenv_support/pip-0.7.1.tar.gz | Bin 82468 -> 0 bytes .../virtualenv_support/pip-1.1.tar.gz | Bin 0 -> 95197 bytes .../setuptools-0.6c11-py2.7.egg | Bin 0 -> 332005 bytes 34 files changed, 5697 insertions(+), 1362 deletions(-) create mode 100644 other-licenses/virtualenv/AUTHORS.txt rename other-licenses/virtualenv/{docs/_build/_sources/license.txt => LICENSE.txt} (90%) delete mode 100644 other-licenses/virtualenv/docs/_build/_sources/index.txt delete mode 100644 other-licenses/virtualenv/docs/_build/_sources/news.txt delete mode 100644 other-licenses/virtualenv/docs/license.txt create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/PKG-INFO create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/SOURCES.txt create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/dependency_links.txt create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/entry_points.txt create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/not-zip-safe create mode 100644 other-licenses/virtualenv/virtualenv.egg-info/top_level.txt mode change 100644 => 100755 other-licenses/virtualenv/virtualenv.py create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate.bat create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate.csh create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate.fish create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate.ps1 create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate.sh create mode 100644 other-licenses/virtualenv/virtualenv_embedded/activate_this.py create mode 100644 other-licenses/virtualenv/virtualenv_embedded/deactivate.bat create mode 100644 other-licenses/virtualenv/virtualenv_embedded/distribute_setup.py create mode 100644 other-licenses/virtualenv/virtualenv_embedded/distutils-init.py create mode 100644 other-licenses/virtualenv/virtualenv_embedded/distutils.cfg create mode 100644 other-licenses/virtualenv/virtualenv_embedded/ez_setup.py create mode 100644 other-licenses/virtualenv/virtualenv_embedded/site.py create mode 100644 other-licenses/virtualenv/virtualenv_support/distribute-0.6.24.tar.gz delete mode 100644 other-licenses/virtualenv/virtualenv_support/distribute-0.6.8.tar.gz delete mode 100644 other-licenses/virtualenv/virtualenv_support/pip-0.7.1.tar.gz create mode 100644 other-licenses/virtualenv/virtualenv_support/pip-1.1.tar.gz create mode 100644 other-licenses/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg diff --git a/other-licenses/virtualenv/AUTHORS.txt b/other-licenses/virtualenv/AUTHORS.txt new file mode 100644 index 000000000000..2adfef031ac9 --- /dev/null +++ b/other-licenses/virtualenv/AUTHORS.txt @@ -0,0 +1,44 @@ +Author +------ + +Ian Bicking + +Maintainers +----------- + +Brian Rosner +Carl Meyer +Jannis Leidel + +Contributors +------------ + +Alex Grönholm +Anatoly Techtonik +Antonio Cuni +Armin Ronacher +Cap Petschulat +CBWhiz +Chris McDonough +Christian Stefanescu +Christopher Nilsson +Cliff Xuan +Curt Micol +Doug Hellmann +Doug Napoleone +Douglas Creager +Ethan Jucovy +Gunnlaugur Thor Briem +Greg Haskins +Jason R. Coombs +Jeff Hammel +Jonathan Griffin +Jorge Vargas +Josh Bronson +Kumar McMillan +Lars Francke +Philip Jenvey +Ronny Pfannschmidt +Stefano Rivera +Tarek Ziadé +Vinay Sajip diff --git a/other-licenses/virtualenv/docs/_build/_sources/license.txt b/other-licenses/virtualenv/LICENSE.txt similarity index 90% rename from other-licenses/virtualenv/docs/_build/_sources/license.txt rename to other-licenses/virtualenv/LICENSE.txt index 2369791c52f5..0d82cc9e8cb1 100644 --- a/other-licenses/virtualenv/docs/_build/_sources/license.txt +++ b/other-licenses/virtualenv/LICENSE.txt @@ -1,7 +1,6 @@ -License -======= - Copyright (c) 2007 Ian Bicking and Contributors +Copyright (c) 2009 Ian Bicking, The Open Planning Project +Copyright (c) 2011-2012 The virtualenv developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/other-licenses/virtualenv/MANIFEST.in b/other-licenses/virtualenv/MANIFEST.in index 1a1b15350e12..6d475c8b3c7a 100644 --- a/other-licenses/virtualenv/MANIFEST.in +++ b/other-licenses/virtualenv/MANIFEST.in @@ -1,7 +1,9 @@ recursive-include docs *.txt recursive-include scripts * recursive-include virtualenv_support *.egg *.tar.gz -recursive-exclude virtualenv_support *.py +recursive-include virtualenv_embedded * recursive-exclude docs/_templates *.* include virtualenv_support/__init__.py include *.py +include AUTHORS.txt +include LICENSE.txt \ No newline at end of file diff --git a/other-licenses/virtualenv/PKG-INFO b/other-licenses/virtualenv/PKG-INFO index daab456804e8..4be2b3229f24 100644 --- a/other-licenses/virtualenv/PKG-INFO +++ b/other-licenses/virtualenv/PKG-INFO @@ -1,29 +1,25 @@ Metadata-Version: 1.0 Name: virtualenv -Version: 1.4.8 +Version: 1.7.1.2 Summary: Virtual Python Environment builder -Home-page: http://virtualenv.openplans.org -Author: Ian Bicking -Author-email: ianb@colorstudy.com +Home-page: http://www.virtualenv.org +Author: Jannis Leidel, Carl Meyer and Brian Rosner +Author-email: python-virtualenv@groups.google.com License: MIT Description: - Status and License - ------------------ + Installation + ------------ - ``virtualenv`` is a successor to `workingenv - `_, and an extension - of `virtual-python - `_. + You can install virtualenv with ``pip install virtualenv``, or the `latest + development version `_ + with ``pip install virtualenv==dev``. - It is written by Ian Bicking, and sponsored by the `Open Planning - Project `_. It is licensed under an - `MIT-style permissive license `_. + You can also use ``easy_install``, or if you have no Python package manager + available at all, you can just grab the single file `virtualenv.py`_ and run + it with ``python virtualenv.py``. - You can install it with ``easy_install virtualenv``, or from the `hg - repository `_ or from a `tarball - `_ - ``easy_install virtualenv==tip``. + .. _virtualenv.py: https://raw.github.com/pypa/virtualenv/master/virtualenv.py What It Does ------------ @@ -34,7 +30,7 @@ Description: and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install - everything into ``/usr/lib/python2.4/site-packages`` (or whatever your + everything into ``/usr/lib/python2.7/site-packages`` (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded. @@ -49,40 +45,105 @@ Description: In all these cases, ``virtualenv`` can help you. It creates an environment that has its own installation directories, that doesn't share libraries with other virtualenv environments (and optionally - doesn't use the globally installed libraries either). + doesn't access the globally installed libraries either). The basic usage is:: - $ python virtualenv.py ENV + $ python virtualenv.py ENV If you install it you can also just do ``virtualenv ENV``. - This creates ``ENV/lib/python2.4/site-packages`` (or - ``ENV/lib/python2.5/site-packages`` on Python 2.5, etc), where any - libraries you install will go. It also creates ``ENV/bin/python``, - which is a Python interpreter that uses this environment. Anytime you - use that interpreter (including when a script has - ``#!/path/to/ENV/bin/python`` in it) the libraries in that environment - will be used. (**Note for Windows:** scripts and executables on - Windows go in ``ENV\Scripts\``; everywhere you see ``bin/`` replace it - with ``Scripts\``) + This creates ``ENV/lib/pythonX.X/site-packages``, where any libraries you + install will go. It also creates ``ENV/bin/python``, which is a Python + interpreter that uses this environment. Anytime you use that interpreter + (including when a script has ``#!/path/to/ENV/bin/python`` in it) the libraries + in that environment will be used. - It also installs `Setuptools - `_ for you, and if - you use ``ENV/bin/easy_install`` the packages will be installed into + It also installs either `Setuptools + `_ or `distribute + `_ into the environment. To use + Distribute instead of setuptools, just call virtualenv like this:: + + $ python virtualenv.py --distribute ENV + + You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE. + + A new virtualenv also includes the `pip `_ + installer, so you can use ``ENV/bin/pip`` to install additional packages into the environment. - If you use the ``--distribute`` option, it will install `distribute - `_ for you, instead of setuptools, - and if you use `ENV/bin/easy_install`` the packages will be installed into the - environment. + Environment variables and configuration files + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - To use Distribute just call virtualenv like this:: + virtualenv can not only be configured by passing command line options such as + ``--distribute`` but also by two other means: - $ python virtualenv.py --distribute ENV + - Environment variables - You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE (since 1.4.4) - and be a good Comrade + Each command line option is automatically used to look for environment + variables with the name format ``VIRTUALENV_``. That means + the name of the command line options are capitalized and have dashes + (``'-'``) replaced with underscores (``'_'``). + + For example, to automatically install Distribute instead of setuptools + you can also set an environment variable:: + + $ export VIRTUALENV_USE_DISTRIBUTE=true + $ python virtualenv.py ENV + + It's the same as passing the option to virtualenv directly:: + + $ python virtualenv.py --distribute ENV + + This also works for appending command line options, like ``--find-links``. + Just leave an empty space between the passsed values, e.g.:: + + $ export VIRTUALENV_EXTRA_SEARCH_DIR="/path/to/dists /path/to/other/dists" + $ virtualenv ENV + + is the same as calling:: + + $ python virtualenv.py --extra-search-dir=/path/to/dists --extra-search-dir=/path/to/other/dists ENV + + - Config files + + virtualenv also looks for a standard ini config file. On Unix and Mac OS X + that's ``$HOME/.virtualenv/virtualenv.ini`` and on Windows, it's + ``%HOME%\\virtualenv\\virtualenv.ini``. + + The names of the settings are derived from the long command line option, + e.g. the option ``--distribute`` would look like this:: + + [virtualenv] + distribute = true + + Appending options like ``--extra-search-dir`` can be written on multiple + lines:: + + [virtualenv] + extra-search-dir = + /path/to/dists + /path/to/other/dists + + Please have a look at the output of ``virtualenv --help`` for a full list + of supported options. + + Windows Notes + ~~~~~~~~~~~~~ + + Some paths within the virtualenv are slightly different on Windows: scripts and + executables on Windows go in ``ENV\Scripts\`` instead of ``ENV/bin/`` and + libraries go in ``ENV\Lib\`` rather than ``ENV/lib/``. + + To create a virtualenv under a path with spaces in it on Windows, you'll need + the `win32api `_ library installed. + + PyPy Support + ~~~~~~~~~~~~ + + Beginning with virtualenv version 1.5 `PyPy `_ is + supported. To use PyPy 1.4 or 1.4.1, you need a version of virtualenv >= 1.5. + To use PyPy 1.5, you need a version of virtualenv >= 1.6.1. Creating Your Own Bootstrap Scripts ----------------------------------- @@ -108,74 +169,77 @@ Description: If you include these functions, they will be called: ``extend_parser(optparse_parser)``: - You can add or remove options from the parser here. + You can add or remove options from the parser here. ``adjust_options(options, args)``: - You can change options here, or change the args (if you accept - different kinds of arguments, be sure you modify ``args`` so it is - only ``[DEST_DIR]``). + You can change options here, or change the args (if you accept + different kinds of arguments, be sure you modify ``args`` so it is + only ``[DEST_DIR]``). ``after_install(options, home_dir)``: - After everything is installed, this function is called. This - is probably the function you are most likely to use. An - example would be:: + After everything is installed, this function is called. This + is probably the function you are most likely to use. An + example would be:: - def after_install(options, home_dir): - if sys.platform == 'win32': - bin = 'Scripts' - else: - bin = 'bin' - subprocess.call([join(home_dir, bin, 'easy_install'), - 'MyPackage']) - subprocess.call([join(home_dir, bin, 'my-package-script'), - 'setup', home_dir]) + def after_install(options, home_dir): + if sys.platform == 'win32': + bin = 'Scripts' + else: + bin = 'bin' + subprocess.call([join(home_dir, bin, 'easy_install'), + 'MyPackage']) + subprocess.call([join(home_dir, bin, 'my-package-script'), + 'setup', home_dir]) - This example immediately installs a package, and runs a setup - script from that package. + This example immediately installs a package, and runs a setup + script from that package. Bootstrap Example ~~~~~~~~~~~~~~~~~ Here's a more concrete example of how you could use this:: - import virtualenv, textwrap - output = virtualenv.create_bootstrap_script(textwrap.dedent(""" - import os, subprocess - def after_install(options, home_dir): - etc = join(home_dir, 'etc') - if not os.path.exists(etc): - os.makedirs(etc) - subprocess.call([join(home_dir, 'bin', 'easy_install'), - 'BlogApplication']) - subprocess.call([join(home_dir, 'bin', 'paster'), - 'make-config', 'BlogApplication', - join(etc, 'blog.ini')]) - subprocess.call([join(home_dir, 'bin', 'paster'), - 'setup-app', join(etc, 'blog.ini')]) - """)) - f = open('blog-bootstrap.py', 'w').write(output) + import virtualenv, textwrap + output = virtualenv.create_bootstrap_script(textwrap.dedent(""" + import os, subprocess + def after_install(options, home_dir): + etc = join(home_dir, 'etc') + if not os.path.exists(etc): + os.makedirs(etc) + subprocess.call([join(home_dir, 'bin', 'easy_install'), + 'BlogApplication']) + subprocess.call([join(home_dir, 'bin', 'paster'), + 'make-config', 'BlogApplication', + join(etc, 'blog.ini')]) + subprocess.call([join(home_dir, 'bin', 'paster'), + 'setup-app', join(etc, 'blog.ini')]) + """)) + f = open('blog-bootstrap.py', 'w').write(output) Another example is available `here - `_. + `_. activate script ~~~~~~~~~~~~~~~ In a newly created virtualenv there will be a ``bin/activate`` shell - script, or a ``Scripts/activate.bat`` batch file on Windows. + script. For Windows systems, activation scripts are provided for CMD.exe + and Powershell. On Posix systems you can do:: - $ source bin/activate + $ source bin/activate - This will change your ``$PATH`` to point to the virtualenv ``bin/`` - directory. Unlike workingenv, this is all it - does; it's a convenience. But if you use the complete path like - ``/path/to/env/bin/python script.py`` you do not need to activate the - environment first. You have to use ``source`` because it changes the - environment in-place. After activating an environment you can use the - function ``deactivate`` to undo the changes. + This will change your ``$PATH`` to point to the virtualenv's ``bin/`` + directory. (You have to use ``source`` because it changes your shell + environment in-place.) This is all it does; it's purely a convenience. If + you directly run a script or the python interpreter from the virtualenv's + ``bin/`` directory (e.g. ``path/to/env/bin/pip`` or + ``/path/to/env/bin/python script.py``) there's no need for activation. + + After activating an environment you can use the function ``deactivate`` to + undo the changes to your ``$PATH``. The ``activate`` script will also modify your shell prompt to indicate which environment is currently active. You can disable this behavior, @@ -186,19 +250,76 @@ Description: On Windows you just do:: - > \path\to\env\bin\activate.bat + > \path\to\env\Scripts\activate - And use ``deactivate.bat`` to undo the changes. + And type `deactivate` to undo the changes. - The ``--no-site-packages`` Option - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Based on your active shell (CMD.exe or Powershell.exe), Windows will use + either activate.bat or activate.ps1 (as appropriate) to activate the + virtual environment. If using Powershell, see the notes about code signing + below. - If you build with ``virtualenv --no-site-packages ENV`` it will *not* - inherit any packages from ``/usr/lib/python2.5/site-packages`` (or - wherever your global site-packages directory is). This can be used if - you don't have control over site-packages and don't want to depend on - the packages there, or you just want more isolation from the global - system. + .. note:: + + If using Powershell, the ``activate`` script is subject to the + `execution policies`_ on the system. By default on Windows 7, the system's + excution policy is set to ``Restricted``, meaning no scripts like the + ``activate`` script are allowed to be executed. But that can't stop us + from changing that slightly to allow it to be executed. + + In order to use the script, you have to relax your system's execution + policy to ``AllSigned``, meaning all scripts on the system must be + digitally signed to be executed. Since the virtualenv activation + script is signed by one of the authors (Jannis Leidel) this level of + the execution policy suffices. As an adminstrator run:: + + PS C:\> Set-ExecutionPolicy AllSigned + + Then you'll be asked to trust the signer, when executing the script. + You will be prompted with the following:: + + PS C:\> virtualenv .\foo + New python executable in C:\foo\Scripts\python.exe + Installing setuptools................done. + Installing pip...................done. + PS C:\> .\foo\scripts\activate + + Do you want to run software from this untrusted publisher? + File C:\foo\scripts\activate.ps1 is published by E=jannis@leidel.info, + CN=Jannis Leidel, L=Berlin, S=Berlin, C=DE, Description=581796-Gh7xfJxkxQSIO4E0 + and is not trusted on your system. Only run scripts from trusted publishers. + [V] Never run [D] Do not run [R] Run once [A] Always run [?] Help + (default is "D"):A + (foo) PS C:\> + + If you select ``[A] Always Run``, the certificate will be added to the + Trusted Publishers of your user account, and will be trusted in this + user's context henceforth. If you select ``[R] Run Once``, the script will + be run, but you will be prometed on a subsequent invocation. Advanced users + can add the signer's certificate to the Trusted Publishers of the Computer + account to apply to all users (though this technique is out of scope of this + document). + + Alternatively, you may relax the system execution policy to allow running + of local scripts without verifying the code signature using the following:: + + PS C:\> Set-ExecutionPolicy RemoteSigned + + Since the ``activate.ps1`` script is generated locally for each virtualenv, + it is not considered a remote script and can then be executed. + + .. _`execution policies`: http://technet.microsoft.com/en-us/library/dd347641.aspx + + The ``--system-site-packages`` Option + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + If you build with ``virtualenv --system-site-packages ENV``, your virtual + environment will inherit packages from ``/usr/lib/python2.7/site-packages`` + (or wherever your global site-packages directory is). + + This can be used if you have control over the global site-packages directory, + and you want to depend on the packages there. If you want isolation from the + global system, do not use this flag. Using Virtualenv without ``bin/python`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -213,16 +334,18 @@ Description: the path is correct. A script is available to correct the path. You can setup the environment like:: - activate_this = '/path/to/env/bin/activate_this.py' - execfile(activate_this, dict(__file__=activate_this)) + activate_this = '/path/to/env/bin/activate_this.py' + execfile(activate_this, dict(__file__=activate_this)) - This will change ``sys.path`` and even change ``sys.prefix``, but also - allow you to use an existing interpreter. Items in your environment - will show up first on ``sys.path``, before global items. However, - this cannot undo the activation of other environments, or modules that - have been imported. You shouldn't try to, for instance, activate an - environment before a web request; you should activate *one* - environment as early as possible, and not do it again in that process. + This will change ``sys.path`` and even change ``sys.prefix``, but also allow + you to use an existing interpreter. Items in your environment will show up + first on ``sys.path``, before global items. However, global items will + always be accessible (as if the ``--system-site-packages`` flag had been used + in creating the environment, whether it was or not). Also, this cannot undo + the activation of other environments, or modules that have been imported. + You shouldn't try to, for instance, activate an environment before a web + request; you should activate *one* environment as early as possible, and not + do it again in that process. Making Environments Relocatable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -236,7 +359,7 @@ Description: You can fix up an environment to make it relocatable with the command:: - $ virtualenv --relocatable ENV + $ virtualenv --relocatable ENV This will make some of the files created by setuptools or distribute use relative paths, and will change all the scripts to use ``activate_this.py`` @@ -259,8 +382,55 @@ Description: different (either different versions, or a different filesystem layout). - Currently the ``--no-site-packages`` option will not be honored if you - use this on an environment. + If you use this flag to create an environment, currently, the + ``--system-site-packages`` option will be implied. + + The ``--extra-search-dir`` Option + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + When it creates a new environment, virtualenv installs either + setuptools or distribute, and pip. In normal operation, the latest + releases of these packages are fetched from the `Python Package Index + `_ (PyPI). In some circumstances, this + behavior may not be wanted, for example if you are using virtualenv + during a deployment and do not want to depend on Internet access and + PyPI availability. + + As an alternative, you can provide your own versions of setuptools, + distribute and/or pip on the filesystem, and tell virtualenv to use + those distributions instead of downloading them from the Internet. To + use this feature, pass one or more ``--extra-search-dir`` options to + virtualenv like this:: + + $ virtualenv --extra-search-dir=/path/to/distributions ENV + + The ``/path/to/distributions`` path should point to a directory that + contains setuptools, distribute and/or pip distributions. Setuptools + distributions must be ``.egg`` files; distribute and pip distributions + should be `.tar.gz` source distributions. + + Virtualenv will still download these packages if no satisfactory local + distributions are found. + + If you are really concerned about virtualenv fetching these packages + from the Internet and want to ensure that it never will, you can also + provide an option ``--never-download`` like so:: + + $ virtualenv --extra-search-dir=/path/to/distributions --never-download ENV + + If this option is provided, virtualenv will never try to download + setuptools/distribute or pip. Instead, it will exit with status code 1 + if it fails to find local distributions for any of these required + packages. The local distribution lookup is done in this order and the + following locations: + + #. The current directory. + #. The directory where virtualenv.py is located. + #. A ``virtualenv_support`` directory relative to the directory where + virtualenv.py is located. + #. If the file being executed is not named virtualenv.py (i.e. is a boot + script), a ``virtualenv_support`` directory relative to wherever + virtualenv.py is actually installed. Compare & Contrast with Alternatives ------------------------------------ @@ -268,67 +438,585 @@ Description: There are several alternatives that create isolated environments: * ``workingenv`` (which I do not suggest you use anymore) is the - predecessor to this library. It used the main Python interpreter, - but relied on setting ``$PYTHONPATH`` to activate the environment. - This causes problems when running Python scripts that aren't part of - the environment (e.g., a globally installed ``hg`` or ``bzr``). It - also conflicted a lot with Setuptools. + predecessor to this library. It used the main Python interpreter, + but relied on setting ``$PYTHONPATH`` to activate the environment. + This causes problems when running Python scripts that aren't part of + the environment (e.g., a globally installed ``hg`` or ``bzr``). It + also conflicted a lot with Setuptools. * `virtual-python - `_ - is also a predecessor to this library. It uses only symlinks, so it - couldn't work on Windows. It also symlinks over the *entire* - standard library and global ``site-packages``. As a result, it - won't see new additions to the global ``site-packages``. + `_ + is also a predecessor to this library. It uses only symlinks, so it + couldn't work on Windows. It also symlinks over the *entire* + standard library and global ``site-packages``. As a result, it + won't see new additions to the global ``site-packages``. - This script only symlinks a small portion of the standard library - into the environment, and so on Windows it is feasible to simply - copy these files over. Also, it creates a new/empty - ``site-packages`` and also adds the global ``site-packages`` to the - path, so updates are tracked separately. This script also installs - Setuptools automatically, saving a step and avoiding the need for - network access. + This script only symlinks a small portion of the standard library + into the environment, and so on Windows it is feasible to simply + copy these files over. Also, it creates a new/empty + ``site-packages`` and also adds the global ``site-packages`` to the + path, so updates are tracked separately. This script also installs + Setuptools automatically, saving a step and avoiding the need for + network access. * `zc.buildout `_ doesn't - create an isolated Python environment in the same style, but - achieves similar results through a declarative config file that sets - up scripts with very particular packages. As a declarative system, - it is somewhat easier to repeat and manage, but more difficult to - experiment with. ``zc.buildout`` includes the ability to setup - non-Python systems (e.g., a database server or an Apache instance). + create an isolated Python environment in the same style, but + achieves similar results through a declarative config file that sets + up scripts with very particular packages. As a declarative system, + it is somewhat easier to repeat and manage, but more difficult to + experiment with. ``zc.buildout`` includes the ability to setup + non-Python systems (e.g., a database server or an Apache instance). I *strongly* recommend anyone doing application development or deployment use one of these tools. + Contributing + ------------ + + Refer to the `contributing to pip`_ documentation - it applies equally to + virtualenv. + + Virtualenv's release schedule is tied to pip's -- each time there's a new pip + release, there will be a new virtualenv release that bundles the new version of + pip. + + .. _contributing to pip: http://www.pip-installer.org/en/latest/contributing.html + + Running the tests + ~~~~~~~~~~~~~~~~~ + + Virtualenv's test suite is small and not yet at all comprehensive, but we aim + to grow it. + + The easy way to run tests (handles test dependencies automatically):: + + $ python setup.py test + + If you want to run only a selection of the tests, you'll need to run them + directly with nose instead. Create a virtualenv, and install required + packages:: + + $ pip install nose mock + + Run nosetests:: + + $ nosetests + + Or select just a single test file to run:: + + $ nosetests tests.test_virtualenv + + Other Documentation and Links ----------------------------- * James Gardner has written a tutorial on using `virtualenv with - Pylons - `_. + Pylons + `_. * `Blog announcement - `_. + `_. * Doug Hellmann wrote a description of his `command-line work flow - using virtualenv (virtualenvwrapper) - `_ - including some handy scripts to make working with multiple - environments easier. He also wrote `an example of using virtualenv - to try IPython - `_. + using virtualenv (virtualenvwrapper) + `_ + including some handy scripts to make working with multiple + environments easier. He also wrote `an example of using virtualenv + to try IPython + `_. * Chris Perkins created a `showmedo video including virtualenv - `_. + `_. * `Using virtualenv with mod_wsgi - `_. + `_. * `virtualenv commands - `_ for some more - workflow-related tools around virtualenv. + `_ for some more + workflow-related tools around virtualenv. + + Status and License + ------------------ + + ``virtualenv`` is a successor to `workingenv + `_, and an extension + of `virtual-python + `_. + + It was written by Ian Bicking, sponsored by the `Open Planning + Project `_ and is now maintained by a + `group of developers `_. + It is licensed under an + `MIT-style permissive license `_. + + Changes & News + -------------- + + 1.7.1.2 (2012-02-17) + ~~~~~~~~~~~~~~~~~~~~ + + * Fixed minor issue in `--relocatable`. Thanks, Cap Petschulat. + + 1.7.1.1 (2012-02-16) + ~~~~~~~~~~~~~~~~~~~~ + + * Bumped the version string in ``virtualenv.py`` up, too. + + * Fixed rST rendering bug of long description. + + 1.7.1 (2012-02-16) + ~~~~~~~~~~~~~~~~~~ + + * Update embedded pip to version 1.1. + + * Fix `--relocatable` under Python 3. Thanks Doug Hellmann. + + * Added environ PATH modification to activate_this.py. Thanks Doug + Napoleone. Fixes #14. + + * Support creating virtualenvs directly from a Python build directory on + Windows. Thanks CBWhiz. Fixes #139. + + * Use non-recursive symlinks to fix things up for posix_local install + scheme. Thanks michr. + + * Made activate script available for use with msys and cygwin on Windows. + Thanks Greg Haskins, Cliff Xuan, Jonathan Griffin and Doug Napoleone. + Fixes #176. + + * Fixed creation of virtualenvs on Windows when Python is not installed for + all users. Thanks Anatoly Techtonik for report and patch and Doug + Napoleone for testing and confirmation. Fixes #87. + + * Fixed creation of virtualenvs using -p in installs where some modules + that ought to be in the standard library (e.g. `readline`) are actually + installed in `site-packages` next to `virtualenv.py`. Thanks Greg Haskins + for report and fix. Fixes #167. + + * Added activation script for Powershell (signed by Jannis Leidel). Many + thanks to Jason R. Coombs. + + 1.7 (2011-11-30) + ~~~~~~~~~~~~~~~~ + + * Gave user-provided ``--extra-search-dir`` priority over default dirs for + finding setuptools/distribute (it already had priority for finding pip). + Thanks Ethan Jucovy. + + * Updated embedded Distribute release to 0.6.24. Thanks Alex Gronholm. + + * Made ``--no-site-packages`` behavior the default behavior. The + ``--no-site-packages`` flag is still permitted, but displays a warning when + used. Thanks Chris McDonough. + + * New flag: ``--system-site-packages``; this flag should be passed to get the + previous default global-site-package-including behavior back. + + * Added ability to set command options as environment variables and options + in a ``virtualenv.ini`` file. + + * Fixed various encoding related issues with paths. Thanks Gunnlaugur Thor Briem. + + * Made ``virtualenv.py`` script executable. + + 1.6.4 (2011-07-21) + ~~~~~~~~~~~~~~~~~~ + + * Restored ability to run on Python 2.4, too. + + 1.6.3 (2011-07-16) + ~~~~~~~~~~~~~~~~~~ + + * Restored ability to run on Python < 2.7. + + 1.6.2 (2011-07-16) + ~~~~~~~~~~~~~~~~~~ + + * Updated embedded distribute release to 0.6.19. + + * Updated embedded pip release to 1.0.2. + + * Fixed #141 - Be smarter about finding pkg_resources when using the + non-default Python intepreter (by using the ``-p`` option). + + * Fixed #112 - Fixed path in docs. + + * Fixed #109 - Corrected doctests of a Logger method. + + * Fixed #118 - Fixed creating virtualenvs on platforms that use the + "posix_local" install scheme, such as Ubuntu with Python 2.7. + + * Add missing library to Python 3 virtualenvs (``_dummy_thread``). + + + 1.6.1 (2011-04-30) + ~~~~~~~~~~~~~~~~~~ + + * Start to use git-flow. + + * Added support for PyPy 1.5 + + * Fixed #121 -- added sanity-checking of the -p argument. Thanks Paul Nasrat. + + * Added progress meter for pip installation as well as setuptools. Thanks Ethan + Jucovy. + + * Added --never-download and --search-dir options. Thanks Ethan Jucovy. + + 1.6 + ~~~ + + * Added Python 3 support! Huge thanks to Vinay Sajip and Vitaly Babiy. + + * Fixed creation of virtualenvs on Mac OS X when standard library modules + (readline) are installed outside the standard library. + + * Updated bundled pip to 1.0. + + 1.5.2 + ~~~~~ + + * Moved main repository to Github: https://github.com/pypa/virtualenv + + * Transferred primary maintenance from Ian to Jannis Leidel, Carl Meyer and Brian Rosner + + * Fixed a few more pypy related bugs. + + * Updated bundled pip to 0.8.2. + + * Handed project over to new team of maintainers. + + * Moved virtualenv to Github at https://github.com/pypa/virtualenv + + 1.5.1 + ~~~~~ + + * Added ``_weakrefset`` requirement for Python 2.7.1. + + * Fixed Windows regression in 1.5 + + 1.5 + ~~~ + + * Include pip 0.8.1. + + * Add support for PyPy. + + * Uses a proper temporary dir when installing environment requirements. + + * Add ``--prompt`` option to be able to override the default prompt prefix. + + * Fix an issue with ``--relocatable`` on Windows. + + * Fix issue with installing the wrong version of distribute. + + * Add fish and csh activate scripts. + + 1.4.9 + ~~~~~ + + * Include pip 0.7.2 + + 1.4.8 + ~~~~~ + + * Fix for Mac OS X Framework builds that use + ``--universal-archs=intel`` + + * Fix ``activate_this.py`` on Windows. + + * Allow ``$PYTHONHOME`` to be set, so long as you use ``source + bin/activate`` it will get unset; if you leave it set and do not + activate the environment it will still break the environment. + + * Include pip 0.7.1 + + 1.4.7 + ~~~~~ + + * Include pip 0.7 + + 1.4.6 + ~~~~~ + + * Allow ``activate.sh`` to skip updating the prompt (by setting + ``$VIRTUAL_ENV_DISABLE_PROMPT``). + + 1.4.5 + ~~~~~ + + * Include pip 0.6.3 + + * Fix ``activate.bat`` and ``deactivate.bat`` under Windows when + ``PATH`` contained a parenthesis + + 1.4.4 + ~~~~~ + + * Include pip 0.6.2 and Distribute 0.6.10 + + * Create the ``virtualenv`` script even when Setuptools isn't + installed + + * Fix problem with ``virtualenv --relocate`` when ``bin/`` has + subdirectories (e.g., ``bin/.svn/``); from Alan Franzoni. + + * If you set ``$VIRTUALENV_USE_DISTRIBUTE`` then virtualenv will use + Distribute by default (so you don't have to remember to use + ``--distribute``). + + 1.4.3 + ~~~~~ + + * Include pip 0.6.1 + + 1.4.2 + ~~~~~ + + * Fix pip installation on Windows + + * Fix use of stand-alone ``virtualenv.py`` (and boot scripts) + + * Exclude ~/.local (user site-packages) from environments when using + ``--no-site-packages`` + + 1.4.1 + ~~~~~ + + * Include pip 0.6 + + 1.4 + ~~~ + + * Updated setuptools to 0.6c11 + + * Added the --distribute option + + * Fixed packaging problem of support-files + + 1.3.4 + ~~~~~ + + * Virtualenv now copies the actual embedded Python binary on + Mac OS X to fix a hang on Snow Leopard (10.6). + + * Fail more gracefully on Windows when ``win32api`` is not installed. + + * Fix site-packages taking precedent over Jython's ``__classpath__`` + and also specially handle the new ``__pyclasspath__`` entry in + ``sys.path``. + + * Now copies Jython's ``registry`` file to the virtualenv if it exists. + + * Better find libraries when compiling extensions on Windows. + + * Create ``Scripts\pythonw.exe`` on Windows. + + * Added support for the Debian/Ubuntu + ``/usr/lib/pythonX.Y/dist-packages`` directory. + + * Set ``distutils.sysconfig.get_config_vars()['LIBDIR']`` (based on + ``sys.real_prefix``) which is reported to help building on Windows. + + * Make ``deactivate`` work on ksh + + * Fixes for ``--python``: make it work with ``--relocatable`` and the + symlink created to the exact Python version. + + 1.3.3 + ~~~~~ + + * Use Windows newlines in ``activate.bat``, which has been reported to help + when using non-ASCII directory names. + + * Fixed compatibility with Jython 2.5b1. + + * Added a function ``virtualenv.install_python`` for more fine-grained + access to what ``virtualenv.create_environment`` does. + + * Fix `a problem `_ + with Windows and paths that contain spaces. + + * If ``/path/to/env/.pydistutils.cfg`` exists (or + ``/path/to/env/pydistutils.cfg`` on Windows systems) then ignore + ``~/.pydistutils.cfg`` and use that other file instead. + + * Fix ` a problem + `_ picking up + some ``.so`` libraries in ``/usr/local``. + + 1.3.2 + ~~~~~ + + * Remove the ``[install] prefix = ...`` setting from the virtualenv + ``distutils.cfg`` -- this has been causing problems for a lot of + people, in rather obscure ways. + + * If you use a `boot script <./index.html#boot-script>`_ it will attempt to import ``virtualenv`` + and find a pre-downloaded Setuptools egg using that. + + * Added platform-specific paths, like ``/usr/lib/pythonX.Y/plat-linux2`` + + 1.3.1 + ~~~~~ + + * Real Python 2.6 compatibility. Backported the Python 2.6 updates to + ``site.py``, including `user directories + `_ + (this means older versions of Python will support user directories, + whether intended or not). + + * Always set ``[install] prefix`` in ``distutils.cfg`` -- previously + on some platforms where a system-wide ``distutils.cfg`` was present + with a ``prefix`` setting, packages would be installed globally + (usually in ``/usr/local/lib/pythonX.Y/site-packages``). + + * Sometimes Cygwin seems to leave ``.exe`` off ``sys.executable``; a + workaround is added. + + * Fix ``--python`` option. + + * Fixed handling of Jython environments that use a + jython-complete.jar. + + 1.3 + ~~~ + + * Update to Setuptools 0.6c9 + * Added an option ``virtualenv --relocatable EXISTING_ENV``, which + will make an existing environment "relocatable" -- the paths will + not be absolute in scripts, ``.egg-info`` and ``.pth`` files. This + may assist in building environments that can be moved and copied. + You have to run this *after* any new packages installed. + * Added ``bin/activate_this.py``, a file you can use like + ``execfile("path_to/activate_this.py", + dict(__file__="path_to/activate_this.py"))`` -- this will activate + the environment in place, similar to what `the mod_wsgi example + does `_. + * For Mac framework builds of Python, the site-packages directory + ``/Library/Python/X.Y/site-packages`` is added to ``sys.path``, from + Andrea Rech. + * Some platform-specific modules in Macs are added to the path now + (``plat-darwin/``, ``plat-mac/``, ``plat-mac/lib-scriptpackages``), + from Andrea Rech. + * Fixed a small Bashism in the ``bin/activate`` shell script. + * Added ``__future__`` to the list of required modules, for Python + 2.3. You'll still need to backport your own ``subprocess`` module. + * Fixed the ``__classpath__`` entry in Jython's ``sys.path`` taking + precedent over virtualenv's libs. + + 1.2 + ~~~ + + * Added a ``--python`` option to select the Python interpreter. + * Add ``warnings`` to the modules copied over, for Python 2.6 support. + * Add ``sets`` to the module copied over for Python 2.3 (though Python + 2.3 still probably doesn't work). + + 1.1.1 + ~~~~~ + + * Added support for Jython 2.5. + + 1.1 + ~~~ + + * Added support for Python 2.6. + * Fix a problem with missing ``DLLs/zlib.pyd`` on Windows. Create + * ``bin/python`` (or ``bin/python.exe``) even when you run virtualenv + with an interpreter named, e.g., ``python2.4`` + * Fix MacPorts Python + * Added --unzip-setuptools option + * Update to Setuptools 0.6c8 + * If the current directory is not writable, run ez_setup.py in ``/tmp`` + * Copy or symlink over the ``include`` directory so that packages will + more consistently compile. + + 1.0 + ~~~ + + * Fix build on systems that use ``/usr/lib64``, distinct from + ``/usr/lib`` (specifically CentOS x64). + * Fixed bug in ``--clear``. + * Fixed typos in ``deactivate.bat``. + * Preserve ``$PYTHONPATH`` when calling subprocesses. + + 0.9.2 + ~~~~~ + + * Fix include dir copying on Windows (makes compiling possible). + * Include the main ``lib-tk`` in the path. + * Patch ``distutils.sysconfig``: ``get_python_inc`` and + ``get_python_lib`` to point to the global locations. + * Install ``distutils.cfg`` before Setuptools, so that system + customizations of ``distutils.cfg`` won't effect the installation. + * Add ``bin/pythonX.Y`` to the virtualenv (in addition to + ``bin/python``). + * Fixed an issue with Mac Framework Python builds, and absolute paths + (from Ronald Oussoren). + + 0.9.1 + ~~~~~ + + * Improve ability to create a virtualenv from inside a virtualenv. + * Fix a little bug in ``bin/activate``. + * Actually get ``distutils.cfg`` to work reliably. + + 0.9 + ~~~ + + * Added ``lib-dynload`` and ``config`` to things that need to be + copied over in an environment. + * Copy over or symlink the ``include`` directory, so that you can + build packages that need the C headers. + * Include a ``distutils`` package, so you can locally update + ``distutils.cfg`` (in ``lib/pythonX.Y/distutils/distutils.cfg``). + * Better avoid downloading Setuptools, and hitting PyPI on environment + creation. + * Fix a problem creating a ``lib64/`` directory. + * Should work on MacOSX Framework builds (the default Python + installations on Mac). Thanks to Ronald Oussoren. + + 0.8.4 + ~~~~~ + + * Windows installs would sometimes give errors about ``sys.prefix`` that + were inaccurate. + * Slightly prettier output. + + 0.8.3 + ~~~~~ + + * Added support for Windows. + + 0.8.2 + ~~~~~ + + * Give a better warning if you are on an unsupported platform (Mac + Framework Pythons, and Windows). + * Give error about running while inside a workingenv. + * Give better error message about Python 2.3. + + 0.8.1 + ~~~~~ + + Fixed packaging of the library. + + 0.8 + ~~~ + + Initial release. Everything is changed and new! + Keywords: setuptools deployment installation distutils Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.4 +Classifier: Programming Language :: Python :: 2.5 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.1 +Classifier: Programming Language :: Python :: 3.2 diff --git a/other-licenses/virtualenv/docs/_build/_sources/index.txt b/other-licenses/virtualenv/docs/_build/_sources/index.txt deleted file mode 100644 index ef26e98a4312..000000000000 --- a/other-licenses/virtualenv/docs/_build/_sources/index.txt +++ /dev/null @@ -1,335 +0,0 @@ -virtualenv -========== - -* `Discussion list `_ -* `Bugs `_ - -.. contents:: - -.. toctree:: - :maxdepth: 1 - - news - license - -.. comment: split here - -Status and License ------------------- - -``virtualenv`` is a successor to `workingenv -`_, and an extension -of `virtual-python -`_. - -It is written by Ian Bicking, and sponsored by the `Open Planning -Project `_. It is licensed under an -`MIT-style permissive license `_. - -You can install it with ``easy_install virtualenv``, or from the `hg -repository `_ or from a `tarball -`_ -``easy_install virtualenv==tip``. - -What It Does ------------- - -``virtualenv`` is a tool to create isolated Python environments. - -The basic problem being addressed is one of dependencies and versions, -and indirectly permissions. Imagine you have an application that -needs version 1 of LibFoo, but another application requires version -2. How can you use both these applications? If you install -everything into ``/usr/lib/python2.4/site-packages`` (or whatever your -platform's standard location is), it's easy to end up in a situation -where you unintentionally upgrade an application that shouldn't be -upgraded. - -Or more generally, what if you want to install an application *and -leave it be*? If an application works, any change in its libraries or -the versions of those libraries can break the application. - -Also, what if you can't install packages into the global -``site-packages`` directory? For instance, on a shared host. - -In all these cases, ``virtualenv`` can help you. It creates an -environment that has its own installation directories, that doesn't -share libraries with other virtualenv environments (and optionally -doesn't use the globally installed libraries either). - -The basic usage is:: - - $ python virtualenv.py ENV - -If you install it you can also just do ``virtualenv ENV``. - -This creates ``ENV/lib/python2.4/site-packages`` (or -``ENV/lib/python2.5/site-packages`` on Python 2.5, etc), where any -libraries you install will go. It also creates ``ENV/bin/python``, -which is a Python interpreter that uses this environment. Anytime you -use that interpreter (including when a script has -``#!/path/to/ENV/bin/python`` in it) the libraries in that environment -will be used. (**Note for Windows:** scripts and executables on -Windows go in ``ENV\Scripts\``; everywhere you see ``bin/`` replace it -with ``Scripts\``) - -It also installs `Setuptools -`_ for you, and if -you use ``ENV/bin/easy_install`` the packages will be installed into -the environment. - -If you use the ``--distribute`` option, it will install `distribute -`_ for you, instead of setuptools, -and if you use `ENV/bin/easy_install`` the packages will be installed into the -environment. - -To use Distribute just call virtualenv like this:: - - $ python virtualenv.py --distribute ENV - -You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE (since 1.4.4) -and be a good Comrade - -Creating Your Own Bootstrap Scripts ------------------------------------ - -While this creates an environment, it doesn't put anything into the -environment. Developers may find it useful to distribute a script -that sets up a particular environment, for example a script that -installs a particular web application. - -To create a script like this, call -``virtualenv.create_bootstrap_script(extra_text)``, and write the -result to your new bootstrapping script. Here's the documentation -from the docstring: - -Creates a bootstrap script, which is like this script but with -extend_parser, adjust_options, and after_install hooks. - -This returns a string that (written to disk of course) can be used -as a bootstrap script with your own customizations. The script -will be the standard virtualenv.py script, with your extra text -added (your extra text should be Python code). - -If you include these functions, they will be called: - -``extend_parser(optparse_parser)``: - You can add or remove options from the parser here. - -``adjust_options(options, args)``: - You can change options here, or change the args (if you accept - different kinds of arguments, be sure you modify ``args`` so it is - only ``[DEST_DIR]``). - -``after_install(options, home_dir)``: - - After everything is installed, this function is called. This - is probably the function you are most likely to use. An - example would be:: - - def after_install(options, home_dir): - if sys.platform == 'win32': - bin = 'Scripts' - else: - bin = 'bin' - subprocess.call([join(home_dir, bin, 'easy_install'), - 'MyPackage']) - subprocess.call([join(home_dir, bin, 'my-package-script'), - 'setup', home_dir]) - - This example immediately installs a package, and runs a setup - script from that package. - -Bootstrap Example -~~~~~~~~~~~~~~~~~ - -Here's a more concrete example of how you could use this:: - - import virtualenv, textwrap - output = virtualenv.create_bootstrap_script(textwrap.dedent(""" - import os, subprocess - def after_install(options, home_dir): - etc = join(home_dir, 'etc') - if not os.path.exists(etc): - os.makedirs(etc) - subprocess.call([join(home_dir, 'bin', 'easy_install'), - 'BlogApplication']) - subprocess.call([join(home_dir, 'bin', 'paster'), - 'make-config', 'BlogApplication', - join(etc, 'blog.ini')]) - subprocess.call([join(home_dir, 'bin', 'paster'), - 'setup-app', join(etc, 'blog.ini')]) - """)) - f = open('blog-bootstrap.py', 'w').write(output) - -Another example is available `here -`_. - -activate script -~~~~~~~~~~~~~~~ - -In a newly created virtualenv there will be a ``bin/activate`` shell -script, or a ``Scripts/activate.bat`` batch file on Windows. - -On Posix systems you can do:: - - $ source bin/activate - -This will change your ``$PATH`` to point to the virtualenv ``bin/`` -directory. Unlike workingenv, this is all it -does; it's a convenience. But if you use the complete path like -``/path/to/env/bin/python script.py`` you do not need to activate the -environment first. You have to use ``source`` because it changes the -environment in-place. After activating an environment you can use the -function ``deactivate`` to undo the changes. - -The ``activate`` script will also modify your shell prompt to indicate -which environment is currently active. You can disable this behavior, -which can be useful if you have your own custom prompt that already -displays the active environment name. To do so, set the -``VIRTUAL_ENV_DISABLE_PROMPT`` environment variable to any non-empty -value before running the ``activate`` script. - -On Windows you just do:: - - > \path\to\env\bin\activate.bat - -And use ``deactivate.bat`` to undo the changes. - -The ``--no-site-packages`` Option -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you build with ``virtualenv --no-site-packages ENV`` it will *not* -inherit any packages from ``/usr/lib/python2.5/site-packages`` (or -wherever your global site-packages directory is). This can be used if -you don't have control over site-packages and don't want to depend on -the packages there, or you just want more isolation from the global -system. - -Using Virtualenv without ``bin/python`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sometimes you can't or don't want to use the Python interpreter -created by the virtualenv. For instance, in a `mod_python -`_ or `mod_wsgi `_ -environment, there is only one interpreter. - -Luckily, it's easy. You must use the custom Python interpreter to -*install* libraries. But to *use* libraries, you just have to be sure -the path is correct. A script is available to correct the path. You -can setup the environment like:: - - activate_this = '/path/to/env/bin/activate_this.py' - execfile(activate_this, dict(__file__=activate_this)) - -This will change ``sys.path`` and even change ``sys.prefix``, but also -allow you to use an existing interpreter. Items in your environment -will show up first on ``sys.path``, before global items. However, -this cannot undo the activation of other environments, or modules that -have been imported. You shouldn't try to, for instance, activate an -environment before a web request; you should activate *one* -environment as early as possible, and not do it again in that process. - -Making Environments Relocatable -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Note: this option is somewhat experimental, and there are probably -caveats that have not yet been identified. Also this does not -currently work on Windows. - -Normally environments are tied to a specific path. That means that -you cannot move an environment around or copy it to another computer. -You can fix up an environment to make it relocatable with the -command:: - - $ virtualenv --relocatable ENV - -This will make some of the files created by setuptools or distribute -use relative paths, and will change all the scripts to use ``activate_this.py`` -instead of using the location of the Python interpreter to select the -environment. - -**Note:** you must run this after you've installed *any* packages into -the environment. If you make an environment relocatable, then -install a new package, you must run ``virtualenv --relocatable`` -again. - -Also, this **does not make your packages cross-platform**. You can -move the directory around, but it can only be used on other similar -computers. Some known environmental differences that can cause -incompatibilities: a different version of Python, when one platform -uses UCS2 for its internal unicode representation and another uses -UCS4 (a compile-time option), obvious platform changes like Windows -vs. Linux, or Intel vs. ARM, and if you have libraries that bind to C -libraries on the system, if those C libraries are located somewhere -different (either different versions, or a different filesystem -layout). - -Currently the ``--no-site-packages`` option will not be honored if you -use this on an environment. - -Compare & Contrast with Alternatives ------------------------------------- - -There are several alternatives that create isolated environments: - -* ``workingenv`` (which I do not suggest you use anymore) is the - predecessor to this library. It used the main Python interpreter, - but relied on setting ``$PYTHONPATH`` to activate the environment. - This causes problems when running Python scripts that aren't part of - the environment (e.g., a globally installed ``hg`` or ``bzr``). It - also conflicted a lot with Setuptools. - -* `virtual-python - `_ - is also a predecessor to this library. It uses only symlinks, so it - couldn't work on Windows. It also symlinks over the *entire* - standard library and global ``site-packages``. As a result, it - won't see new additions to the global ``site-packages``. - - This script only symlinks a small portion of the standard library - into the environment, and so on Windows it is feasible to simply - copy these files over. Also, it creates a new/empty - ``site-packages`` and also adds the global ``site-packages`` to the - path, so updates are tracked separately. This script also installs - Setuptools automatically, saving a step and avoiding the need for - network access. - -* `zc.buildout `_ doesn't - create an isolated Python environment in the same style, but - achieves similar results through a declarative config file that sets - up scripts with very particular packages. As a declarative system, - it is somewhat easier to repeat and manage, but more difficult to - experiment with. ``zc.buildout`` includes the ability to setup - non-Python systems (e.g., a database server or an Apache instance). - -I *strongly* recommend anyone doing application development or -deployment use one of these tools. - -Other Documentation and Links ------------------------------ - -* James Gardner has written a tutorial on using `virtualenv with - Pylons - `_. - -* `Blog announcement - `_. - -* Doug Hellmann wrote a description of his `command-line work flow - using virtualenv (virtualenvwrapper) - `_ - including some handy scripts to make working with multiple - environments easier. He also wrote `an example of using virtualenv - to try IPython - `_. - -* Chris Perkins created a `showmedo video including virtualenv - `_. - -* `Using virtualenv with mod_wsgi - `_. - -* `virtualenv commands - `_ for some more - workflow-related tools around virtualenv. diff --git a/other-licenses/virtualenv/docs/_build/_sources/news.txt b/other-licenses/virtualenv/docs/_build/_sources/news.txt deleted file mode 100644 index 3b0be19a1ba1..000000000000 --- a/other-licenses/virtualenv/docs/_build/_sources/news.txt +++ /dev/null @@ -1,284 +0,0 @@ -Changes & News --------------- - -hg tip ------- - -* Fix for Mac OS X Framework builds that use - ``--universal-archs=intel`` - -1.4.7 ------ - -* Include pip 0.7 - -1.4.6 -~~~~~ - -* Allow ``activate.sh`` to skip updating the prompt (by setting - ``$VIRTUAL_ENV_DISABLE_PROMPT``). - -1.4.5 -~~~~~ - -* Include pip 0.6.3 - -* Fix ``activate.bat`` and ``deactivate.bat`` under Windows when - ``PATH`` contained a parenthesis - -1.4.4 -~~~~~ - -* Include pip 0.6.2 and Distribute 0.6.10 - -* Create the ``virtualenv`` script even when Setuptools isn't - installed - -* Fix problem with ``virtualenv --relocate`` when ``bin/`` has - subdirectories (e.g., ``bin/.svn/``); from Alan Franzoni. - -* If you set ``$VIRTUALENV_USE_DISTRIBUTE`` then virtualenv will use - Distribute by default (so you don't have to remember to use - ``--distribute``). - -1.4.3 -~~~~~ - -* Include pip 0.6.1 - -1.4.2 -~~~~~ - -* Fix pip installation on Windows - -* Fix use of stand-alone ``virtualenv.py`` (and boot scripts) - -* Exclude ~/.local (user site-packages) from environments when using - ``--no-site-packages`` - -1.4.1 -~~~~~ - -* Include pip 0.6 - -1.4 -~~~ - -* Updated setuptools to 0.6c11 - -* Added the --distribute option - -* Fixed packaging problem of support-files - -1.3.4 -~~~~~ - -* Virtualenv now copies the actual embedded Python binary on - Mac OS X to fix a hang on Snow Leopard (10.6). - -* Fail more gracefully on Windows when ``win32api`` is not installed. - -* Fix site-packages taking precedent over Jython's ``__classpath__`` - and also specially handle the new ``__pyclasspath__`` entry in - ``sys.path``. - -* Now copies Jython's ``registry`` file to the virtualenv if it exists. - -* Better find libraries when compiling extensions on Windows. - -* Create ``Scripts\pythonw.exe`` on Windows. - -* Added support for the Debian/Ubuntu - ``/usr/lib/pythonX.Y/dist-packages`` directory. - -* Set ``distutils.sysconfig.get_config_vars()['LIBDIR']`` (based on - ``sys.real_prefix``) which is reported to help building on Windows. - -* Make ``deactivate`` work on ksh - -* Fixes for ``--python``: make it work with ``--relocatable`` and the - symlink created to the exact Python version. - -1.3.3 -~~~~~ - -* Use Windows newlines in ``activate.bat``, which has been reported to help - when using non-ASCII directory names. - -* Fixed compatibility with Jython 2.5b1. - -* Added a function ``virtualenv.install_python`` for more fine-grained - access to what ``virtualenv.create_environment`` does. - -* Fix `a problem `_ - with Windows and paths that contain spaces. - -* If ``/path/to/env/.pydistutils.cfg`` exists (or - ``/path/to/env/pydistutils.cfg`` on Windows systems) then ignore - ``~/.pydistutils.cfg`` and use that other file instead. - -* Fix ` a problem - `_ picking up - some ``.so`` libraries in ``/usr/local``. - -1.3.2 -~~~~~ - -* Remove the ``[install] prefix = ...`` setting from the virtualenv - ``distutils.cfg`` -- this has been causing problems for a lot of - people, in rather obscure ways. - -* If you use a `boot script <./index.html#boot-script>`_ it will attempt to import ``virtualenv`` - and find a pre-downloaded Setuptools egg using that. - -* Added platform-specific paths, like ``/usr/lib/pythonX.Y/plat-linux2`` - -1.3.1 -~~~~~ - -* Real Python 2.6 compatibility. Backported the Python 2.6 updates to - ``site.py``, including `user directories - `_ - (this means older versions of Python will support user directories, - whether intended or not). - -* Always set ``[install] prefix`` in ``distutils.cfg`` -- previously - on some platforms where a system-wide ``distutils.cfg`` was present - with a ``prefix`` setting, packages would be installed globally - (usually in ``/usr/local/lib/pythonX.Y/site-packages``). - -* Sometimes Cygwin seems to leave ``.exe`` off ``sys.executable``; a - workaround is added. - -* Fix ``--python`` option. - -* Fixed handling of Jython environments that use a - jython-complete.jar. - -1.3 -~~~ - -* Update to Setuptools 0.6c9 -* Added an option ``virtualenv --relocatable EXISTING_ENV``, which - will make an existing environment "relocatable" -- the paths will - not be absolute in scripts, ``.egg-info`` and ``.pth`` files. This - may assist in building environments that can be moved and copied. - You have to run this *after* any new packages installed. -* Added ``bin/activate_this.py``, a file you can use like - ``execfile("path_to/activate_this.py", - dict(__file__="path_to/activate_this.py"))`` -- this will activate - the environment in place, similar to what `the mod_wsgi example - does `_. -* For Mac framework builds of Python, the site-packages directory - ``/Library/Python/X.Y/site-packages`` is added to ``sys.path``, from - Andrea Rech. -* Some platform-specific modules in Macs are added to the path now - (``plat-darwin/``, ``plat-mac/``, ``plat-mac/lib-scriptpackages``), - from Andrea Rech. -* Fixed a small Bashism in the ``bin/activate`` shell script. -* Added ``__future__`` to the list of required modules, for Python - 2.3. You'll still need to backport your own ``subprocess`` module. -* Fixed the ``__classpath__`` entry in Jython's ``sys.path`` taking - precedent over virtualenv's libs. - -1.2 -~~~ - -* Added a ``--python`` option to select the Python interpreter. -* Add ``warnings`` to the modules copied over, for Python 2.6 support. -* Add ``sets`` to the module copied over for Python 2.3 (though Python - 2.3 still probably doesn't work). - -1.1.1 -~~~~~ - -* Added support for Jython 2.5. - -1.1 -~~~ - -* Added support for Python 2.6. -* Fix a problem with missing ``DLLs/zlib.pyd`` on Windows. Create -* ``bin/python`` (or ``bin/python.exe``) even when you run virtualenv - with an interpreter named, e.g., ``python2.4`` -* Fix MacPorts Python -* Added --unzip-setuptools option -* Update to Setuptools 0.6c8 -* If the current directory is not writable, run ez_setup.py in ``/tmp`` -* Copy or symlink over the ``include`` directory so that packages will - more consistently compile. - -1.0 -~~~ - -* Fix build on systems that use ``/usr/lib64``, distinct from - ``/usr/lib`` (specifically CentOS x64). -* Fixed bug in ``--clear``. -* Fixed typos in ``deactivate.bat``. -* Preserve ``$PYTHONPATH`` when calling subprocesses. - -0.9.2 -~~~~~ - -* Fix include dir copying on Windows (makes compiling possible). -* Include the main ``lib-tk`` in the path. -* Patch ``distutils.sysconfig``: ``get_python_inc`` and - ``get_python_lib`` to point to the global locations. -* Install ``distutils.cfg`` before Setuptools, so that system - customizations of ``distutils.cfg`` won't effect the installation. -* Add ``bin/pythonX.Y`` to the virtualenv (in addition to - ``bin/python``). -* Fixed an issue with Mac Framework Python builds, and absolute paths - (from Ronald Oussoren). - -0.9.1 -~~~~~ - -* Improve ability to create a virtualenv from inside a virtualenv. -* Fix a little bug in ``bin/activate``. -* Actually get ``distutils.cfg`` to work reliably. - -0.9 -~~~ - -* Added ``lib-dynload`` and ``config`` to things that need to be - copied over in an environment. -* Copy over or symlink the ``include`` directory, so that you can - build packages that need the C headers. -* Include a ``distutils`` package, so you can locally update - ``distutils.cfg`` (in ``lib/pythonX.Y/distutils/distutils.cfg``). -* Better avoid downloading Setuptools, and hitting PyPI on environment - creation. -* Fix a problem creating a ``lib64/`` directory. -* Should work on MacOSX Framework builds (the default Python - installations on Mac). Thanks to Ronald Oussoren. - -0.8.4 -~~~~~ - -* Windows installs would sometimes give errors about ``sys.prefix`` that - were inaccurate. -* Slightly prettier output. - -0.8.3 -~~~~~ - -* Added support for Windows. - -0.8.2 -~~~~~ - -* Give a better warning if you are on an unsupported platform (Mac - Framework Pythons, and Windows). -* Give error about running while inside a workingenv. -* Give better error message about Python 2.3. - -0.8.1 -~~~~~ - -Fixed packaging of the library. - -0.8 -~~~ - -Initial release. Everything is changed and new! diff --git a/other-licenses/virtualenv/docs/index.txt b/other-licenses/virtualenv/docs/index.txt index ef26e98a4312..3a1fcacebf3b 100644 --- a/other-licenses/virtualenv/docs/index.txt +++ b/other-licenses/virtualenv/docs/index.txt @@ -2,7 +2,7 @@ virtualenv ========== * `Discussion list `_ -* `Bugs `_ +* `Bugs `_ .. contents:: @@ -10,26 +10,21 @@ virtualenv :maxdepth: 1 news - license .. comment: split here -Status and License ------------------- +Installation +------------ -``virtualenv`` is a successor to `workingenv -`_, and an extension -of `virtual-python -`_. +You can install virtualenv with ``pip install virtualenv``, or the `latest +development version `_ +with ``pip install virtualenv==dev``. -It is written by Ian Bicking, and sponsored by the `Open Planning -Project `_. It is licensed under an -`MIT-style permissive license `_. +You can also use ``easy_install``, or if you have no Python package manager +available at all, you can just grab the single file `virtualenv.py`_ and run +it with ``python virtualenv.py``. -You can install it with ``easy_install virtualenv``, or from the `hg -repository `_ or from a `tarball -`_ -``easy_install virtualenv==tip``. +.. _virtualenv.py: https://raw.github.com/pypa/virtualenv/master/virtualenv.py What It Does ------------ @@ -40,7 +35,7 @@ The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install -everything into ``/usr/lib/python2.4/site-packages`` (or whatever your +everything into ``/usr/lib/python2.7/site-packages`` (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded. @@ -55,7 +50,7 @@ Also, what if you can't install packages into the global In all these cases, ``virtualenv`` can help you. It creates an environment that has its own installation directories, that doesn't share libraries with other virtualenv environments (and optionally -doesn't use the globally installed libraries either). +doesn't access the globally installed libraries either). The basic usage is:: @@ -63,32 +58,97 @@ The basic usage is:: If you install it you can also just do ``virtualenv ENV``. -This creates ``ENV/lib/python2.4/site-packages`` (or -``ENV/lib/python2.5/site-packages`` on Python 2.5, etc), where any -libraries you install will go. It also creates ``ENV/bin/python``, -which is a Python interpreter that uses this environment. Anytime you -use that interpreter (including when a script has -``#!/path/to/ENV/bin/python`` in it) the libraries in that environment -will be used. (**Note for Windows:** scripts and executables on -Windows go in ``ENV\Scripts\``; everywhere you see ``bin/`` replace it -with ``Scripts\``) +This creates ``ENV/lib/pythonX.X/site-packages``, where any libraries you +install will go. It also creates ``ENV/bin/python``, which is a Python +interpreter that uses this environment. Anytime you use that interpreter +(including when a script has ``#!/path/to/ENV/bin/python`` in it) the libraries +in that environment will be used. -It also installs `Setuptools -`_ for you, and if -you use ``ENV/bin/easy_install`` the packages will be installed into -the environment. - -If you use the ``--distribute`` option, it will install `distribute -`_ for you, instead of setuptools, -and if you use `ENV/bin/easy_install`` the packages will be installed into the -environment. - -To use Distribute just call virtualenv like this:: +It also installs either `Setuptools +`_ or `distribute +`_ into the environment. To use +Distribute instead of setuptools, just call virtualenv like this:: $ python virtualenv.py --distribute ENV -You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE (since 1.4.4) -and be a good Comrade +You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE. + +A new virtualenv also includes the `pip `_ +installer, so you can use ``ENV/bin/pip`` to install additional packages into +the environment. + +Environment variables and configuration files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +virtualenv can not only be configured by passing command line options such as +``--distribute`` but also by two other means: + +- Environment variables + + Each command line option is automatically used to look for environment + variables with the name format ``VIRTUALENV_``. That means + the name of the command line options are capitalized and have dashes + (``'-'``) replaced with underscores (``'_'``). + + For example, to automatically install Distribute instead of setuptools + you can also set an environment variable:: + + $ export VIRTUALENV_USE_DISTRIBUTE=true + $ python virtualenv.py ENV + + It's the same as passing the option to virtualenv directly:: + + $ python virtualenv.py --distribute ENV + + This also works for appending command line options, like ``--find-links``. + Just leave an empty space between the passsed values, e.g.:: + + $ export VIRTUALENV_EXTRA_SEARCH_DIR="/path/to/dists /path/to/other/dists" + $ virtualenv ENV + + is the same as calling:: + + $ python virtualenv.py --extra-search-dir=/path/to/dists --extra-search-dir=/path/to/other/dists ENV + +- Config files + + virtualenv also looks for a standard ini config file. On Unix and Mac OS X + that's ``$HOME/.virtualenv/virtualenv.ini`` and on Windows, it's + ``%HOME%\\virtualenv\\virtualenv.ini``. + + The names of the settings are derived from the long command line option, + e.g. the option ``--distribute`` would look like this:: + + [virtualenv] + distribute = true + + Appending options like ``--extra-search-dir`` can be written on multiple + lines:: + + [virtualenv] + extra-search-dir = + /path/to/dists + /path/to/other/dists + +Please have a look at the output of ``virtualenv --help`` for a full list +of supported options. + +Windows Notes +~~~~~~~~~~~~~ + +Some paths within the virtualenv are slightly different on Windows: scripts and +executables on Windows go in ``ENV\Scripts\`` instead of ``ENV/bin/`` and +libraries go in ``ENV\Lib\`` rather than ``ENV/lib/``. + +To create a virtualenv under a path with spaces in it on Windows, you'll need +the `win32api `_ library installed. + +PyPy Support +~~~~~~~~~~~~ + +Beginning with virtualenv version 1.5 `PyPy `_ is +supported. To use PyPy 1.4 or 1.4.1, you need a version of virtualenv >= 1.5. +To use PyPy 1.5, you need a version of virtualenv >= 1.6.1. Creating Your Own Bootstrap Scripts ----------------------------------- @@ -163,25 +223,28 @@ Here's a more concrete example of how you could use this:: f = open('blog-bootstrap.py', 'w').write(output) Another example is available `here -`_. +`_. activate script ~~~~~~~~~~~~~~~ In a newly created virtualenv there will be a ``bin/activate`` shell -script, or a ``Scripts/activate.bat`` batch file on Windows. +script. For Windows systems, activation scripts are provided for CMD.exe +and Powershell. On Posix systems you can do:: - $ source bin/activate + $ source bin/activate -This will change your ``$PATH`` to point to the virtualenv ``bin/`` -directory. Unlike workingenv, this is all it -does; it's a convenience. But if you use the complete path like -``/path/to/env/bin/python script.py`` you do not need to activate the -environment first. You have to use ``source`` because it changes the -environment in-place. After activating an environment you can use the -function ``deactivate`` to undo the changes. +This will change your ``$PATH`` to point to the virtualenv's ``bin/`` +directory. (You have to use ``source`` because it changes your shell +environment in-place.) This is all it does; it's purely a convenience. If +you directly run a script or the python interpreter from the virtualenv's +``bin/`` directory (e.g. ``path/to/env/bin/pip`` or +``/path/to/env/bin/python script.py``) there's no need for activation. + +After activating an environment you can use the function ``deactivate`` to +undo the changes to your ``$PATH``. The ``activate`` script will also modify your shell prompt to indicate which environment is currently active. You can disable this behavior, @@ -192,19 +255,76 @@ value before running the ``activate`` script. On Windows you just do:: - > \path\to\env\bin\activate.bat + > \path\to\env\Scripts\activate -And use ``deactivate.bat`` to undo the changes. +And type `deactivate` to undo the changes. -The ``--no-site-packages`` Option -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Based on your active shell (CMD.exe or Powershell.exe), Windows will use +either activate.bat or activate.ps1 (as appropriate) to activate the +virtual environment. If using Powershell, see the notes about code signing +below. -If you build with ``virtualenv --no-site-packages ENV`` it will *not* -inherit any packages from ``/usr/lib/python2.5/site-packages`` (or -wherever your global site-packages directory is). This can be used if -you don't have control over site-packages and don't want to depend on -the packages there, or you just want more isolation from the global -system. +.. note:: + + If using Powershell, the ``activate`` script is subject to the + `execution policies`_ on the system. By default on Windows 7, the system's + excution policy is set to ``Restricted``, meaning no scripts like the + ``activate`` script are allowed to be executed. But that can't stop us + from changing that slightly to allow it to be executed. + + In order to use the script, you have to relax your system's execution + policy to ``AllSigned``, meaning all scripts on the system must be + digitally signed to be executed. Since the virtualenv activation + script is signed by one of the authors (Jannis Leidel) this level of + the execution policy suffices. As an adminstrator run:: + + PS C:\> Set-ExecutionPolicy AllSigned + + Then you'll be asked to trust the signer, when executing the script. + You will be prompted with the following:: + + PS C:\> virtualenv .\foo + New python executable in C:\foo\Scripts\python.exe + Installing setuptools................done. + Installing pip...................done. + PS C:\> .\foo\scripts\activate + + Do you want to run software from this untrusted publisher? + File C:\foo\scripts\activate.ps1 is published by E=jannis@leidel.info, + CN=Jannis Leidel, L=Berlin, S=Berlin, C=DE, Description=581796-Gh7xfJxkxQSIO4E0 + and is not trusted on your system. Only run scripts from trusted publishers. + [V] Never run [D] Do not run [R] Run once [A] Always run [?] Help + (default is "D"):A + (foo) PS C:\> + + If you select ``[A] Always Run``, the certificate will be added to the + Trusted Publishers of your user account, and will be trusted in this + user's context henceforth. If you select ``[R] Run Once``, the script will + be run, but you will be prometed on a subsequent invocation. Advanced users + can add the signer's certificate to the Trusted Publishers of the Computer + account to apply to all users (though this technique is out of scope of this + document). + + Alternatively, you may relax the system execution policy to allow running + of local scripts without verifying the code signature using the following:: + + PS C:\> Set-ExecutionPolicy RemoteSigned + + Since the ``activate.ps1`` script is generated locally for each virtualenv, + it is not considered a remote script and can then be executed. + +.. _`execution policies`: http://technet.microsoft.com/en-us/library/dd347641.aspx + +The ``--system-site-packages`` Option +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you build with ``virtualenv --system-site-packages ENV``, your virtual +environment will inherit packages from ``/usr/lib/python2.7/site-packages`` +(or wherever your global site-packages directory is). + +This can be used if you have control over the global site-packages directory, +and you want to depend on the packages there. If you want isolation from the +global system, do not use this flag. Using Virtualenv without ``bin/python`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -222,13 +342,15 @@ can setup the environment like:: activate_this = '/path/to/env/bin/activate_this.py' execfile(activate_this, dict(__file__=activate_this)) -This will change ``sys.path`` and even change ``sys.prefix``, but also -allow you to use an existing interpreter. Items in your environment -will show up first on ``sys.path``, before global items. However, -this cannot undo the activation of other environments, or modules that -have been imported. You shouldn't try to, for instance, activate an -environment before a web request; you should activate *one* -environment as early as possible, and not do it again in that process. +This will change ``sys.path`` and even change ``sys.prefix``, but also allow +you to use an existing interpreter. Items in your environment will show up +first on ``sys.path``, before global items. However, global items will +always be accessible (as if the ``--system-site-packages`` flag had been used +in creating the environment, whether it was or not). Also, this cannot undo +the activation of other environments, or modules that have been imported. +You shouldn't try to, for instance, activate an environment before a web +request; you should activate *one* environment as early as possible, and not +do it again in that process. Making Environments Relocatable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -265,8 +387,55 @@ libraries on the system, if those C libraries are located somewhere different (either different versions, or a different filesystem layout). -Currently the ``--no-site-packages`` option will not be honored if you -use this on an environment. +If you use this flag to create an environment, currently, the +``--system-site-packages`` option will be implied. + +The ``--extra-search-dir`` Option +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When it creates a new environment, virtualenv installs either +setuptools or distribute, and pip. In normal operation, the latest +releases of these packages are fetched from the `Python Package Index +`_ (PyPI). In some circumstances, this +behavior may not be wanted, for example if you are using virtualenv +during a deployment and do not want to depend on Internet access and +PyPI availability. + +As an alternative, you can provide your own versions of setuptools, +distribute and/or pip on the filesystem, and tell virtualenv to use +those distributions instead of downloading them from the Internet. To +use this feature, pass one or more ``--extra-search-dir`` options to +virtualenv like this:: + + $ virtualenv --extra-search-dir=/path/to/distributions ENV + +The ``/path/to/distributions`` path should point to a directory that +contains setuptools, distribute and/or pip distributions. Setuptools +distributions must be ``.egg`` files; distribute and pip distributions +should be `.tar.gz` source distributions. + +Virtualenv will still download these packages if no satisfactory local +distributions are found. + +If you are really concerned about virtualenv fetching these packages +from the Internet and want to ensure that it never will, you can also +provide an option ``--never-download`` like so:: + + $ virtualenv --extra-search-dir=/path/to/distributions --never-download ENV + +If this option is provided, virtualenv will never try to download +setuptools/distribute or pip. Instead, it will exit with status code 1 +if it fails to find local distributions for any of these required +packages. The local distribution lookup is done in this order and the +following locations: + + #. The current directory. + #. The directory where virtualenv.py is located. + #. A ``virtualenv_support`` directory relative to the directory where + virtualenv.py is located. + #. If the file being executed is not named virtualenv.py (i.e. is a boot + script), a ``virtualenv_support`` directory relative to wherever + virtualenv.py is actually installed. Compare & Contrast with Alternatives ------------------------------------ @@ -306,6 +475,43 @@ There are several alternatives that create isolated environments: I *strongly* recommend anyone doing application development or deployment use one of these tools. +Contributing +------------ + +Refer to the `contributing to pip`_ documentation - it applies equally to +virtualenv. + +Virtualenv's release schedule is tied to pip's -- each time there's a new pip +release, there will be a new virtualenv release that bundles the new version of +pip. + +.. _contributing to pip: http://www.pip-installer.org/en/latest/contributing.html + +Running the tests +~~~~~~~~~~~~~~~~~ + +Virtualenv's test suite is small and not yet at all comprehensive, but we aim +to grow it. + +The easy way to run tests (handles test dependencies automatically):: + + $ python setup.py test + +If you want to run only a selection of the tests, you'll need to run them +directly with nose instead. Create a virtualenv, and install required +packages:: + + $ pip install nose mock + +Run nosetests:: + + $ nosetests + +Or select just a single test file to run:: + + $ nosetests tests.test_virtualenv + + Other Documentation and Links ----------------------------- @@ -333,3 +539,17 @@ Other Documentation and Links * `virtualenv commands `_ for some more workflow-related tools around virtualenv. + +Status and License +------------------ + +``virtualenv`` is a successor to `workingenv +`_, and an extension +of `virtual-python +`_. + +It was written by Ian Bicking, sponsored by the `Open Planning +Project `_ and is now maintained by a +`group of developers `_. +It is licensed under an +`MIT-style permissive license `_. diff --git a/other-licenses/virtualenv/docs/license.txt b/other-licenses/virtualenv/docs/license.txt deleted file mode 100644 index 2369791c52f5..000000000000 --- a/other-licenses/virtualenv/docs/license.txt +++ /dev/null @@ -1,23 +0,0 @@ -License -======= - -Copyright (c) 2007 Ian Bicking and Contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/other-licenses/virtualenv/docs/news.txt b/other-licenses/virtualenv/docs/news.txt index b58e27f6b526..7eaaeeffb7f6 100644 --- a/other-licenses/virtualenv/docs/news.txt +++ b/other-licenses/virtualenv/docs/news.txt @@ -1,8 +1,173 @@ Changes & News -------------- +1.7.1.2 (2012-02-17) +~~~~~~~~~~~~~~~~~~~~ + +* Fixed minor issue in `--relocatable`. Thanks, Cap Petschulat. + +1.7.1.1 (2012-02-16) +~~~~~~~~~~~~~~~~~~~~ + +* Bumped the version string in ``virtualenv.py`` up, too. + +* Fixed rST rendering bug of long description. + +1.7.1 (2012-02-16) +~~~~~~~~~~~~~~~~~~ + +* Update embedded pip to version 1.1. + +* Fix `--relocatable` under Python 3. Thanks Doug Hellmann. + +* Added environ PATH modification to activate_this.py. Thanks Doug + Napoleone. Fixes #14. + +* Support creating virtualenvs directly from a Python build directory on + Windows. Thanks CBWhiz. Fixes #139. + +* Use non-recursive symlinks to fix things up for posix_local install + scheme. Thanks michr. + +* Made activate script available for use with msys and cygwin on Windows. + Thanks Greg Haskins, Cliff Xuan, Jonathan Griffin and Doug Napoleone. + Fixes #176. + +* Fixed creation of virtualenvs on Windows when Python is not installed for + all users. Thanks Anatoly Techtonik for report and patch and Doug + Napoleone for testing and confirmation. Fixes #87. + +* Fixed creation of virtualenvs using -p in installs where some modules + that ought to be in the standard library (e.g. `readline`) are actually + installed in `site-packages` next to `virtualenv.py`. Thanks Greg Haskins + for report and fix. Fixes #167. + +* Added activation script for Powershell (signed by Jannis Leidel). Many + thanks to Jason R. Coombs. + +1.7 (2011-11-30) +~~~~~~~~~~~~~~~~ + +* Gave user-provided ``--extra-search-dir`` priority over default dirs for + finding setuptools/distribute (it already had priority for finding pip). + Thanks Ethan Jucovy. + +* Updated embedded Distribute release to 0.6.24. Thanks Alex Gronholm. + +* Made ``--no-site-packages`` behavior the default behavior. The + ``--no-site-packages`` flag is still permitted, but displays a warning when + used. Thanks Chris McDonough. + +* New flag: ``--system-site-packages``; this flag should be passed to get the + previous default global-site-package-including behavior back. + +* Added ability to set command options as environment variables and options + in a ``virtualenv.ini`` file. + +* Fixed various encoding related issues with paths. Thanks Gunnlaugur Thor Briem. + +* Made ``virtualenv.py`` script executable. + +1.6.4 (2011-07-21) +~~~~~~~~~~~~~~~~~~ + +* Restored ability to run on Python 2.4, too. + +1.6.3 (2011-07-16) +~~~~~~~~~~~~~~~~~~ + +* Restored ability to run on Python < 2.7. + +1.6.2 (2011-07-16) +~~~~~~~~~~~~~~~~~~ + +* Updated embedded distribute release to 0.6.19. + +* Updated embedded pip release to 1.0.2. + +* Fixed #141 - Be smarter about finding pkg_resources when using the + non-default Python intepreter (by using the ``-p`` option). + +* Fixed #112 - Fixed path in docs. + +* Fixed #109 - Corrected doctests of a Logger method. + +* Fixed #118 - Fixed creating virtualenvs on platforms that use the + "posix_local" install scheme, such as Ubuntu with Python 2.7. + +* Add missing library to Python 3 virtualenvs (``_dummy_thread``). + + +1.6.1 (2011-04-30) +~~~~~~~~~~~~~~~~~~ + +* Start to use git-flow. + +* Added support for PyPy 1.5 + +* Fixed #121 -- added sanity-checking of the -p argument. Thanks Paul Nasrat. + +* Added progress meter for pip installation as well as setuptools. Thanks Ethan + Jucovy. + +* Added --never-download and --search-dir options. Thanks Ethan Jucovy. + +1.6 +~~~ + +* Added Python 3 support! Huge thanks to Vinay Sajip and Vitaly Babiy. + +* Fixed creation of virtualenvs on Mac OS X when standard library modules + (readline) are installed outside the standard library. + +* Updated bundled pip to 1.0. + +1.5.2 +~~~~~ + +* Moved main repository to Github: https://github.com/pypa/virtualenv + +* Transferred primary maintenance from Ian to Jannis Leidel, Carl Meyer and Brian Rosner + +* Fixed a few more pypy related bugs. + +* Updated bundled pip to 0.8.2. + +* Handed project over to new team of maintainers. + +* Moved virtualenv to Github at https://github.com/pypa/virtualenv + +1.5.1 +~~~~~ + +* Added ``_weakrefset`` requirement for Python 2.7.1. + +* Fixed Windows regression in 1.5 + +1.5 +~~~ + +* Include pip 0.8.1. + +* Add support for PyPy. + +* Uses a proper temporary dir when installing environment requirements. + +* Add ``--prompt`` option to be able to override the default prompt prefix. + +* Fix an issue with ``--relocatable`` on Windows. + +* Fix issue with installing the wrong version of distribute. + +* Add fish and csh activate scripts. + +1.4.9 +~~~~~ + +* Include pip 0.7.2 + 1.4.8 ------ +~~~~~ * Fix for Mac OS X Framework builds that use ``--universal-archs=intel`` @@ -16,7 +181,7 @@ Changes & News * Include pip 0.7.1 1.4.7 ------ +~~~~~ * Include pip 0.7 diff --git a/other-licenses/virtualenv/setup.py b/other-licenses/virtualenv/setup.py index e70a73de5f46..146d61c17972 100644 --- a/other-licenses/virtualenv/setup.py +++ b/other-licenses/virtualenv/setup.py @@ -7,62 +7,52 @@ try: except ImportError: from distutils.core import setup if sys.platform == 'win32': - print 'Note: without Setuptools installed you will have to use "python -m virtualenv ENV"' + print('Note: without Setuptools installed you will have to use "python -m virtualenv ENV"') + kw = {} else: kw = {'scripts': ['scripts/virtualenv']} -import re here = os.path.dirname(os.path.abspath(__file__)) -## Figure out the version from virtualenv.py: -version_re = re.compile( - r'virtualenv_version = "(.*?)"') -fp = open(os.path.join(here, 'virtualenv.py')) -version = None -for line in fp: - match = version_re.search(line) - if match: - version = match.group(1) - break -else: - raise Exception("Cannot find version in virtualenv.py") -fp.close() - ## Get long_description from index.txt: f = open(os.path.join(here, 'docs', 'index.txt')) long_description = f.read().strip() long_description = long_description.split('split here', 1)[1] f.close() - -## A warning just for Ian (related to distribution): -try: - import getpass -except ImportError: - is_ianb = False -else: - is_ianb = getpass.getuser() == 'ianb' - -if is_ianb and 'register' in sys.argv: - if 'hg tip\n~~~~~~' in long_description: - print >> sys.stderr, ( - "WARNING: hg tip is in index.txt") +f = open(os.path.join(here, 'docs', 'news.txt')) +long_description += "\n\n" + f.read() +f.close() setup(name='virtualenv', - version=version, + # If you change the version here, change it in virtualenv.py and + # docs/conf.py as well + version="1.7.1.2", description="Virtual Python Environment builder", long_description=long_description, classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', - ], + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.4', + 'Programming Language :: Python :: 2.5', + 'Programming Language :: Python :: 2.6', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.1', + 'Programming Language :: Python :: 3.2', + ], keywords='setuptools deployment installation distutils', author='Ian Bicking', author_email='ianb@colorstudy.com', - url='http://virtualenv.openplans.org', + maintainer='Jannis Leidel, Carl Meyer and Brian Rosner', + maintainer_email='python-virtualenv@groups.google.com', + url='http://www.virtualenv.org', license='MIT', py_modules=['virtualenv'], packages=['virtualenv_support'], package_data={'virtualenv_support': ['*-py%s.egg' % sys.version[:3], '*.tar.gz']}, + test_suite='nose.collector', + tests_require=['nose', 'Mock'], **kw ) diff --git a/other-licenses/virtualenv/virtualenv.egg-info/PKG-INFO b/other-licenses/virtualenv/virtualenv.egg-info/PKG-INFO new file mode 100644 index 000000000000..4be2b3229f24 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/PKG-INFO @@ -0,0 +1,1022 @@ +Metadata-Version: 1.0 +Name: virtualenv +Version: 1.7.1.2 +Summary: Virtual Python Environment builder +Home-page: http://www.virtualenv.org +Author: Jannis Leidel, Carl Meyer and Brian Rosner +Author-email: python-virtualenv@groups.google.com +License: MIT +Description: + + Installation + ------------ + + You can install virtualenv with ``pip install virtualenv``, or the `latest + development version `_ + with ``pip install virtualenv==dev``. + + You can also use ``easy_install``, or if you have no Python package manager + available at all, you can just grab the single file `virtualenv.py`_ and run + it with ``python virtualenv.py``. + + .. _virtualenv.py: https://raw.github.com/pypa/virtualenv/master/virtualenv.py + + What It Does + ------------ + + ``virtualenv`` is a tool to create isolated Python environments. + + The basic problem being addressed is one of dependencies and versions, + and indirectly permissions. Imagine you have an application that + needs version 1 of LibFoo, but another application requires version + 2. How can you use both these applications? If you install + everything into ``/usr/lib/python2.7/site-packages`` (or whatever your + platform's standard location is), it's easy to end up in a situation + where you unintentionally upgrade an application that shouldn't be + upgraded. + + Or more generally, what if you want to install an application *and + leave it be*? If an application works, any change in its libraries or + the versions of those libraries can break the application. + + Also, what if you can't install packages into the global + ``site-packages`` directory? For instance, on a shared host. + + In all these cases, ``virtualenv`` can help you. It creates an + environment that has its own installation directories, that doesn't + share libraries with other virtualenv environments (and optionally + doesn't access the globally installed libraries either). + + The basic usage is:: + + $ python virtualenv.py ENV + + If you install it you can also just do ``virtualenv ENV``. + + This creates ``ENV/lib/pythonX.X/site-packages``, where any libraries you + install will go. It also creates ``ENV/bin/python``, which is a Python + interpreter that uses this environment. Anytime you use that interpreter + (including when a script has ``#!/path/to/ENV/bin/python`` in it) the libraries + in that environment will be used. + + It also installs either `Setuptools + `_ or `distribute + `_ into the environment. To use + Distribute instead of setuptools, just call virtualenv like this:: + + $ python virtualenv.py --distribute ENV + + You can also set the environment variable VIRTUALENV_USE_DISTRIBUTE. + + A new virtualenv also includes the `pip `_ + installer, so you can use ``ENV/bin/pip`` to install additional packages into + the environment. + + Environment variables and configuration files + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + virtualenv can not only be configured by passing command line options such as + ``--distribute`` but also by two other means: + + - Environment variables + + Each command line option is automatically used to look for environment + variables with the name format ``VIRTUALENV_``. That means + the name of the command line options are capitalized and have dashes + (``'-'``) replaced with underscores (``'_'``). + + For example, to automatically install Distribute instead of setuptools + you can also set an environment variable:: + + $ export VIRTUALENV_USE_DISTRIBUTE=true + $ python virtualenv.py ENV + + It's the same as passing the option to virtualenv directly:: + + $ python virtualenv.py --distribute ENV + + This also works for appending command line options, like ``--find-links``. + Just leave an empty space between the passsed values, e.g.:: + + $ export VIRTUALENV_EXTRA_SEARCH_DIR="/path/to/dists /path/to/other/dists" + $ virtualenv ENV + + is the same as calling:: + + $ python virtualenv.py --extra-search-dir=/path/to/dists --extra-search-dir=/path/to/other/dists ENV + + - Config files + + virtualenv also looks for a standard ini config file. On Unix and Mac OS X + that's ``$HOME/.virtualenv/virtualenv.ini`` and on Windows, it's + ``%HOME%\\virtualenv\\virtualenv.ini``. + + The names of the settings are derived from the long command line option, + e.g. the option ``--distribute`` would look like this:: + + [virtualenv] + distribute = true + + Appending options like ``--extra-search-dir`` can be written on multiple + lines:: + + [virtualenv] + extra-search-dir = + /path/to/dists + /path/to/other/dists + + Please have a look at the output of ``virtualenv --help`` for a full list + of supported options. + + Windows Notes + ~~~~~~~~~~~~~ + + Some paths within the virtualenv are slightly different on Windows: scripts and + executables on Windows go in ``ENV\Scripts\`` instead of ``ENV/bin/`` and + libraries go in ``ENV\Lib\`` rather than ``ENV/lib/``. + + To create a virtualenv under a path with spaces in it on Windows, you'll need + the `win32api `_ library installed. + + PyPy Support + ~~~~~~~~~~~~ + + Beginning with virtualenv version 1.5 `PyPy `_ is + supported. To use PyPy 1.4 or 1.4.1, you need a version of virtualenv >= 1.5. + To use PyPy 1.5, you need a version of virtualenv >= 1.6.1. + + Creating Your Own Bootstrap Scripts + ----------------------------------- + + While this creates an environment, it doesn't put anything into the + environment. Developers may find it useful to distribute a script + that sets up a particular environment, for example a script that + installs a particular web application. + + To create a script like this, call + ``virtualenv.create_bootstrap_script(extra_text)``, and write the + result to your new bootstrapping script. Here's the documentation + from the docstring: + + Creates a bootstrap script, which is like this script but with + extend_parser, adjust_options, and after_install hooks. + + This returns a string that (written to disk of course) can be used + as a bootstrap script with your own customizations. The script + will be the standard virtualenv.py script, with your extra text + added (your extra text should be Python code). + + If you include these functions, they will be called: + + ``extend_parser(optparse_parser)``: + You can add or remove options from the parser here. + + ``adjust_options(options, args)``: + You can change options here, or change the args (if you accept + different kinds of arguments, be sure you modify ``args`` so it is + only ``[DEST_DIR]``). + + ``after_install(options, home_dir)``: + + After everything is installed, this function is called. This + is probably the function you are most likely to use. An + example would be:: + + def after_install(options, home_dir): + if sys.platform == 'win32': + bin = 'Scripts' + else: + bin = 'bin' + subprocess.call([join(home_dir, bin, 'easy_install'), + 'MyPackage']) + subprocess.call([join(home_dir, bin, 'my-package-script'), + 'setup', home_dir]) + + This example immediately installs a package, and runs a setup + script from that package. + + Bootstrap Example + ~~~~~~~~~~~~~~~~~ + + Here's a more concrete example of how you could use this:: + + import virtualenv, textwrap + output = virtualenv.create_bootstrap_script(textwrap.dedent(""" + import os, subprocess + def after_install(options, home_dir): + etc = join(home_dir, 'etc') + if not os.path.exists(etc): + os.makedirs(etc) + subprocess.call([join(home_dir, 'bin', 'easy_install'), + 'BlogApplication']) + subprocess.call([join(home_dir, 'bin', 'paster'), + 'make-config', 'BlogApplication', + join(etc, 'blog.ini')]) + subprocess.call([join(home_dir, 'bin', 'paster'), + 'setup-app', join(etc, 'blog.ini')]) + """)) + f = open('blog-bootstrap.py', 'w').write(output) + + Another example is available `here + `_. + + activate script + ~~~~~~~~~~~~~~~ + + In a newly created virtualenv there will be a ``bin/activate`` shell + script. For Windows systems, activation scripts are provided for CMD.exe + and Powershell. + + On Posix systems you can do:: + + $ source bin/activate + + This will change your ``$PATH`` to point to the virtualenv's ``bin/`` + directory. (You have to use ``source`` because it changes your shell + environment in-place.) This is all it does; it's purely a convenience. If + you directly run a script or the python interpreter from the virtualenv's + ``bin/`` directory (e.g. ``path/to/env/bin/pip`` or + ``/path/to/env/bin/python script.py``) there's no need for activation. + + After activating an environment you can use the function ``deactivate`` to + undo the changes to your ``$PATH``. + + The ``activate`` script will also modify your shell prompt to indicate + which environment is currently active. You can disable this behavior, + which can be useful if you have your own custom prompt that already + displays the active environment name. To do so, set the + ``VIRTUAL_ENV_DISABLE_PROMPT`` environment variable to any non-empty + value before running the ``activate`` script. + + On Windows you just do:: + + > \path\to\env\Scripts\activate + + And type `deactivate` to undo the changes. + + Based on your active shell (CMD.exe or Powershell.exe), Windows will use + either activate.bat or activate.ps1 (as appropriate) to activate the + virtual environment. If using Powershell, see the notes about code signing + below. + + .. note:: + + If using Powershell, the ``activate`` script is subject to the + `execution policies`_ on the system. By default on Windows 7, the system's + excution policy is set to ``Restricted``, meaning no scripts like the + ``activate`` script are allowed to be executed. But that can't stop us + from changing that slightly to allow it to be executed. + + In order to use the script, you have to relax your system's execution + policy to ``AllSigned``, meaning all scripts on the system must be + digitally signed to be executed. Since the virtualenv activation + script is signed by one of the authors (Jannis Leidel) this level of + the execution policy suffices. As an adminstrator run:: + + PS C:\> Set-ExecutionPolicy AllSigned + + Then you'll be asked to trust the signer, when executing the script. + You will be prompted with the following:: + + PS C:\> virtualenv .\foo + New python executable in C:\foo\Scripts\python.exe + Installing setuptools................done. + Installing pip...................done. + PS C:\> .\foo\scripts\activate + + Do you want to run software from this untrusted publisher? + File C:\foo\scripts\activate.ps1 is published by E=jannis@leidel.info, + CN=Jannis Leidel, L=Berlin, S=Berlin, C=DE, Description=581796-Gh7xfJxkxQSIO4E0 + and is not trusted on your system. Only run scripts from trusted publishers. + [V] Never run [D] Do not run [R] Run once [A] Always run [?] Help + (default is "D"):A + (foo) PS C:\> + + If you select ``[A] Always Run``, the certificate will be added to the + Trusted Publishers of your user account, and will be trusted in this + user's context henceforth. If you select ``[R] Run Once``, the script will + be run, but you will be prometed on a subsequent invocation. Advanced users + can add the signer's certificate to the Trusted Publishers of the Computer + account to apply to all users (though this technique is out of scope of this + document). + + Alternatively, you may relax the system execution policy to allow running + of local scripts without verifying the code signature using the following:: + + PS C:\> Set-ExecutionPolicy RemoteSigned + + Since the ``activate.ps1`` script is generated locally for each virtualenv, + it is not considered a remote script and can then be executed. + + .. _`execution policies`: http://technet.microsoft.com/en-us/library/dd347641.aspx + + The ``--system-site-packages`` Option + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + If you build with ``virtualenv --system-site-packages ENV``, your virtual + environment will inherit packages from ``/usr/lib/python2.7/site-packages`` + (or wherever your global site-packages directory is). + + This can be used if you have control over the global site-packages directory, + and you want to depend on the packages there. If you want isolation from the + global system, do not use this flag. + + Using Virtualenv without ``bin/python`` + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Sometimes you can't or don't want to use the Python interpreter + created by the virtualenv. For instance, in a `mod_python + `_ or `mod_wsgi `_ + environment, there is only one interpreter. + + Luckily, it's easy. You must use the custom Python interpreter to + *install* libraries. But to *use* libraries, you just have to be sure + the path is correct. A script is available to correct the path. You + can setup the environment like:: + + activate_this = '/path/to/env/bin/activate_this.py' + execfile(activate_this, dict(__file__=activate_this)) + + This will change ``sys.path`` and even change ``sys.prefix``, but also allow + you to use an existing interpreter. Items in your environment will show up + first on ``sys.path``, before global items. However, global items will + always be accessible (as if the ``--system-site-packages`` flag had been used + in creating the environment, whether it was or not). Also, this cannot undo + the activation of other environments, or modules that have been imported. + You shouldn't try to, for instance, activate an environment before a web + request; you should activate *one* environment as early as possible, and not + do it again in that process. + + Making Environments Relocatable + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Note: this option is somewhat experimental, and there are probably + caveats that have not yet been identified. Also this does not + currently work on Windows. + + Normally environments are tied to a specific path. That means that + you cannot move an environment around or copy it to another computer. + You can fix up an environment to make it relocatable with the + command:: + + $ virtualenv --relocatable ENV + + This will make some of the files created by setuptools or distribute + use relative paths, and will change all the scripts to use ``activate_this.py`` + instead of using the location of the Python interpreter to select the + environment. + + **Note:** you must run this after you've installed *any* packages into + the environment. If you make an environment relocatable, then + install a new package, you must run ``virtualenv --relocatable`` + again. + + Also, this **does not make your packages cross-platform**. You can + move the directory around, but it can only be used on other similar + computers. Some known environmental differences that can cause + incompatibilities: a different version of Python, when one platform + uses UCS2 for its internal unicode representation and another uses + UCS4 (a compile-time option), obvious platform changes like Windows + vs. Linux, or Intel vs. ARM, and if you have libraries that bind to C + libraries on the system, if those C libraries are located somewhere + different (either different versions, or a different filesystem + layout). + + If you use this flag to create an environment, currently, the + ``--system-site-packages`` option will be implied. + + The ``--extra-search-dir`` Option + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + When it creates a new environment, virtualenv installs either + setuptools or distribute, and pip. In normal operation, the latest + releases of these packages are fetched from the `Python Package Index + `_ (PyPI). In some circumstances, this + behavior may not be wanted, for example if you are using virtualenv + during a deployment and do not want to depend on Internet access and + PyPI availability. + + As an alternative, you can provide your own versions of setuptools, + distribute and/or pip on the filesystem, and tell virtualenv to use + those distributions instead of downloading them from the Internet. To + use this feature, pass one or more ``--extra-search-dir`` options to + virtualenv like this:: + + $ virtualenv --extra-search-dir=/path/to/distributions ENV + + The ``/path/to/distributions`` path should point to a directory that + contains setuptools, distribute and/or pip distributions. Setuptools + distributions must be ``.egg`` files; distribute and pip distributions + should be `.tar.gz` source distributions. + + Virtualenv will still download these packages if no satisfactory local + distributions are found. + + If you are really concerned about virtualenv fetching these packages + from the Internet and want to ensure that it never will, you can also + provide an option ``--never-download`` like so:: + + $ virtualenv --extra-search-dir=/path/to/distributions --never-download ENV + + If this option is provided, virtualenv will never try to download + setuptools/distribute or pip. Instead, it will exit with status code 1 + if it fails to find local distributions for any of these required + packages. The local distribution lookup is done in this order and the + following locations: + + #. The current directory. + #. The directory where virtualenv.py is located. + #. A ``virtualenv_support`` directory relative to the directory where + virtualenv.py is located. + #. If the file being executed is not named virtualenv.py (i.e. is a boot + script), a ``virtualenv_support`` directory relative to wherever + virtualenv.py is actually installed. + + Compare & Contrast with Alternatives + ------------------------------------ + + There are several alternatives that create isolated environments: + + * ``workingenv`` (which I do not suggest you use anymore) is the + predecessor to this library. It used the main Python interpreter, + but relied on setting ``$PYTHONPATH`` to activate the environment. + This causes problems when running Python scripts that aren't part of + the environment (e.g., a globally installed ``hg`` or ``bzr``). It + also conflicted a lot with Setuptools. + + * `virtual-python + `_ + is also a predecessor to this library. It uses only symlinks, so it + couldn't work on Windows. It also symlinks over the *entire* + standard library and global ``site-packages``. As a result, it + won't see new additions to the global ``site-packages``. + + This script only symlinks a small portion of the standard library + into the environment, and so on Windows it is feasible to simply + copy these files over. Also, it creates a new/empty + ``site-packages`` and also adds the global ``site-packages`` to the + path, so updates are tracked separately. This script also installs + Setuptools automatically, saving a step and avoiding the need for + network access. + + * `zc.buildout `_ doesn't + create an isolated Python environment in the same style, but + achieves similar results through a declarative config file that sets + up scripts with very particular packages. As a declarative system, + it is somewhat easier to repeat and manage, but more difficult to + experiment with. ``zc.buildout`` includes the ability to setup + non-Python systems (e.g., a database server or an Apache instance). + + I *strongly* recommend anyone doing application development or + deployment use one of these tools. + + Contributing + ------------ + + Refer to the `contributing to pip`_ documentation - it applies equally to + virtualenv. + + Virtualenv's release schedule is tied to pip's -- each time there's a new pip + release, there will be a new virtualenv release that bundles the new version of + pip. + + .. _contributing to pip: http://www.pip-installer.org/en/latest/contributing.html + + Running the tests + ~~~~~~~~~~~~~~~~~ + + Virtualenv's test suite is small and not yet at all comprehensive, but we aim + to grow it. + + The easy way to run tests (handles test dependencies automatically):: + + $ python setup.py test + + If you want to run only a selection of the tests, you'll need to run them + directly with nose instead. Create a virtualenv, and install required + packages:: + + $ pip install nose mock + + Run nosetests:: + + $ nosetests + + Or select just a single test file to run:: + + $ nosetests tests.test_virtualenv + + + Other Documentation and Links + ----------------------------- + + * James Gardner has written a tutorial on using `virtualenv with + Pylons + `_. + + * `Blog announcement + `_. + + * Doug Hellmann wrote a description of his `command-line work flow + using virtualenv (virtualenvwrapper) + `_ + including some handy scripts to make working with multiple + environments easier. He also wrote `an example of using virtualenv + to try IPython + `_. + + * Chris Perkins created a `showmedo video including virtualenv + `_. + + * `Using virtualenv with mod_wsgi + `_. + + * `virtualenv commands + `_ for some more + workflow-related tools around virtualenv. + + Status and License + ------------------ + + ``virtualenv`` is a successor to `workingenv + `_, and an extension + of `virtual-python + `_. + + It was written by Ian Bicking, sponsored by the `Open Planning + Project `_ and is now maintained by a + `group of developers `_. + It is licensed under an + `MIT-style permissive license `_. + + Changes & News + -------------- + + 1.7.1.2 (2012-02-17) + ~~~~~~~~~~~~~~~~~~~~ + + * Fixed minor issue in `--relocatable`. Thanks, Cap Petschulat. + + 1.7.1.1 (2012-02-16) + ~~~~~~~~~~~~~~~~~~~~ + + * Bumped the version string in ``virtualenv.py`` up, too. + + * Fixed rST rendering bug of long description. + + 1.7.1 (2012-02-16) + ~~~~~~~~~~~~~~~~~~ + + * Update embedded pip to version 1.1. + + * Fix `--relocatable` under Python 3. Thanks Doug Hellmann. + + * Added environ PATH modification to activate_this.py. Thanks Doug + Napoleone. Fixes #14. + + * Support creating virtualenvs directly from a Python build directory on + Windows. Thanks CBWhiz. Fixes #139. + + * Use non-recursive symlinks to fix things up for posix_local install + scheme. Thanks michr. + + * Made activate script available for use with msys and cygwin on Windows. + Thanks Greg Haskins, Cliff Xuan, Jonathan Griffin and Doug Napoleone. + Fixes #176. + + * Fixed creation of virtualenvs on Windows when Python is not installed for + all users. Thanks Anatoly Techtonik for report and patch and Doug + Napoleone for testing and confirmation. Fixes #87. + + * Fixed creation of virtualenvs using -p in installs where some modules + that ought to be in the standard library (e.g. `readline`) are actually + installed in `site-packages` next to `virtualenv.py`. Thanks Greg Haskins + for report and fix. Fixes #167. + + * Added activation script for Powershell (signed by Jannis Leidel). Many + thanks to Jason R. Coombs. + + 1.7 (2011-11-30) + ~~~~~~~~~~~~~~~~ + + * Gave user-provided ``--extra-search-dir`` priority over default dirs for + finding setuptools/distribute (it already had priority for finding pip). + Thanks Ethan Jucovy. + + * Updated embedded Distribute release to 0.6.24. Thanks Alex Gronholm. + + * Made ``--no-site-packages`` behavior the default behavior. The + ``--no-site-packages`` flag is still permitted, but displays a warning when + used. Thanks Chris McDonough. + + * New flag: ``--system-site-packages``; this flag should be passed to get the + previous default global-site-package-including behavior back. + + * Added ability to set command options as environment variables and options + in a ``virtualenv.ini`` file. + + * Fixed various encoding related issues with paths. Thanks Gunnlaugur Thor Briem. + + * Made ``virtualenv.py`` script executable. + + 1.6.4 (2011-07-21) + ~~~~~~~~~~~~~~~~~~ + + * Restored ability to run on Python 2.4, too. + + 1.6.3 (2011-07-16) + ~~~~~~~~~~~~~~~~~~ + + * Restored ability to run on Python < 2.7. + + 1.6.2 (2011-07-16) + ~~~~~~~~~~~~~~~~~~ + + * Updated embedded distribute release to 0.6.19. + + * Updated embedded pip release to 1.0.2. + + * Fixed #141 - Be smarter about finding pkg_resources when using the + non-default Python intepreter (by using the ``-p`` option). + + * Fixed #112 - Fixed path in docs. + + * Fixed #109 - Corrected doctests of a Logger method. + + * Fixed #118 - Fixed creating virtualenvs on platforms that use the + "posix_local" install scheme, such as Ubuntu with Python 2.7. + + * Add missing library to Python 3 virtualenvs (``_dummy_thread``). + + + 1.6.1 (2011-04-30) + ~~~~~~~~~~~~~~~~~~ + + * Start to use git-flow. + + * Added support for PyPy 1.5 + + * Fixed #121 -- added sanity-checking of the -p argument. Thanks Paul Nasrat. + + * Added progress meter for pip installation as well as setuptools. Thanks Ethan + Jucovy. + + * Added --never-download and --search-dir options. Thanks Ethan Jucovy. + + 1.6 + ~~~ + + * Added Python 3 support! Huge thanks to Vinay Sajip and Vitaly Babiy. + + * Fixed creation of virtualenvs on Mac OS X when standard library modules + (readline) are installed outside the standard library. + + * Updated bundled pip to 1.0. + + 1.5.2 + ~~~~~ + + * Moved main repository to Github: https://github.com/pypa/virtualenv + + * Transferred primary maintenance from Ian to Jannis Leidel, Carl Meyer and Brian Rosner + + * Fixed a few more pypy related bugs. + + * Updated bundled pip to 0.8.2. + + * Handed project over to new team of maintainers. + + * Moved virtualenv to Github at https://github.com/pypa/virtualenv + + 1.5.1 + ~~~~~ + + * Added ``_weakrefset`` requirement for Python 2.7.1. + + * Fixed Windows regression in 1.5 + + 1.5 + ~~~ + + * Include pip 0.8.1. + + * Add support for PyPy. + + * Uses a proper temporary dir when installing environment requirements. + + * Add ``--prompt`` option to be able to override the default prompt prefix. + + * Fix an issue with ``--relocatable`` on Windows. + + * Fix issue with installing the wrong version of distribute. + + * Add fish and csh activate scripts. + + 1.4.9 + ~~~~~ + + * Include pip 0.7.2 + + 1.4.8 + ~~~~~ + + * Fix for Mac OS X Framework builds that use + ``--universal-archs=intel`` + + * Fix ``activate_this.py`` on Windows. + + * Allow ``$PYTHONHOME`` to be set, so long as you use ``source + bin/activate`` it will get unset; if you leave it set and do not + activate the environment it will still break the environment. + + * Include pip 0.7.1 + + 1.4.7 + ~~~~~ + + * Include pip 0.7 + + 1.4.6 + ~~~~~ + + * Allow ``activate.sh`` to skip updating the prompt (by setting + ``$VIRTUAL_ENV_DISABLE_PROMPT``). + + 1.4.5 + ~~~~~ + + * Include pip 0.6.3 + + * Fix ``activate.bat`` and ``deactivate.bat`` under Windows when + ``PATH`` contained a parenthesis + + 1.4.4 + ~~~~~ + + * Include pip 0.6.2 and Distribute 0.6.10 + + * Create the ``virtualenv`` script even when Setuptools isn't + installed + + * Fix problem with ``virtualenv --relocate`` when ``bin/`` has + subdirectories (e.g., ``bin/.svn/``); from Alan Franzoni. + + * If you set ``$VIRTUALENV_USE_DISTRIBUTE`` then virtualenv will use + Distribute by default (so you don't have to remember to use + ``--distribute``). + + 1.4.3 + ~~~~~ + + * Include pip 0.6.1 + + 1.4.2 + ~~~~~ + + * Fix pip installation on Windows + + * Fix use of stand-alone ``virtualenv.py`` (and boot scripts) + + * Exclude ~/.local (user site-packages) from environments when using + ``--no-site-packages`` + + 1.4.1 + ~~~~~ + + * Include pip 0.6 + + 1.4 + ~~~ + + * Updated setuptools to 0.6c11 + + * Added the --distribute option + + * Fixed packaging problem of support-files + + 1.3.4 + ~~~~~ + + * Virtualenv now copies the actual embedded Python binary on + Mac OS X to fix a hang on Snow Leopard (10.6). + + * Fail more gracefully on Windows when ``win32api`` is not installed. + + * Fix site-packages taking precedent over Jython's ``__classpath__`` + and also specially handle the new ``__pyclasspath__`` entry in + ``sys.path``. + + * Now copies Jython's ``registry`` file to the virtualenv if it exists. + + * Better find libraries when compiling extensions on Windows. + + * Create ``Scripts\pythonw.exe`` on Windows. + + * Added support for the Debian/Ubuntu + ``/usr/lib/pythonX.Y/dist-packages`` directory. + + * Set ``distutils.sysconfig.get_config_vars()['LIBDIR']`` (based on + ``sys.real_prefix``) which is reported to help building on Windows. + + * Make ``deactivate`` work on ksh + + * Fixes for ``--python``: make it work with ``--relocatable`` and the + symlink created to the exact Python version. + + 1.3.3 + ~~~~~ + + * Use Windows newlines in ``activate.bat``, which has been reported to help + when using non-ASCII directory names. + + * Fixed compatibility with Jython 2.5b1. + + * Added a function ``virtualenv.install_python`` for more fine-grained + access to what ``virtualenv.create_environment`` does. + + * Fix `a problem `_ + with Windows and paths that contain spaces. + + * If ``/path/to/env/.pydistutils.cfg`` exists (or + ``/path/to/env/pydistutils.cfg`` on Windows systems) then ignore + ``~/.pydistutils.cfg`` and use that other file instead. + + * Fix ` a problem + `_ picking up + some ``.so`` libraries in ``/usr/local``. + + 1.3.2 + ~~~~~ + + * Remove the ``[install] prefix = ...`` setting from the virtualenv + ``distutils.cfg`` -- this has been causing problems for a lot of + people, in rather obscure ways. + + * If you use a `boot script <./index.html#boot-script>`_ it will attempt to import ``virtualenv`` + and find a pre-downloaded Setuptools egg using that. + + * Added platform-specific paths, like ``/usr/lib/pythonX.Y/plat-linux2`` + + 1.3.1 + ~~~~~ + + * Real Python 2.6 compatibility. Backported the Python 2.6 updates to + ``site.py``, including `user directories + `_ + (this means older versions of Python will support user directories, + whether intended or not). + + * Always set ``[install] prefix`` in ``distutils.cfg`` -- previously + on some platforms where a system-wide ``distutils.cfg`` was present + with a ``prefix`` setting, packages would be installed globally + (usually in ``/usr/local/lib/pythonX.Y/site-packages``). + + * Sometimes Cygwin seems to leave ``.exe`` off ``sys.executable``; a + workaround is added. + + * Fix ``--python`` option. + + * Fixed handling of Jython environments that use a + jython-complete.jar. + + 1.3 + ~~~ + + * Update to Setuptools 0.6c9 + * Added an option ``virtualenv --relocatable EXISTING_ENV``, which + will make an existing environment "relocatable" -- the paths will + not be absolute in scripts, ``.egg-info`` and ``.pth`` files. This + may assist in building environments that can be moved and copied. + You have to run this *after* any new packages installed. + * Added ``bin/activate_this.py``, a file you can use like + ``execfile("path_to/activate_this.py", + dict(__file__="path_to/activate_this.py"))`` -- this will activate + the environment in place, similar to what `the mod_wsgi example + does `_. + * For Mac framework builds of Python, the site-packages directory + ``/Library/Python/X.Y/site-packages`` is added to ``sys.path``, from + Andrea Rech. + * Some platform-specific modules in Macs are added to the path now + (``plat-darwin/``, ``plat-mac/``, ``plat-mac/lib-scriptpackages``), + from Andrea Rech. + * Fixed a small Bashism in the ``bin/activate`` shell script. + * Added ``__future__`` to the list of required modules, for Python + 2.3. You'll still need to backport your own ``subprocess`` module. + * Fixed the ``__classpath__`` entry in Jython's ``sys.path`` taking + precedent over virtualenv's libs. + + 1.2 + ~~~ + + * Added a ``--python`` option to select the Python interpreter. + * Add ``warnings`` to the modules copied over, for Python 2.6 support. + * Add ``sets`` to the module copied over for Python 2.3 (though Python + 2.3 still probably doesn't work). + + 1.1.1 + ~~~~~ + + * Added support for Jython 2.5. + + 1.1 + ~~~ + + * Added support for Python 2.6. + * Fix a problem with missing ``DLLs/zlib.pyd`` on Windows. Create + * ``bin/python`` (or ``bin/python.exe``) even when you run virtualenv + with an interpreter named, e.g., ``python2.4`` + * Fix MacPorts Python + * Added --unzip-setuptools option + * Update to Setuptools 0.6c8 + * If the current directory is not writable, run ez_setup.py in ``/tmp`` + * Copy or symlink over the ``include`` directory so that packages will + more consistently compile. + + 1.0 + ~~~ + + * Fix build on systems that use ``/usr/lib64``, distinct from + ``/usr/lib`` (specifically CentOS x64). + * Fixed bug in ``--clear``. + * Fixed typos in ``deactivate.bat``. + * Preserve ``$PYTHONPATH`` when calling subprocesses. + + 0.9.2 + ~~~~~ + + * Fix include dir copying on Windows (makes compiling possible). + * Include the main ``lib-tk`` in the path. + * Patch ``distutils.sysconfig``: ``get_python_inc`` and + ``get_python_lib`` to point to the global locations. + * Install ``distutils.cfg`` before Setuptools, so that system + customizations of ``distutils.cfg`` won't effect the installation. + * Add ``bin/pythonX.Y`` to the virtualenv (in addition to + ``bin/python``). + * Fixed an issue with Mac Framework Python builds, and absolute paths + (from Ronald Oussoren). + + 0.9.1 + ~~~~~ + + * Improve ability to create a virtualenv from inside a virtualenv. + * Fix a little bug in ``bin/activate``. + * Actually get ``distutils.cfg`` to work reliably. + + 0.9 + ~~~ + + * Added ``lib-dynload`` and ``config`` to things that need to be + copied over in an environment. + * Copy over or symlink the ``include`` directory, so that you can + build packages that need the C headers. + * Include a ``distutils`` package, so you can locally update + ``distutils.cfg`` (in ``lib/pythonX.Y/distutils/distutils.cfg``). + * Better avoid downloading Setuptools, and hitting PyPI on environment + creation. + * Fix a problem creating a ``lib64/`` directory. + * Should work on MacOSX Framework builds (the default Python + installations on Mac). Thanks to Ronald Oussoren. + + 0.8.4 + ~~~~~ + + * Windows installs would sometimes give errors about ``sys.prefix`` that + were inaccurate. + * Slightly prettier output. + + 0.8.3 + ~~~~~ + + * Added support for Windows. + + 0.8.2 + ~~~~~ + + * Give a better warning if you are on an unsupported platform (Mac + Framework Pythons, and Windows). + * Give error about running while inside a workingenv. + * Give better error message about Python 2.3. + + 0.8.1 + ~~~~~ + + Fixed packaging of the library. + + 0.8 + ~~~ + + Initial release. Everything is changed and new! + +Keywords: setuptools deployment installation distutils +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.4 +Classifier: Programming Language :: Python :: 2.5 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.1 +Classifier: Programming Language :: Python :: 3.2 diff --git a/other-licenses/virtualenv/virtualenv.egg-info/SOURCES.txt b/other-licenses/virtualenv/virtualenv.egg-info/SOURCES.txt new file mode 100644 index 000000000000..0959ae6f99a7 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/SOURCES.txt @@ -0,0 +1,33 @@ +AUTHORS.txt +LICENSE.txt +MANIFEST.in +setup.py +virtualenv.py +docs/index.txt +docs/news.txt +scripts/virtualenv +virtualenv.egg-info/PKG-INFO +virtualenv.egg-info/SOURCES.txt +virtualenv.egg-info/dependency_links.txt +virtualenv.egg-info/entry_points.txt +virtualenv.egg-info/not-zip-safe +virtualenv.egg-info/top_level.txt +virtualenv_embedded/activate.bat +virtualenv_embedded/activate.csh +virtualenv_embedded/activate.fish +virtualenv_embedded/activate.ps1 +virtualenv_embedded/activate.sh +virtualenv_embedded/activate_this.py +virtualenv_embedded/deactivate.bat +virtualenv_embedded/distribute_setup.py +virtualenv_embedded/distutils-init.py +virtualenv_embedded/distutils.cfg +virtualenv_embedded/ez_setup.py +virtualenv_embedded/site.py +virtualenv_support/__init__.py +virtualenv_support/distribute-0.6.24.tar.gz +virtualenv_support/pip-1.1.tar.gz +virtualenv_support/setuptools-0.6c11-py2.4.egg +virtualenv_support/setuptools-0.6c11-py2.5.egg +virtualenv_support/setuptools-0.6c11-py2.6.egg +virtualenv_support/setuptools-0.6c11-py2.7.egg \ No newline at end of file diff --git a/other-licenses/virtualenv/virtualenv.egg-info/dependency_links.txt b/other-licenses/virtualenv/virtualenv.egg-info/dependency_links.txt new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/other-licenses/virtualenv/virtualenv.egg-info/entry_points.txt b/other-licenses/virtualenv/virtualenv.egg-info/entry_points.txt new file mode 100644 index 000000000000..46e4bb50eb5a --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/entry_points.txt @@ -0,0 +1,2 @@ +[console_scripts] +virtualenv = virtualenv:main diff --git a/other-licenses/virtualenv/virtualenv.egg-info/not-zip-safe b/other-licenses/virtualenv/virtualenv.egg-info/not-zip-safe new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/other-licenses/virtualenv/virtualenv.egg-info/top_level.txt b/other-licenses/virtualenv/virtualenv.egg-info/top_level.txt new file mode 100644 index 000000000000..2fe6b5d992bd --- /dev/null +++ b/other-licenses/virtualenv/virtualenv.egg-info/top_level.txt @@ -0,0 +1,2 @@ +virtualenv_support +virtualenv diff --git a/other-licenses/virtualenv/virtualenv.py b/other-licenses/virtualenv/virtualenv.py old mode 100644 new mode 100755 index 231249c2a958..9cff7733dd84 --- a/other-licenses/virtualenv/virtualenv.py +++ b/other-licenses/virtualenv/virtualenv.py @@ -2,22 +2,30 @@ """Create a "virtual" Python installation """ -virtualenv_version = "1.4.8" +# If you change the version here, change it in setup.py +# and docs/conf.py as well. +virtualenv_version = "1.7.1.2" +import base64 import sys import os import optparse import re import shutil import logging +import tempfile +import zlib +import errno import distutils.sysconfig +from distutils.util import strtobool + try: import subprocess -except ImportError, e: +except ImportError: if sys.version_info <= (2, 3): - print 'ERROR: %s' % e - print 'ERROR: this script requires Python 2.4 or greater; or at least the subprocess module.' - print 'If you copy subprocess.py from a newer version of Python this script will probably work' + print('ERROR: %s' % sys.exc_info()[1]) + print('ERROR: this script requires Python 2.4 or greater; or at least the subprocess module.') + print('If you copy subprocess.py from a newer version of Python this script will probably work') sys.exit(101) else: raise @@ -25,22 +33,221 @@ try: set except NameError: from sets import Set as set +try: + basestring +except NameError: + basestring = str + +try: + import ConfigParser +except ImportError: + import configparser as ConfigParser join = os.path.join py_version = 'python%s.%s' % (sys.version_info[0], sys.version_info[1]) + is_jython = sys.platform.startswith('java') -expected_exe = is_jython and 'jython' or 'python' +is_pypy = hasattr(sys, 'pypy_version_info') +is_win = (sys.platform == 'win32') +abiflags = getattr(sys, 'abiflags', '') + +user_dir = os.path.expanduser('~') +if sys.platform == 'win32': + user_dir = os.environ.get('APPDATA', user_dir) # Use %APPDATA% for roaming + default_storage_dir = os.path.join(user_dir, 'virtualenv') +else: + default_storage_dir = os.path.join(user_dir, '.virtualenv') +default_config_file = os.path.join(default_storage_dir, 'virtualenv.ini') + +if is_pypy: + expected_exe = 'pypy' +elif is_jython: + expected_exe = 'jython' +else: + expected_exe = 'python' + REQUIRED_MODULES = ['os', 'posix', 'posixpath', 'nt', 'ntpath', 'genericpath', 'fnmatch', 'locale', 'encodings', 'codecs', 'stat', 'UserDict', 'readline', 'copy_reg', 'types', 're', 'sre', 'sre_parse', 'sre_constants', 'sre_compile', - 'lib-dynload', 'config', 'zlib'] + 'zlib'] -if sys.version_info[:2] >= (2, 6): - REQUIRED_MODULES.extend(['warnings', 'linecache', '_abcoll', 'abc']) -if sys.version_info[:2] <= (2, 3): - REQUIRED_MODULES.extend(['sets', '__future__']) +REQUIRED_FILES = ['lib-dynload', 'config'] + +majver, minver = sys.version_info[:2] +if majver == 2: + if minver >= 6: + REQUIRED_MODULES.extend(['warnings', 'linecache', '_abcoll', 'abc']) + if minver >= 7: + REQUIRED_MODULES.extend(['_weakrefset']) + if minver <= 3: + REQUIRED_MODULES.extend(['sets', '__future__']) +elif majver == 3: + # Some extra modules are needed for Python 3, but different ones + # for different versions. + REQUIRED_MODULES.extend(['_abcoll', 'warnings', 'linecache', 'abc', 'io', + '_weakrefset', 'copyreg', 'tempfile', 'random', + '__future__', 'collections', 'keyword', 'tarfile', + 'shutil', 'struct', 'copy']) + if minver >= 2: + REQUIRED_FILES[-1] = 'config-%s' % majver + if minver == 3: + # The whole list of 3.3 modules is reproduced below - the current + # uncommented ones are required for 3.3 as of now, but more may be + # added as 3.3 development continues. + REQUIRED_MODULES.extend([ + #"aifc", + #"antigravity", + #"argparse", + #"ast", + #"asynchat", + #"asyncore", + "base64", + #"bdb", + #"binhex", + "bisect", + #"calendar", + #"cgi", + #"cgitb", + #"chunk", + #"cmd", + #"codeop", + #"code", + #"colorsys", + #"_compat_pickle", + #"compileall", + #"concurrent", + #"configparser", + #"contextlib", + #"cProfile", + #"crypt", + #"csv", + #"ctypes", + #"curses", + #"datetime", + #"dbm", + #"decimal", + #"difflib", + #"dis", + #"doctest", + #"dummy_threading", + "_dummy_thread", + #"email", + #"filecmp", + #"fileinput", + #"formatter", + #"fractions", + #"ftplib", + #"functools", + #"getopt", + #"getpass", + #"gettext", + #"glob", + #"gzip", + "hashlib", + "heapq", + "hmac", + #"html", + #"http", + #"idlelib", + #"imaplib", + #"imghdr", + #"importlib", + #"inspect", + #"json", + #"lib2to3", + #"logging", + #"macpath", + #"macurl2path", + #"mailbox", + #"mailcap", + #"_markupbase", + #"mimetypes", + #"modulefinder", + #"multiprocessing", + #"netrc", + #"nntplib", + #"nturl2path", + #"numbers", + #"opcode", + #"optparse", + #"os2emxpath", + #"pdb", + #"pickle", + #"pickletools", + #"pipes", + #"pkgutil", + #"platform", + #"plat-linux2", + #"plistlib", + #"poplib", + #"pprint", + #"profile", + #"pstats", + #"pty", + #"pyclbr", + #"py_compile", + #"pydoc_data", + #"pydoc", + #"_pyio", + #"queue", + #"quopri", + "reprlib", + "rlcompleter", + #"runpy", + #"sched", + #"shelve", + #"shlex", + #"smtpd", + #"smtplib", + #"sndhdr", + #"socket", + #"socketserver", + #"sqlite3", + #"ssl", + #"stringprep", + #"string", + #"_strptime", + #"subprocess", + #"sunau", + #"symbol", + #"symtable", + #"sysconfig", + #"tabnanny", + #"telnetlib", + #"test", + #"textwrap", + #"this", + #"_threading_local", + #"threading", + #"timeit", + #"tkinter", + #"tokenize", + #"token", + #"traceback", + #"trace", + #"tty", + #"turtledemo", + #"turtle", + #"unittest", + #"urllib", + #"uuid", + #"uu", + #"wave", + "weakref", + #"webbrowser", + #"wsgiref", + #"xdrlib", + #"xml", + #"xmlrpc", + #"zipfile", + ]) + +if is_pypy: + # these are needed to correctly display the exceptions that may happen + # during the bootstrap + REQUIRED_MODULES.extend(['traceback', 'linecache']) class Logger(object): @@ -147,7 +354,7 @@ class Logger(object): def level_matches(self, level, consumer_level): """ - >>> l = Logger() + >>> l = Logger([]) >>> l.level_matches(3, 4) False >>> l.level_matches(3, 2) @@ -165,7 +372,7 @@ class Logger(object): start, stop = level.start, level.stop if start is not None and start > consumer_level: return False - if stop is not None or stop <= consumer_level: + if stop is not None and stop <= consumer_level: return False return True else: @@ -182,6 +389,10 @@ class Logger(object): level_for_integer = classmethod(level_for_integer) +# create a silent logger just to prevent this from being undefined +# will be overridden with requested verbosity main() is called. +logger = Logger([(Logger.LEVELS[-1], sys.stdout)]) + def mkdir(path): if not os.path.exists(path): logger.info('Creating %s', path) @@ -189,6 +400,12 @@ def mkdir(path): else: logger.info('Directory %s already exists', path) +def copyfileordir(src, dest): + if os.path.isdir(src): + shutil.copytree(src, dest, True) + else: + shutil.copy2(src, dest) + def copyfile(src, dest, symlink=True): if not os.path.exists(src): # Some bad symlink in the src @@ -200,21 +417,26 @@ def copyfile(src, dest, symlink=True): if not os.path.exists(os.path.dirname(dest)): logger.info('Creating parent directories for %s' % os.path.dirname(dest)) os.makedirs(os.path.dirname(dest)) - if symlink and hasattr(os, 'symlink'): + if not os.path.islink(src): + srcpath = os.path.abspath(src) + else: + srcpath = os.readlink(src) + if symlink and hasattr(os, 'symlink') and not is_win: logger.info('Symlinking %s', dest) - os.symlink(os.path.abspath(src), dest) + try: + os.symlink(srcpath, dest) + except (OSError, NotImplementedError): + logger.info('Symlinking failed, copying to %s', dest) + copyfileordir(src, dest) else: logger.info('Copying to %s', dest) - if os.path.isdir(src): - shutil.copytree(src, dest, True) - else: - shutil.copy2(src, dest) + copyfileordir(src, dest) def writefile(dest, content, overwrite=True): if not os.path.exists(dest): logger.info('Writing %s', dest) f = open(dest, 'wb') - f.write(content) + f.write(content.encode('utf-8')) f.close() return else: @@ -227,7 +449,7 @@ def writefile(dest, content, overwrite=True): return logger.notify('Overwriting %s with new content', dest) f = open(dest, 'wb') - f.write(content) + f.write(content.encode('utf-8')) f.close() else: logger.info('Content %s already in place', dest) @@ -241,18 +463,23 @@ def rmtree(dir): def make_exe(fn): if hasattr(os, 'chmod'): - oldmode = os.stat(fn).st_mode & 07777 - newmode = (oldmode | 0555) & 07777 + oldmode = os.stat(fn).st_mode & 0xFFF # 0o7777 + newmode = (oldmode | 0x16D) & 0xFFF # 0o555, 0o7777 os.chmod(fn, newmode) logger.info('Changed mode of %s to %s', fn, oct(newmode)) def _find_file(filename, dirs): - for dir in dirs: + for dir in reversed(dirs): if os.path.exists(join(dir, filename)): return join(dir, filename) return filename -def _install_req(py_executable, unzip=False, distribute=False): +def _install_req(py_executable, unzip=False, distribute=False, + search_dirs=None, never_download=False): + + if search_dirs is None: + search_dirs = file_search_dirs() + if not distribute: setup_fn = 'setuptools-0.6c11-py%s.egg' % sys.version[:3] project_name = 'setuptools' @@ -260,22 +487,9 @@ def _install_req(py_executable, unzip=False, distribute=False): source = None else: setup_fn = None - source = 'distribute-0.6.8.tar.gz' + source = 'distribute-0.6.24.tar.gz' project_name = 'distribute' bootstrap_script = DISTRIBUTE_SETUP_PY - try: - # check if the global Python has distribute installed or plain - # setuptools - import pkg_resources - if not hasattr(pkg_resources, '_distribute'): - location = os.path.dirname(pkg_resources.__file__) - logger.notify("A globally installed setuptools was found (in %s)" % location) - logger.notify("Use the --no-site-packages option to use distribute in " - "the virtualenv.") - except ImportError: - pass - - search_dirs = file_search_dirs() if setup_fn is not None: setup_fn = _find_file(setup_fn, search_dirs) @@ -286,7 +500,6 @@ def _install_req(py_executable, unzip=False, distribute=False): if is_jython and os._name == 'nt': # Jython's .bat sys.executable can't handle a command line # argument with newlines - import tempfile fd, ez_setup = tempfile.mkstemp('.py') os.write(fd, bootstrap_script) os.close(fd) @@ -296,6 +509,7 @@ def _install_req(py_executable, unzip=False, distribute=False): if unzip: cmd.append('--always-unzip') env = {} + remove_from_env = [] if logger.stdout_level_matches(logger.DEBUG): cmd.append('-v') @@ -310,8 +524,23 @@ def _install_req(py_executable, unzip=False, distribute=False): else: # the source is found, let's chdir if source is not None and os.path.exists(source): + logger.info('Using existing %s egg: %s' % (project_name, source)) os.chdir(os.path.dirname(source)) + # in this case, we want to be sure that PYTHONPATH is unset (not + # just empty, really unset), else CPython tries to import the + # site.py that it's in virtualenv_support + remove_from_env.append('PYTHONPATH') else: + if never_download: + logger.fatal("Can't find any local distributions of %s to install " + "and --never-download is set. Either re-run virtualenv " + "without the --never-download option, or place a %s " + "distribution (%s) in one of these " + "locations: %r" % (project_name, project_name, + setup_fn or source, + search_dirs)) + sys.exit(1) + logger.info('No %s egg found; downloading' % project_name) cmd.extend(['--always-copy', '-U', project_name]) logger.start_progress('Installing %s...' % project_name) @@ -324,16 +553,17 @@ def _install_req(py_executable, unzip=False, distribute=False): return filter_ez_setup(line, project_name) if not os.access(os.getcwd(), os.W_OK): - cwd = '/tmp' + cwd = tempfile.mkdtemp() if source is not None and os.path.exists(source): # the current working dir is hostile, let's copy the - # tarball to /tmp + # tarball to a temp dir target = os.path.join(cwd, os.path.split(source)[-1]) shutil.copy(source, target) try: call_subprocess(cmd, show_stdout=False, filter_stdout=_filter_ez_setup, extra_env=env, + remove_from_env=remove_from_env, cwd=cwd) finally: logger.indent -= 2 @@ -357,19 +587,28 @@ def file_search_dirs(): dirs.append(os.path.join(os.path.dirname(virtualenv.__file__), 'virtualenv_support')) return [d for d in dirs if os.path.isdir(d)] -def install_setuptools(py_executable, unzip=False): - _install_req(py_executable, unzip) +def install_setuptools(py_executable, unzip=False, + search_dirs=None, never_download=False): + _install_req(py_executable, unzip, + search_dirs=search_dirs, never_download=never_download) -def install_distribute(py_executable, unzip=False): - _install_req(py_executable, unzip, distribute=True) +def install_distribute(py_executable, unzip=False, + search_dirs=None, never_download=False): + _install_req(py_executable, unzip, distribute=True, + search_dirs=search_dirs, never_download=never_download) _pip_re = re.compile(r'^pip-.*(zip|tar.gz|tar.bz2|tgz|tbz)$', re.I) -def install_pip(py_executable): +def install_pip(py_executable, search_dirs=None, never_download=False): + if search_dirs is None: + search_dirs = file_search_dirs() + filenames = [] - for dir in file_search_dirs(): + for dir in search_dirs: filenames.extend([join(dir, fn) for fn in os.listdir(dir) if _pip_re.search(fn)]) - filenames.sort(key=lambda x: os.path.basename(x).lower()) + filenames = [(os.path.basename(filename).lower(), i, filename) for i, filename in enumerate(filenames)] + filenames.sort() + filenames = [filename for basename, i, filename in filenames] if not filenames: filename = 'pip' else: @@ -377,11 +616,22 @@ def install_pip(py_executable): easy_install_script = 'easy_install' if sys.platform == 'win32': easy_install_script = 'easy_install-script.py' - cmd = [py_executable, join(os.path.dirname(py_executable), easy_install_script), filename] + cmd = [join(os.path.dirname(py_executable), easy_install_script), filename] + if sys.platform == 'win32': + cmd.insert(0, py_executable) if filename == 'pip': + if never_download: + logger.fatal("Can't find any local distributions of pip to install " + "and --never-download is set. Either re-run virtualenv " + "without the --never-download option, or place a pip " + "source distribution (zip/tar.gz/tar.bz2) in one of these " + "locations: %r" % search_dirs) + sys.exit(1) logger.info('Installing pip from network...') else: - logger.info('Installing %s' % os.path.basename(filename)) + logger.info('Installing existing %s distribution: %s' % ( + os.path.basename(filename), filename)) + logger.start_progress('Installing pip...') logger.indent += 2 def _filter_setup(line): return filter_ez_setup(line, 'pip') @@ -390,6 +640,7 @@ def install_pip(py_executable): filter_stdout=_filter_setup) finally: logger.indent -= 2 + logger.end_progress() def filter_ez_setup(line, project_name='setuptools'): if not line.strip(): @@ -410,10 +661,113 @@ def filter_ez_setup(line, project_name='setuptools'): return Logger.DEBUG return Logger.INFO + +class UpdatingDefaultsHelpFormatter(optparse.IndentedHelpFormatter): + """ + Custom help formatter for use in ConfigOptionParser that updates + the defaults before expanding them, allowing them to show up correctly + in the help listing + """ + def expand_default(self, option): + if self.parser is not None: + self.parser.update_defaults(self.parser.defaults) + return optparse.IndentedHelpFormatter.expand_default(self, option) + + +class ConfigOptionParser(optparse.OptionParser): + """ + Custom option parser which updates its defaults by by checking the + configuration files and environmental variables + """ + def __init__(self, *args, **kwargs): + self.config = ConfigParser.RawConfigParser() + self.files = self.get_config_files() + self.config.read(self.files) + optparse.OptionParser.__init__(self, *args, **kwargs) + + def get_config_files(self): + config_file = os.environ.get('VIRTUALENV_CONFIG_FILE', False) + if config_file and os.path.exists(config_file): + return [config_file] + return [default_config_file] + + def update_defaults(self, defaults): + """ + Updates the given defaults with values from the config files and + the environ. Does a little special handling for certain types of + options (lists). + """ + # Then go and look for the other sources of configuration: + config = {} + # 1. config files + config.update(dict(self.get_config_section('virtualenv'))) + # 2. environmental variables + config.update(dict(self.get_environ_vars())) + # Then set the options with those values + for key, val in config.items(): + key = key.replace('_', '-') + if not key.startswith('--'): + key = '--%s' % key # only prefer long opts + option = self.get_option(key) + if option is not None: + # ignore empty values + if not val: + continue + # handle multiline configs + if option.action == 'append': + val = val.split() + else: + option.nargs = 1 + if option.action in ('store_true', 'store_false', 'count'): + val = strtobool(val) + try: + val = option.convert_value(key, val) + except optparse.OptionValueError: + e = sys.exc_info()[1] + print("An error occured during configuration: %s" % e) + sys.exit(3) + defaults[option.dest] = val + return defaults + + def get_config_section(self, name): + """ + Get a section of a configuration + """ + if self.config.has_section(name): + return self.config.items(name) + return [] + + def get_environ_vars(self, prefix='VIRTUALENV_'): + """ + Returns a generator with all environmental vars with prefix VIRTUALENV + """ + for key, val in os.environ.items(): + if key.startswith(prefix): + yield (key.replace(prefix, '').lower(), val) + + def get_default_values(self): + """ + Overridding to make updating the defaults after instantiation of + the option parser possible, update_defaults() does the dirty work. + """ + if not self.process_default_values: + # Old, pre-Optik 1.5 behaviour. + return optparse.Values(self.defaults) + + defaults = self.update_defaults(self.defaults.copy()) # ours + for option in self._get_all_options(): + default = defaults.get(option.dest) + if isinstance(default, basestring): + opt_str = option.get_opt_string() + defaults[option.dest] = option.check_value(opt_str, default) + return optparse.Values(defaults) + + def main(): - parser = optparse.OptionParser( + parser = ConfigOptionParser( version=virtualenv_version, - usage="%prog [OPTIONS] DEST_DIR") + usage="%prog [OPTIONS] DEST_DIR", + formatter=UpdatingDefaultsHelpFormatter()) parser.add_option( '-v', '--verbose', @@ -450,6 +804,13 @@ def main(): help="Don't give access to the global site-packages dir to the " "virtual environment") + parser.add_option( + '--system-site-packages', + dest='system_site_packages', + action='store_true', + help="Give access to the global site-packages dir to the " + "virtual environment") + parser.add_option( '--unzip-setuptools', dest='unzip_setuptools', @@ -467,8 +828,29 @@ def main(): '--distribute', dest='use_distribute', action='store_true', - help='Use Distribute instead of Setuptools. Set environ variable' - 'VIRTUALENV_USE_DISTRIBUTE to make it the default ') + help='Use Distribute instead of Setuptools. Set environ variable ' + 'VIRTUALENV_DISTRIBUTE to make it the default ') + + default_search_dirs = file_search_dirs() + parser.add_option( + '--extra-search-dir', + dest="search_dirs", + action="append", + default=default_search_dirs, + help="Directory to look for setuptools/distribute/pip distributions in. " + "You can add any number of additional --extra-search-dir paths.") + + parser.add_option( + '--never-download', + dest="never_download", + action="store_true", + help="Never download anything from the network. Instead, virtualenv will fail " + "if local distributions of setuptools/distribute/pip are not present.") + + parser.add_option( + '--prompt=', + dest='prompt', + help='Provides an alternative prompt prefix for this environment') if 'extend_parser' in globals(): extend_parser(parser) @@ -494,15 +876,26 @@ def main(): file = __file__ if file.endswith('.pyc'): file = file[:-1] - os.execvpe(interpreter, [interpreter, file] + sys.argv[1:], env) + popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env) + raise SystemExit(popen.wait()) + # Force --distribute on Python 3, since setuptools is not available. + if majver > 2: + options.use_distribute = True + + if os.environ.get('PYTHONDONTWRITEBYTECODE') and not options.use_distribute: + print( + "The PYTHONDONTWRITEBYTECODE environment variable is " + "not compatible with setuptools. Either use --distribute " + "or unset PYTHONDONTWRITEBYTECODE.") + sys.exit(2) if not args: - print 'You must provide a DEST_DIR' + print('You must provide a DEST_DIR') parser.print_help() sys.exit(2) if len(args) > 1: - print 'There must be only one argument: DEST_DIR (you gave %s)' % ( - ' '.join(args)) + print('There must be only one argument: DEST_DIR (you gave %s)' % ( + ' '.join(args))) parser.print_help() sys.exit(2) @@ -521,21 +914,36 @@ def main(): make_environment_relocatable(home_dir) return - create_environment(home_dir, site_packages=not options.no_site_packages, clear=options.clear, + if options.no_site_packages: + logger.warn('The --no-site-packages flag is deprecated; it is now ' + 'the default behavior.') + + create_environment(home_dir, + site_packages=options.system_site_packages, + clear=options.clear, unzip_setuptools=options.unzip_setuptools, - use_distribute=options.use_distribute) + use_distribute=options.use_distribute, + prompt=options.prompt, + search_dirs=options.search_dirs, + never_download=options.never_download) if 'after_install' in globals(): after_install(options, home_dir) def call_subprocess(cmd, show_stdout=True, filter_stdout=None, cwd=None, - raise_on_returncode=True, extra_env=None): + raise_on_returncode=True, extra_env=None, + remove_from_env=None): cmd_parts = [] for part in cmd: - if len(part) > 40: - part = part[:30]+"..."+part[-5:] + if len(part) > 45: + part = part[:20]+"..."+part[-20:] if ' ' in part or '\n' in part or '"' in part or "'" in part: part = '"%s"' % part.replace('"', '\\"') + if hasattr(part, 'decode'): + try: + part = part.decode(sys.getdefaultencoding()) + except UnicodeDecodeError: + part = part.decode(sys.getfilesystemencoding()) cmd_parts.append(part) cmd_desc = ' '.join(cmd_parts) if show_stdout: @@ -543,24 +951,35 @@ def call_subprocess(cmd, show_stdout=True, else: stdout = subprocess.PIPE logger.debug("Running command %s" % cmd_desc) - if extra_env: + if extra_env or remove_from_env: env = os.environ.copy() - env.update(extra_env) + if extra_env: + env.update(extra_env) + if remove_from_env: + for varname in remove_from_env: + env.pop(varname, None) else: env = None try: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, stdin=None, stdout=stdout, cwd=cwd, env=env) - except Exception, e: + except Exception: + e = sys.exc_info()[1] logger.fatal( "Error %s while executing command %s" % (e, cmd_desc)) raise all_output = [] if stdout is not None: stdout = proc.stdout + encoding = sys.getdefaultencoding() + fs_encoding = sys.getfilesystemencoding() while 1: line = stdout.readline() + try: + line = line.decode(encoding) + except UnicodeDecodeError: + line = line.decode(fs_encoding) if not line: break line = line.rstrip() @@ -591,13 +1010,14 @@ def call_subprocess(cmd, show_stdout=True, % (cmd_desc, proc.returncode)) -def create_environment(home_dir, site_packages=True, clear=False, - unzip_setuptools=False, use_distribute=False): +def create_environment(home_dir, site_packages=False, clear=False, + unzip_setuptools=False, use_distribute=False, + prompt=None, search_dirs=None, never_download=False): """ Creates a new environment in ``home_dir``. - If ``site_packages`` is true (the default) then the global - ``site-packages/`` directory will be on the path. + If ``site_packages`` is true, then the global ``site-packages/`` + directory will be on the path. If ``clear`` is true (default False) then the environment will first be cleared. @@ -608,16 +1028,20 @@ def create_environment(home_dir, site_packages=True, clear=False, home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear)) - install_distutils(lib_dir, home_dir) + install_distutils(home_dir) + # use_distribute also is True if VIRTUALENV_DISTRIBUTE env var is set + # we also check VIRTUALENV_USE_DISTRIBUTE for backwards compatibility if use_distribute or os.environ.get('VIRTUALENV_USE_DISTRIBUTE'): - install_distribute(py_executable, unzip=unzip_setuptools) + install_distribute(py_executable, unzip=unzip_setuptools, + search_dirs=search_dirs, never_download=never_download) else: - install_setuptools(py_executable, unzip=unzip_setuptools) + install_setuptools(py_executable, unzip=unzip_setuptools, + search_dirs=search_dirs, never_download=never_download) - install_pip(py_executable) + install_pip(py_executable, search_dirs=search_dirs, never_download=never_download) - install_activate(home_dir, bin_dir) + install_activate(home_dir, bin_dir, prompt) def path_locations(home_dir): """Return the path locations for the environment (where libraries are, @@ -633,9 +1057,9 @@ def path_locations(home_dir): try: import win32api except ImportError: - print 'Error: the path "%s" has a space in it' % home_dir - print 'To handle these kinds of paths, the win32api module must be installed:' - print ' http://sourceforge.net/projects/pywin32/' + print('Error: the path "%s" has a space in it' % home_dir) + print('To handle these kinds of paths, the win32api module must be installed:') + print(' http://sourceforge.net/projects/pywin32/') sys.exit(3) home_dir = win32api.GetShortPathName(home_dir) lib_dir = join(home_dir, 'Lib') @@ -645,16 +1069,75 @@ def path_locations(home_dir): lib_dir = join(home_dir, 'Lib') inc_dir = join(home_dir, 'Include') bin_dir = join(home_dir, 'bin') + elif is_pypy: + lib_dir = home_dir + inc_dir = join(home_dir, 'include') + bin_dir = join(home_dir, 'bin') else: lib_dir = join(home_dir, 'lib', py_version) - inc_dir = join(home_dir, 'include', py_version) + inc_dir = join(home_dir, 'include', py_version + abiflags) bin_dir = join(home_dir, 'bin') return home_dir, lib_dir, inc_dir, bin_dir + +def change_prefix(filename, dst_prefix): + prefixes = [sys.prefix] + + if sys.platform == "darwin": + prefixes.extend(( + os.path.join("/Library/Python", sys.version[:3], "site-packages"), + os.path.join(sys.prefix, "Extras", "lib", "python"), + os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"))) + + if hasattr(sys, 'real_prefix'): + prefixes.append(sys.real_prefix) + prefixes = list(map(os.path.abspath, prefixes)) + filename = os.path.abspath(filename) + for src_prefix in prefixes: + if filename.startswith(src_prefix): + _, relpath = filename.split(src_prefix, 1) + assert relpath[0] == os.sep + relpath = relpath[1:] + return join(dst_prefix, relpath) + assert False, "Filename %s does not start with any of these prefixes: %s" % \ + (filename, prefixes) + +def copy_required_modules(dst_prefix): + import imp + # If we are running under -p, we need to remove the current + # directory from sys.path temporarily here, so that we + # definitely get the modules from the site directory of + # the interpreter we are running under, not the one + # virtualenv.py is installed under (which might lead to py2/py3 + # incompatibility issues) + _prev_sys_path = sys.path + if os.environ.get('VIRTUALENV_INTERPRETER_RUNNING'): + sys.path = sys.path[1:] + try: + for modname in REQUIRED_MODULES: + if modname in sys.builtin_module_names: + logger.info("Ignoring built-in bootstrap module: %s" % modname) + continue + try: + f, filename, _ = imp.find_module(modname) + except ImportError: + logger.info("Cannot import bootstrap module: %s" % modname) + else: + if f is not None: + f.close() + dst_filename = change_prefix(filename, dst_prefix) + copyfile(filename, dst_filename) + if filename.endswith('.pyc'): + pyfile = filename[:-1] + if os.path.exists(pyfile): + copyfile(pyfile, dst_filename[:-1]) + finally: + sys.path = _prev_sys_path + def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): """Install just the base environment, no distutils patches etc""" if sys.executable.startswith(bin_dir): - print 'Please use the *system* python to run this script' + print('Please use the *system* python to run this script') return if clear: @@ -675,24 +1158,36 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): stdlib_dirs.append(join(os.path.dirname(stdlib_dirs[0]), 'DLLs')) elif sys.platform == 'darwin': stdlib_dirs.append(join(stdlib_dirs[0], 'site-packages')) - for stdlib_dir in stdlib_dirs: - if not os.path.isdir(stdlib_dir): - continue - if hasattr(os, 'symlink'): - logger.info('Symlinking Python bootstrap modules') - else: - logger.info('Copying Python bootstrap modules') - logger.indent += 2 - try: + if hasattr(os, 'symlink'): + logger.info('Symlinking Python bootstrap modules') + else: + logger.info('Copying Python bootstrap modules') + logger.indent += 2 + try: + # copy required files... + for stdlib_dir in stdlib_dirs: + if not os.path.isdir(stdlib_dir): + continue for fn in os.listdir(stdlib_dir): - if fn != 'site-packages' and os.path.splitext(fn)[0] in REQUIRED_MODULES: + bn = os.path.splitext(fn)[0] + if fn != 'site-packages' and bn in REQUIRED_FILES: copyfile(join(stdlib_dir, fn), join(lib_dir, fn)) - finally: - logger.indent -= 2 + # ...and modules + copy_required_modules(home_dir) + finally: + logger.indent -= 2 mkdir(join(lib_dir, 'site-packages')) - writefile(join(lib_dir, 'site.py'), SITE_PY) - writefile(join(lib_dir, 'orig-prefix.txt'), prefix) - site_packages_filename = join(lib_dir, 'no-global-site-packages.txt') + import site + site_filename = site.__file__ + if site_filename.endswith('.pyc'): + site_filename = site_filename[:-1] + elif site_filename.endswith('$py.class'): + site_filename = site_filename.replace('$py.class', '.py') + site_filename_dst = change_prefix(site_filename, home_dir) + site_dir = os.path.dirname(site_filename_dst) + writefile(site_filename_dst, SITE_PY) + writefile(join(site_dir, 'orig-prefix.txt'), prefix) + site_packages_filename = join(site_dir, 'no-global-site-packages.txt') if not site_packages: writefile(site_packages_filename, '') else: @@ -700,13 +1195,17 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): logger.info('Deleting %s' % site_packages_filename) os.unlink(site_packages_filename) - stdinc_dir = join(prefix, 'include', py_version) + if is_pypy or is_win: + stdinc_dir = join(prefix, 'include') + else: + stdinc_dir = join(prefix, 'include', py_version + abiflags) if os.path.exists(stdinc_dir): copyfile(stdinc_dir, inc_dir) else: logger.debug('No include dir %s' % stdinc_dir) - if sys.exec_prefix != prefix: + # pypy never uses exec_prefix, just ignore it + if sys.exec_prefix != prefix and not is_pypy: if sys.platform == 'win32': exec_dir = join(sys.exec_prefix, 'lib') elif is_jython: @@ -740,6 +1239,18 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): os.path.dirname(py_executable), 'python') logger.notify('New %s executable in %s', expected_exe, py_executable) + pcbuild_dir = os.path.dirname(sys.executable) + pyd_pth = os.path.join(lib_dir, 'site-packages', 'virtualenv_builddir_pyd.pth') + if is_win and os.path.exists(os.path.join(pcbuild_dir, 'build.bat')): + logger.notify('Detected python running from build directory %s', pcbuild_dir) + logger.notify('Writing .pth file linking to build directory for *.pyd files') + writefile(pyd_pth, pcbuild_dir) + else: + pcbuild_dir = None + if os.path.exists(pyd_pth): + logger.info('Deleting %s (not Windows env or not build directory python)' % pyd_pth) + os.unlink(pyd_pth) + if sys.executable != py_executable: ## FIXME: could I just hard link? executable = sys.executable @@ -755,6 +1266,37 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): if os.path.exists(pythonw): logger.info('Also created pythonw.exe') shutil.copyfile(pythonw, os.path.join(os.path.dirname(py_executable), 'pythonw.exe')) + python_d = os.path.join(os.path.dirname(sys.executable), 'python_d.exe') + python_d_dest = os.path.join(os.path.dirname(py_executable), 'python_d.exe') + if os.path.exists(python_d): + logger.info('Also created python_d.exe') + shutil.copyfile(python_d, python_d_dest) + elif os.path.exists(python_d_dest): + logger.info('Removed python_d.exe as it is no longer at the source') + os.unlink(python_d_dest) + # we need to copy the DLL to enforce that windows will load the correct one. + # may not exist if we are cygwin. + py_executable_dll = 'python%s%s.dll' % ( + sys.version_info[0], sys.version_info[1]) + py_executable_dll_d = 'python%s%s_d.dll' % ( + sys.version_info[0], sys.version_info[1]) + pythondll = os.path.join(os.path.dirname(sys.executable), py_executable_dll) + pythondll_d = os.path.join(os.path.dirname(sys.executable), py_executable_dll_d) + pythondll_d_dest = os.path.join(os.path.dirname(py_executable), py_executable_dll_d) + if os.path.exists(pythondll): + logger.info('Also created %s' % py_executable_dll) + shutil.copyfile(pythondll, os.path.join(os.path.dirname(py_executable), py_executable_dll)) + if os.path.exists(pythondll_d): + logger.info('Also created %s' % py_executable_dll_d) + shutil.copyfile(pythondll_d, pythondll_d_dest) + elif os.path.exists(pythondll_d_dest): + logger.info('Removed %s as the source does not exist' % pythondll_d_dest) + os.unlink(pythondll_d_dest) + if is_pypy: + # make a symlink python --> pypy-c + python_executable = os.path.join(os.path.dirname(py_executable), 'python') + logger.info('Also created executable %s' % python_executable) + copyfile(py_executable, python_executable) if os.path.splitext(os.path.basename(py_executable))[0] != expected_exe: secondary_exe = os.path.join(os.path.dirname(py_executable), @@ -771,18 +1313,20 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): shutil.copyfile(sys.executable, secondary_exe) make_exe(secondary_exe) - if 'Python.framework' in prefix: - logger.debug('MacOSX Python framework detected') - - # Make sure we use the the embedded interpreter inside - # the framework, even if sys.executable points to - # the stub executable in ${sys.prefix}/bin - # See http://groups.google.com/group/python-virtualenv/ - # browse_thread/thread/17cab2f85da75951 - shutil.copy( - os.path.join( - prefix, 'Resources/Python.app/Contents/MacOS/%s' % os.path.basename(sys.executable)), - py_executable) + if '.framework' in prefix: + if 'Python.framework' in prefix: + logger.debug('MacOSX Python framework detected') + # Make sure we use the the embedded interpreter inside + # the framework, even if sys.executable points to + # the stub executable in ${sys.prefix}/bin + # See http://groups.google.com/group/python-virtualenv/ + # browse_thread/thread/17cab2f85da75951 + original_python = os.path.join( + prefix, 'Resources/Python.app/Contents/MacOS/Python') + if 'EPD' in prefix: + logger.debug('EPD framework detected') + original_python = os.path.join(prefix, 'bin/python') + shutil.copy(original_python, py_executable) # Copy the framework's dylib into the virtual # environment @@ -828,23 +1372,50 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): # argument that has a space in it. Instead we have to quote # the value: py_executable = '"%s"' % py_executable - cmd = [py_executable, '-c', 'import sys; print sys.prefix'] + cmd = [py_executable, '-c', """ +import sys +prefix = sys.prefix +if sys.version_info[0] == 3: + prefix = prefix.encode('utf8') +if hasattr(sys.stdout, 'detach'): + sys.stdout = sys.stdout.detach() +elif hasattr(sys.stdout, 'buffer'): + sys.stdout = sys.stdout.buffer +sys.stdout.write(prefix) +"""] logger.info('Testing executable with %s %s "%s"' % tuple(cmd)) - proc = subprocess.Popen(cmd, + try: + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE) - proc_stdout, proc_stderr = proc.communicate() - proc_stdout = os.path.normcase(os.path.abspath(proc_stdout.strip())) - if proc_stdout != os.path.normcase(os.path.abspath(home_dir)): + proc_stdout, proc_stderr = proc.communicate() + except OSError: + e = sys.exc_info()[1] + if e.errno == errno.EACCES: + logger.fatal('ERROR: The executable %s could not be run: %s' % (py_executable, e)) + sys.exit(100) + else: + raise e + + proc_stdout = proc_stdout.strip().decode("utf-8") + proc_stdout = os.path.normcase(os.path.abspath(proc_stdout)) + norm_home_dir = os.path.normcase(os.path.abspath(home_dir)) + if hasattr(norm_home_dir, 'decode'): + norm_home_dir = norm_home_dir.decode(sys.getfilesystemencoding()) + if proc_stdout != norm_home_dir: logger.fatal( 'ERROR: The executable %s is not functioning' % py_executable) logger.fatal( 'ERROR: It thinks sys.prefix is %r (should be %r)' - % (proc_stdout, os.path.normcase(os.path.abspath(home_dir)))) + % (proc_stdout, norm_home_dir)) logger.fatal( 'ERROR: virtualenv is not compatible with this system or executable') if sys.platform == 'win32': logger.fatal( - 'Note: some Windows users have reported this error when they installed Python for "Only this user". The problem may be resolvable if you install Python "For all users". (See https://bugs.launchpad.net/virtualenv/+bug/352844)') + 'Note: some Windows users have reported this error when they ' + 'installed Python for "Only this user" or have multiple ' + 'versions of Python installed. Copying the appropriate ' + 'PythonXX.dll to the virtualenv Scripts/ directory may fix ' + 'this problem.') sys.exit(100) else: logger.info('Got sys.prefix result: %r' % proc_stdout) @@ -854,25 +1425,53 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear): logger.notify('Please make sure you remove any previous custom paths from ' 'your %s file.' % pydistutils) ## FIXME: really this should be calculated earlier + + fix_local_scheme(home_dir) + return py_executable -def install_activate(home_dir, bin_dir): +def install_activate(home_dir, bin_dir, prompt=None): + home_dir = os.path.abspath(home_dir) if sys.platform == 'win32' or is_jython and os._name == 'nt': - files = {'activate.bat': ACTIVATE_BAT, - 'deactivate.bat': DEACTIVATE_BAT} - if os.environ.get('OS') == 'Windows_NT' and os.environ.get('OSTYPE') == 'cygwin': - files['activate'] = ACTIVATE_SH + files = { + 'activate.bat': ACTIVATE_BAT, + 'deactivate.bat': DEACTIVATE_BAT, + 'activate.ps1': ACTIVATE_PS, + } + + # MSYS needs paths of the form /c/path/to/file + drive, tail = os.path.splitdrive(home_dir.replace(os.sep, '/')) + home_dir_msys = (drive and "/%s%s" or "%s%s") % (drive[:1], tail) + + # Run-time conditional enables (basic) Cygwin compatibility + home_dir_sh = ("""$(if [ "$OSTYPE" "==" "cygwin" ]; then cygpath -u '%s'; else echo '%s'; fi;)""" % + (home_dir, home_dir_msys)) + files['activate'] = ACTIVATE_SH.replace('__VIRTUAL_ENV__', home_dir_sh) + else: files = {'activate': ACTIVATE_SH} + + # suppling activate.fish in addition to, not instead of, the + # bash script support. + files['activate.fish'] = ACTIVATE_FISH + + # same for csh/tcsh support... + files['activate.csh'] = ACTIVATE_CSH + files['activate_this.py'] = ACTIVATE_THIS + if hasattr(home_dir, 'decode'): + home_dir = home_dir.decode(sys.getfilesystemencoding()) + vname = os.path.basename(home_dir) for name, content in files.items(): - content = content.replace('__VIRTUAL_ENV__', os.path.abspath(home_dir)) - content = content.replace('__VIRTUAL_NAME__', os.path.basename(os.path.abspath(home_dir))) + content = content.replace('__VIRTUAL_PROMPT__', prompt or '') + content = content.replace('__VIRTUAL_WINPROMPT__', prompt or '(%s)' % vname) + content = content.replace('__VIRTUAL_ENV__', home_dir) + content = content.replace('__VIRTUAL_NAME__', vname) content = content.replace('__BIN_NAME__', os.path.basename(bin_dir)) writefile(os.path.join(bin_dir, name), content) -def install_distutils(lib_dir, home_dir): - distutils_path = os.path.join(lib_dir, 'distutils') +def install_distutils(home_dir): + distutils_path = change_prefix(distutils.__path__[0], home_dir) mkdir(distutils_path) ## FIXME: maybe this prefix setting should only be put in place if ## there's a local distutils.cfg with a prefix setting? @@ -882,6 +1481,26 @@ def install_distutils(lib_dir, home_dir): writefile(os.path.join(distutils_path, '__init__.py'), DISTUTILS_INIT) writefile(os.path.join(distutils_path, 'distutils.cfg'), DISTUTILS_CFG, overwrite=False) +def fix_local_scheme(home_dir): + """ + Platforms that use the "posix_local" install scheme (like Ubuntu with + Python 2.7) need to be given an additional "local" location, sigh. + """ + try: + import sysconfig + except ImportError: + pass + else: + if sysconfig._get_default_scheme() == 'posix_local': + local_path = os.path.join(home_dir, 'local') + if not os.path.exists(local_path): + os.mkdir(local_path) + for subdir_name in os.listdir(home_dir): + if subdir_name == 'local': + continue + os.symlink(os.path.abspath(os.path.join(home_dir, subdir_name)), \ + os.path.join(local_path, subdir_name)) + def fix_lib64(lib_dir): """ Some platforms (particularly Gentoo on x64) put things in lib64/pythonX.Y @@ -910,9 +1529,16 @@ def resolve_interpreter(exe): break if not os.path.exists(exe): logger.fatal('The executable %s (from --python=%s) does not exist' % (exe, exe)) - sys.exit(3) + raise SystemExit(3) + if not is_executable(exe): + logger.fatal('The executable %s (from --python=%s) is not executable' % (exe, exe)) + raise SystemExit(3) return exe +def is_executable(exe): + """Checks a file is executable""" + return os.access(exe, os.X_OK) + ############################################################ ## Relocating the environment: @@ -921,7 +1547,8 @@ def make_environment_relocatable(home_dir): Makes the already-existing environment use relative paths, and takes out the #!-based environment selection in scripts. """ - activate_this = os.path.join(home_dir, 'bin', 'activate_this.py') + home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir) + activate_this = os.path.join(bin_dir, 'activate_this.py') if not os.path.exists(activate_this): logger.fatal( 'The environment doesn\'t have a file %s -- please re-run virtualenv ' @@ -938,16 +1565,28 @@ def fixup_scripts(home_dir): shebang = '#!%s/bin/python' % os.path.normcase(os.path.abspath(home_dir)) # This is what we'll put: new_shebang = '#!/usr/bin/env python%s' % sys.version[:3] - activate = "import os; activate_this=os.path.join(os.path.dirname(__file__), 'activate_this.py'); execfile(activate_this, dict(__file__=activate_this)); del os, activate_this" - bin_dir = os.path.join(home_dir, 'bin') + activate = "import os; activate_this=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'activate_this.py'); execfile(activate_this, dict(__file__=activate_this)); del os, activate_this" + if sys.platform == 'win32': + bin_suffix = 'Scripts' + else: + bin_suffix = 'bin' + bin_dir = os.path.join(home_dir, bin_suffix) + home_dir, lib_dir, inc_dir, bin_dir = path_locations(home_dir) for filename in os.listdir(bin_dir): filename = os.path.join(bin_dir, filename) if not os.path.isfile(filename): # ignore subdirs, e.g. .svn ones. continue f = open(filename, 'rb') - lines = f.readlines() - f.close() + try: + try: + lines = f.read().decode('utf-8').splitlines() + except UnicodeDecodeError: + # This is probably a binary program instead + # of a script, so just ignore it. + continue + finally: + f.close() if not lines: logger.warn('Script %s is an empty file' % filename) continue @@ -963,7 +1602,7 @@ def fixup_scripts(home_dir): logger.notify('Making script %s relative' % filename) lines = [new_shebang+'\n', activate+'\n'] + lines[1:] f = open(filename, 'wb') - f.writelines(lines) + f.write('\n'.join(lines).encode('utf-8')) f.close() def fixup_pth_and_egg_link(home_dir, sys_path=None): @@ -1122,368 +1761,510 @@ def create_bootstrap_script(extra_text, python_version=''): ##EXTEND## +def convert(s): + b = base64.b64decode(s.encode('ascii')) + return zlib.decompress(b).decode('utf-8') + ##file site.py -SITE_PY = """ -eJzVPGtz2ziS3/krsHSlKGVkOo/ZqS1nPFdO4sx4z5N4J5na3HpSWkqCJI4pkkOQlrVXd7/9+gGA -AEn5sbP74VSpWCKARqPRbzQYhuFpWcp8ITbFosmkUDKp5mtRJvVaiWVRiXqdVovDMqnqHTydXycr -qURdCLVTMfaKg+Dp7/wET8WndaoMCvAtaepik9TpPMmynUg3ZVHVciEWTZXmK5HmaZ0mWfoP6FHk -sXj6+zEIznMBK89SWYkbWSmAq0SxFJe7el3kYtSUuObn8R+Tl+OJUPMqLWvoUGmcgSLrpA5yKReA -JvRsFJAyreWhKuU8XaZz23FbNNlClFkyl+Lvf+elUdcoClSxkdu1rKTIARmAKQFWiXjA17QS82Ih -YyFey3mCE/DzllgBQ5vgnikkY16IrMhXsKZczqVSSbUTo1lTEyBCWSwKwCkFDOo0y4JtUV2rMWwp -7ccWHomE2cNfDLMHrBPn73MO4PghD37O09sJwwbuQXD1mtmmksv0ViQIFn7KWzmf6mejdCkW6XIJ -NMjrMXYJGAElsnR2VNJ2fKt36LsjwspyZQJzSESZO3MjjYiD81okmQK2bUqkkSLM38pZmuRAjfwG -pgOIQNJgaJ5Fqmo7D61OFACgwn2sQUo2Sow2SZoDs/6YzAntv6b5otiqMVEAdkuJXxtVu+sfDRAA -ejsEmAS4WWY3mzxLr2W2GwMCnwD7Sqomq1EgFmkl53VRpVIRAEBtJ+QtID0RSSU1CZkzjdxOiP5E -kzTHjUUBQ4HHRiTJMl01FUmYWKbAucAV7z78JN6evT4/fa95zABjmV1tAGeAQhvt4AQTiKNGVUdZ -AQIdBxf4RySLBQrZCucHvNoOR/fudDCCtZdxd4yz4UB2vbl6GlhjDcqE5gpo3H/DkIlaA33+5579 -DoLTfVShhfO37boAmcyTjRTrhPkLOSP4VsP5Li7r9SvgBoVwaiCVws1BBFOEByRxaTYqcilKYLEs -zeU4AArNqK+/i8AK74v8kPa6wwkAoQpyaHSejWnGXMJC+7Beob4wnXe0Mt0lsPu8KSpSHMD/+Zx0 -UZbk14SjIobibzO5SvMcEUJeCKKDiCZW1ylw4iIWF9SL9ILpJCLWXtwTRaIBXkKmA56Ut8mmzOSE -xRd1691qhCaTtTB7nTHHQc+a1CvtWrvUQd57EX/ucB2hWa8rCcCbmSd0y6KYiBnobMKmTDYsXvW2 -IM4JBuSJBiFPUE8Yi9+BoqdKNRtpG5FXQLMQQwXLIsuKLZDsOAiEOMBOxij7zAmt0Ab/A1z8P5P1 -fB0EzkwWsAaFyO8DhUDAJMhcc7VGwuM2zcpdJZPmrCmKaiErmuphxD5ixB/YGdcavC9qbdR4ubjL -xSatUSXNtMlM2eLlUc368RWvG5YBllsRzUzXlk4bXF5WrpOZNC7JTC5REvQmvbLbDnMGA3OSLa7F -hq0MtAFZZMoWZFixoNJZ1pKcAIDBwpfkadlk1Ekhg4kEJtqUBH+ToEkvtLME7M1mOUCFxOZ7DvYH -cPsHiNF2nQJ95gABNAxqKdi+WVpX6CC0+ijwjb4Zz/MDp54vtW3iKZdJmmkrn+TBOT08qyoS37ks -cdREE0PBCvMaXbtVDnREMQ/DMAiMO7RT5mthv02nsyZFezedBnW1OwbuECjkAUMX72GhNB23LKti -g80WvY+gD0Av44jgQFySopDs43rM9Aop4Grl0nRF8+twpEBVElz+dPbu/PPZR3EirlqtNOmqpC8w -51meAGeSUge+6EzbqiPoiborRfUl3oGFpn0Fk0SjSQJlUjfAfoD6p6qhZljG3GsMzt6fvr44m/78 -8eyn6cfzT2eAIJgKGRzQktHCNeDzqRj4GxhroWJtIoPeCHrw+vSjfRBMUzX9lV3jExZ27QddHX/9 -RZyciOjX5CaJAvBF2q68Lz8SW37alRKG1vBnVKhxECzkElj4WiKjj56SfznmAUAX6Floe/drkeam -nZq9KUgORzQCcJhO51miFHaeTiOgFg0Y+MCAmJ1U5N4RDCx37tCxRgU/lQTq5jhkgv8NoJjMaByi -wSi6Q0wnYPvNPFGSe9HyYdx0irI/nY70hCAUxLbguLA4R8J0QdmvUvAPaftRF8xUkeFPhI/SRFKA -IQpqG9wkHYLEN0nWSDVyFgVEHI06ZESFlSpiCjD1I7Bo7daNx11qgsuDCGE3IF9WgDaqOpTDzwH4 -DSD2JhjCgIljGKYZYvpn9tgJB3DdIlSbSnWgsJYRl2eX4uWzF4foFkDstrDU8bqjpUvzRtqHS9it -lawdhHlUNCH+Hrt0WaK+wqfHd8PcxHZn+qyw1FtcyU1xIxeALTKws8viJ2qBCBfWMU9gF0E/kl1l -PWb8rwTjOV49SAvaYKDehqCY/Tdbf8BBtcwVaAMOUInUOnpmk1JWxU2KRnu2041gc0BjoeUxDkLg -bJzHZGhawA6BN5kjpbYyAp1UNez4Ed4IErX2otVuMYG7QHX5hb5e58U2n3JEeYKabzS2rIuCpZkX -O7RbcCDegS0AJAsIkFqiMRRwnQXK1iEgD8uH5QJlyUcHQGAwFYU9DiwTMtESOfrCaRHG+JUg4a0k -2t0bMwWFLIYYDiRqje0DoyUQEizOKjirGjSToayZbjCxQxKf6y5iDuV8AB0qxmC7RhoadzL0uzoG -5SwuXKXkjEOz+PnzZ2YbtaY8BSI2w0WjKV6SxYrLHVi3FHSC8Ww460FssAUnEcA0SrOmOPwoipK9 -GtjPSy3bYIwhSqrr8vjoaLvdxjpKL6rVkVoe/fFP33zzp2esExcL4h9YjiMtOmUVH1Ebeobxt8YC -fWd2rsOPae5zI8EaSfJuyKVD/L5v0kUhjg/HVn8iF7e2Ev83/gQokKmZlKkMtA1bjJ6owyfxSxWK -J2Lk9h2N2TnQwaa1YkaDQhuoJBhRF2COwXmYF01eR44iVeIrsG4Q6S7krFlFdnLPRpofsFSU05Hl -gcPnXxADnzMMXxlTPEUtQWyR5svCIf1PzDYJuShaQyB50UT1otDdsBYzxF08XN6tw+cIjVlhqpA7 -UCL8Lg8WQNu5Lzn40f4l2j3HvzQfzxAYSx8Y5tXe3QgFh3DBvZi4UudwNbqdIE1bVs2gYFzVCAoa -PLUZU1uDIxsZIUj0bkzQzBurewCdOhk4E2ebXYAe7jw9a9dlBccTQh44Ec/piQQ/9bjX9oy3tsky -Sox0eNSjCgP2NhrtdAF8OTIAJiKsfg65p96W8w+dTeE9GABWcC4FGWzZYyZscX3A8CAcYKee1d83 -mmk8BAI3ifo/DDhhfMITVAqEqRz5jLuPwy1tOX/UQXi/wSGeMrtEEq32yFZXdwzK1J12aZnmqHqd -PYrnWQFOsVWKxEdtu+8rUCyCj4dsmRZATYaWHE6nE3L2PPmLdD/MQq0ajNfddAZitEkVGTck0xr+ -A6+C0gSU0wFaEjQL5qFC5i/sXyBydr36yx72sIRGhnC77vNCegZDwzHtBwLJqJMaIAQ5kLAvi+Q5 -sjbIgMOcDfJkG5rlXuEmGLECMXMMCGkZwJ0avfgGn8R4kEACipBvayVL8ZUIYfu6kvow1f0v5VKT -CBg5HchT0BmEEze74GQWTjqZBp+h/RwDHTmUBXDwDDweN1/usrlhWpv4AF/d19sWKVDIlAsJxy6q -Xwxh3JzsH06cHi2xzCSGobyJvJMRM9M4sNutQcOGGzDennfn0o/dhAWOHUWFeiE3txD+RVWq5oWK -ML7tpS7cj+aKPm0sthfpLIQ/3gaE4y8eJJl10cG8xSKptmkekYrRKzzxiddDxy7Ws0JHHyneOQJU -MLV39K4CFqYzviNgeJRVCJtlpLRf3gd750pDC5eHh55fe3X88kt/+ZN9KRj7GSbm2W1dJQrpmTFZ -mW2Rnn0Li2oRFpfkO31Kp09x0Y+vCgVhnvjw8bNAQnACc5vsHrf0liURm3vX5H0M6qB57iVXZ3XE -LoAI6i1klKPo8Yz5cGQfu7g7FvYIII9imDs2xUDSfPLPwLlro2COw8Uux0RXV6jxA83ffD0dSF26 -SH7zdXjPLB1iDIn9qOOr2Znp9FwMLtsMqWSSkTfgDKK0X97yju1TjlnlUoCmmezLgFuIH9NulHoL -v9e9F9mZzwHRA+LgYvYrRJNKJ6BukjSjRDigcXiIes4EwhzbD+PjQbobZUwagU/xbDIYq6irZ7Ax -EUfe4/5ytOdyapKzAxGj+ZSJ6qNyoM+t22MX7yzaPXLbL/uDtvTfpLMeCchbTThAwAeuwRwJ/v9f -CSsrhqaV1bij9ZW8W88bYA9Qh3sckTvckP7UfIK0NM4Ey50ST1FAn4otnQNTsg2PDgDKgv2MATi4 -jfo08U1TVXwmSHJeyuoQD8kmAktgjKdBlTV9MEfvZY2Y2G5zSl46BRPFkOqMdDrSriRqPclhkV0X -Jokh85u0grGgVUbRDx9+PIv6DKCnwUHD4Nx9NFzycDuFcB/BtJEmTvSYMUyhxwz556Uq8ji0q1zN -Oa1JEWqy9QnbywyayHJ4D+7JEXgneHz4iTHbfC3n11NJB7rIpjjUyZK+wWbExJ7z+oU1KllSdRCs -ZJ41SCt29LCsa9nkc0qY1xLsua7BxJoMOqblhNAyS1ZiRIMXmIzQ3Ej5ipuk0t5OWRVY9SeadHG0 -ShdC/tYkGQZ6crkEXPA0QzfFPD3lJMRbPmnmajAl502V1jsgQaIKfRhEh9JOx9mOFzrykOS8PxMQ -j6mPxUdcNrYz4RaGXCZc9FPguEiMxHCAOa1D7qLn0J4XU5x1SsWTE0aqf1BLj4PuDAUACAEorD8c -61yO3yKpyT1xoj13iYpa0iOlG3sW5HEglNEYY1/+TT99RnR5aw+Wq/1Yru7GctXFcjWI5crHcnU3 -lq5I4MbaNIaRhKFURjfPPVgF4WYheJqzZL7mflhUh8VzAFGUJqAzMsW1pV6ugw98CAipbecEkh62 -VQ0pV+tVBSdFNUjkfjzV0MGjqQp2BlONhB7MSzE+277KDn/sURxTDc6MhrO8LZI6iT25WGXFDMTW -ojtpAUxEt8iDs2f5zXTG+b6OpQov/+vTDx/eY3cEFZrzbhqGm4iGBZcyeppUK9WXpjbYKIEdqadf -mUHDNMCDB+ZaeJYD/u8tHfkj44gtHVkXogQPgGptbDe3IiWKOs916Yp+zkzOpw8nIszrsF3UHiKd -Xl6+Pf10GlISKPzf0BUYQ1tfOlx8TA/boe+/ud0txXEMCLXOpbTGz12TR+uWI+63sQZsx+199qXz -4MVDDPZgWOqv8t9KKdgSIFSs04GPIdSDg5/fFSb06GMYsVeS5Z61sLNi2xzZc1wUR/SHEtHdCfzT -L4wxpkAA7UKNTGTQBlMdpW/N6x0UdYA+0Nf73SFYN/TqRjI+Re0iBhxAh7K22373z8vcs9FTsn59 -9v35+4vz15enn35wXEB05T58PHohzn78LKhgAA0Y+0QJnpXXWJoChsW9QSIWBfxrML2xaGpOSsKo -txcXOne/wTsEWFSKNieG51zXYqFxjoaznvahLkhBjDIdIDmXNah+gy5zYLy04YsCqtCFp3QHZIbO -aqNDL30Jx1zWoYPOGKQPOrukYBBccwRNVB5cm6iw4jMhfYFlAClto22lQEY5qN75sXMiYvLtXmKO -BsOTdrBW9FeRi2v0JVZllkIk9yqysqSHYb1Eyzj6oT3yZLyGNKAzHGbWHXnVe7FAq/Uq4rXp8eOW -0X5rAMOWwd7CunNJ9QJUGIvVTiLCTnxyEMlb+Gq3Xu+Bgg3Do58aN9EwXQqrTyC4FusUAgjgyTVY -X4wTAEJnJ/wE9LGTHZAFHtdHbzaLw79EmiB+719+GeheV9nh30QJUZDg2pJogJhu57cQ+MQyFmcf -3o0jRo5qNcVfGqy7BoeEsnyOtFNBC5+pTkdKZktdcODrA2zQfgI1d4ZXsqz08GHXOEIJeKJG5DU8 -UYZ+Edb/WNgTXMq4AxpLyi1meDXLPZg2nwPxcS2zTFchn7+9OAPfEavcUYL4nOcMpuN8CR6q6mos -vjrWAYVHrtBcIRtX6MLSsfsi9roNZmZR5Gi0d1Jv94myn/1RvVRnlaTKRXuEy2ZYTp13jNwM22F2 -lrm73w3p7HYjuqPkMGNMLyuqa/Q5AzianiYcGEHEhJX0JtnMp4tpXptCtiydgzYFxQtqdQKigiTG -62LEf0XO6d6iUuaWCTwsd1W6WteYUofBMVW4Y/cfTz9fnL+nkvEXL1vfe4BFJxQPTLi44AQrxzDn -AV/cajDkrel0iHN1E8JAHQR/uk1ctXDCE/TGcXoR/3Sb+JrPiRMP8gpATTVlV0gwDHCGDUlPKxGM -q42G8eNWhrWY+WAoI4m3CnQBgLu+Pj/anh2DQtkf0/iIs4plqWk4MoPdSqXuR69xWeLhymI03Ala -hyTMfGYw9LrXsq8myv30ZBFvHAJG/d7+HKZqqNdVL8dhtn3cQsGttrS/5E7G1Ok3z1GUgYgjd/DY -ZbJhVay7Mwd61bU9YOJbja6RxEGFHv6Sh9rP8DCxxO5FK2Yg3W4gU4D5DKnvZTTgSaFdAAVCRaEj -R3In46cvvDU6NuH+NWrdBRbyB1CEukSTSv+LCjgRvvzG7iM3EVqoSo9F5PgrucwLWz+En+0afcvn -/hoHZYBSmSh2VZKv5IhhTQzMr3xi70nEkrb1OOYq7VRLaO4GD/V2D4P3xWL49MRg1uGDXr9ruetq -I5862GHwgoAPoUq2oN3Lph7xXu09LMDu+gh2FGGS5LdoD73uQU/DQr/rt4EzHPwwsYx7ae1V5/JJ -ZBu0XzmvIGCqFR2WOFbYeIiuYW5t4ElrhUP7VFeM2N8DN3qcOlQXLqPgQvVWGOoOnVA/5LslfF0u -pdrl9uqDblvIG5kV4BZBxIWl6b/a0vRxPJjquAevFhUk6C/aHU/ya/IQ3/z1fCLevP8J/n8tP0BM -gdexJuJvgIB4U1QQW/GVQLqrjWXtNQdNRaPwzhZBozQ9X2tHZ+XSWwceCeh6e7/Q3uoHgTWG1Ybf -pQAo8hrpmmxrHU0VOfw211z6bphxkYZ2JdSNSIb9xf9YMH+ke8brepOhonSSBO12XoUX52/O3n88 -i+tb5CPzM3SSCH79C65IH5FWeBw0EfbJvMEnXxyP8QeZlQMOo465zEUCjLlEBG55aeMsvqqfWN86 -qTBwFuVuUcxj7AlcxXeX6i14kGMnvLrXwnnmBWGNxvoQqXVj8TFQQ/zSlfgQOtIYvSYaSQglM7xE -w4/jcNgGTQRlduHP0+vtwk0M69sQtMAupu2qR/5wq3TWTGcNz2UmQu3E7oS5I5elidrM5u7dqQ+5 -0C9bAHVCmX65TJqsFjKHqILCXLr1DlrVve7EcsLcwrqc7gBRoiLbJjvl1JokSoQ4a0gXd/FIgnJm -EIX+mFyz7sV7WKLhO5oAnRCl2KFwhqpmvmY55nBAq7ve0fs2zV++iHpE5kk5Rpy3ThysE10mxmgl -a71+fjAaXz1vzSjlZefeZcd5CRbG5ZQDUJ/l06dPQ/Ef91t+RiXOiuIaXBKAPRQQigtq3mOz9eLs -bvW9WtMSA0vO1/IKHnyh/LF93uSUnLtjKG2ItH8NjAj3JrL8aPp3bCCnrSo+auUefGSjbcfPeUqv -VMHkikSVq99Mg4kXI1DEkqAbokTN0zTiQB32Y1c0eE8JE22aX+QtcHyKYCbYimdEHGau0buikkXL -PRadExES4JBKiHg2uuhJN3UAz+nlTqM5Pc/Tuq2xf+YeH+o7yrV9U4rmK5FsUTLMOjrEcK68eaza -epfFnSzqeevF/MpNuXVWyc334Q6sDZJWLJcGU3hoNmleyGpujCruWDpPaweM6YdweDC9IIYMUBwM -oBSChifDsLASbVv/YPfFxfQDnaQempl0AU1tX7rD6ZEk79SRxXE7PyViLCEt35ovY5jlPSV2tT/g -zSX+oNOKWGDtvRvAverV5PrOP1cwtC8CADj0nhmrIC07ejrCebmRhc9Mqx359hUBTj04hqeE201a -1U2STfW99Cm6bFN7tKzxtFeE7rz8Zn0WcKgLcDUPdbE0+A6mzgTpibWOplwd4nMdnsfutRv/hkpZ -oK/3wtPjmPR9xpfgHQ2OPb8yFzceovLN9YFe5b2L5YSqeqJxt1ax1wtPECJd80Vp2SEP+1FTGliu -K/xQABkAgD/s+EVfdU6BnNI0rhvdl/rvAf3m67vAukpmsGiW8u2+4tEXl9wq1jbhz7JsfL41uJUo -GQtz1VQLHt/KQylhlW9vEptah+6FCGh++JLvWPADTtMinOzwiYq0m2048i5aWfzuIlXbKfinqKRH -DdMK3TwsM1wn3ILi2pTHNhgybxLAFO3ILT7BT309WJad4MtqkKCH9XV01/J5/F1r1z0Cu3Jz9tJb -u3/9wqWBHrufX4ZowC6oJsSDKjotRtN/jehO9LHgcHpDf5b2tXmc5SAe1KhNNEtukrn7HQ+nD/mt -e219oHM5wt31zpr2Xhs27Nzn5D4380EcPrf33+h0daHZiw0WvYNlyvU6U7laqWmCr/CZkpdDZ8s9 -82Xs5jt6fYtM1M6YO7xRDyAMq+gqILfQD3YdPCl+lSAfzTpXpwVNTQVMTkWUShccvWrbCuBijlpp -vEmKcElTmEnMN6imKitwR0L9wjk+Mxwqs2qBmghqk6hrg7oZMdHvH8Mp+KDaXL/hWJldHI86QAiu -ynfe28E1gtOpbQN+edZeBEwnliFk3mwgPq7bO/D+2UQqvnNmoEtXuMFOjNSKXYdTXMRSyx8OUhil -2O9fafPveTd33P4bW5X2cLaiETr8fszFQkfKDTent/YdOO67Fxb0HkOKiPjdCcJ2a7nP3vuHrTAv -dCFFqIMWbtUvmeAXinFWBSuyHD4CuXevPPiVcVZnscNg0XCeuYqh/1YBvDVHhnboZUE9Lui/Fshn -hnZ+X29YZullovd0tlQ84R6Diqedbdy68ljEco8r7xcqPtKV9+A/0JXXr3YCa6Lx0fpgsHTxHp+f -1YT7nqSWEWDMFIiEyfbOW3aMPRy5hYDgkKe3oX17IOtM53aBMRPIkf0XaBAIfh+ScqumvPeVmHmH -fG1fuujx9xcfXp9eEC2ml6dv/vP0ezoixrxVx2Y9ONbJi0Om9qFXkubGPfpYb2jyFtuBd4lxXbWG -0GvvHYkMQBiuoR/a0K4ic5v3DejVIvcHAeJ3L7sDdZ/KHoTcc7503at7mNepHQv0Uy70Mb+ccxnz -yGRNWRzalKhpb7NYWkZ7Qf6+jXNKbvrqRDul+lVVexIQY1v4RTuAySvkL5u7MlW8NkPCjkr3nc5U -rYY3IMw9b5DCuXReN0RvGmJQtf/y6AqUXYI5eHYYJ/ZFjNSP83TKvmEU8/BzGRuCeFcQwv76XGFf -yGwPFYKAFZ5+mQ4jYvSfzmzb06AnSlwd0mWnQ1Q2X+wv3DPt5P41xTOf2r6VQpnjUsx3Q+dlk7nn -OHZMbwA5f5QWLJZOdS1oviOgcyueCtgbfSZWiLOdiCBK1IcVWLBDdNRvlHGQR7vpYG9o9Uwc7rsK -414FEeL5/o6Lzm0TPeIFj1D3jFCNuXDgWGCsGdl3x0V8R5A5ryzoNRSe84HnGfrlh/D15ur5sU1K -Ir9js/uSA6R96Bj2q7aq/M4XHzmjiVeqCdUOYKHKuAv+S+iw5lLsD3B6NbJ7giBz4MSQQq99+Fzd -jPBeshp2EbV8dwwLEqMnakyLcqqKNe72ybi32FZl9WFwgfT9MHraD0AhlGHfBD/8rg1Qz890PDhr -6G1x1uHEa4WOPNAhuc8LPMJ4fS123eF0relBw6lc3BaZc4cu7+n9BrFmr4F7eYmO/bagu/KWB/bY -fr4gNjz++QPG98sp7PAXdznUttfLwUsJ7MRiAQ4ez3YoZB7HYF1AYY5ITWPtppFwvPjdktHhpnZp -yBXo8FFND74JkgILcmKn2vJbYxD8H2/QG9E= -""".decode("base64").decode("zlib") +SITE_PY = convert(""" +eJzFPf1z2zaWv/OvwMqTIZXKdD66nR2n7o2TOK333MTbpLO5dT1aSoIs1hTJEqRl7c3d337vAwAB +kvLHpp3TdGKJBB4eHt43HtDRaHRcljJfiHWxaDIplEyq+UqUSb1SYllUol6l1WK/TKp6C0/n18mV +VKIuhNqqGFvFQfD0Cz/BU/FplSqDAnxLmrpYJ3U6T7JsK9J1WVS1XIhFU6X5lUjztE6TLP0XtCjy +WDz9cgyC01zAzLNUVuJGVgrgKlEsxfm2XhW5iJoS5/w8/nPycjwRal6lZQ0NKo0zUGSV1EEu5QLQ +hJaNAlKmtdxXpZyny3RuG26KJluIMkvmUvzznzw1ahqGgSrWcrOSlRQ5IAMwJcAqEQ/4mlZiXixk +LMRrOU9wAH7eEitgaBNcM4VkzAuRFfkVzCmXc6lUUm1FNGtqAkQoi0UBOKWAQZ1mWbApqms1hiWl +9djAI5Ewe/iTYfaAeeL4fc4BHD/kwc95ejth2MA9CK5eMdtUcpneigTBwk95K+dT/SxKl2KRLpdA +g7weY5OAEVAiS2cHJS3Ht3qFvjsgrCxXJjCGRJS5Mb+kHnFwWoskU8C2TYk0UoT5WzlLkxyokd/A +cAARSBoMjbNIVW3HodmJAgBUuI41SMlaiWidpDkw64/JnND+e5ovio0aEwVgtZT4tVG1O/9ogADQ +2iHAJMDFMqvZ5Fl6LbPtGBD4BNhXUjVZjQKxSCs5r4sqlYoAAGpbIW8B6YlIKqlJyJxp5HZC9Cea +pDkuLAoYCjy+RJIs06umIgkTyxQ4F7ji3YefxNuT16fH7zWPGWAss1drwBmg0EI7OMEA4qBR1UFW +gEDHwRn+EcligUJ2heMDXm2Dg3tXOohg7mXc7eMsOJBdL64eBuZYgzKhsQLq99/QZaJWQJ//uWe9 +g+B4F1Vo4vxtsypAJvNkLcUqYf5Czgi+1XC+i8t69Qq4QSGcGkilcHEQwRThAUlcmkVFLkUJLJal +uRwHQKEZtfVXEVjhfZHv01p3OAEgVEEOL51nYxoxlzDRPqxXqC9M4y3NTDcJ7Dqvi4oUB/B/Pidd +lCX5NeGoiKH420xepXmOCCEvBOFeSAOr6xQ4cRGLM2pFesE0EiFrL26JItEALyHTAU/K22RdZnLC +4ou69W41QoPJWpi1zpjjoGVN6pVWrZ3qIO+9iD93uI7QrFeVBODNzBO6ZVFMxAx0NmFTJmsWr3pT +EOcEA/JEnZAnqCX0xe9A0WOlmrW0L5FXQLMQQwXLIsuKDZDsMAiE2MNGxij7zAlv4R38C3Dx30zW +81UQOCNZwBoUIr8LFAIBkyBzzdUaCY/bNCt3lUyas6YoqoWsaKiHEfuAEX9gY5xr8L6otVHj6eIq +F+u0RpU00yYzZYuXhzXrx1c8b5gGWG5FNDNNWzqtcXpZuUpm0rgkM7lESdCL9MouO4wZDIxJtrgW +a7Yy8A7IIlO2IMOKBZXOspbkBAAMFr4kT8smo0YKGUwkMNC6JPjrBE16oZ0lYG82ywEqJDbfc7A/ +gNu/QIw2qxToMwcIoGFQS8HyzdK6Qgeh1UeBb/RNfx4fOPV0qW0TD7lM0kxb+SQPTunhSVWR+M5l +ib0mmhgKZpjX6Npd5UBHFPPRaBQExh3aKvO1UEFdbQ+BFYQZZzqdNSkavukUTb3+oQIeRTgDe91s +OwsPNITp9B6o5HRZVsUaX9u5fQRlAmNhj2BPnJOWkewge5z4CsnnqvTSNEXb7bCzQD0UnP908u70 +88lHcSQuWpU26eqzSxjzJE+ArckiAFN1hm11GbRExZei7hPvwLwTU4A9o94kvjKpG+BdQP1T1dBr +mMbcexmcvD9+fXYy/fnjyU/Tj6efTgBBsDMy2KMpo3lswGFUMQgHcOVCxdq+Br0e9OD18Uf7IJim +alpuyy08AEMJLFxFMN+JCPHhVNvgaZovi3BMjX9lJ/yI1Yr2uC4Ov74UR0ci/DW5ScIAvJ62KS/i +jyQAn7alhK41/IkKNQ6ChVyCsFxLFKnoKXmyY+4ARISWhbasvxZpbt4zH7lDkMRH1ANwmE7nWaIU +Np5OQyAtdRj4QIeY3WGUkwg6llu361ijgp9KwlLk2GWC/wygmMyoH6LBKLpdTCMQsPU8UZJb0fSh +33SKWmY6jfSAIH7E4+AiseIIhWmCWqZKwRMlXkGtM1NFhj8RPsotiQwGQ6jXcJF0sBPfJFkjVeRM +CogYRR0yompMFXEQOBUR2M526cbjLjUNz0AzIF9WgN6rOpTDzx54KKBgTNiFoRlHS0wzxPSvHBsQ +DuAkhqiglepAYX0mzk/OxctnL/bRAYEocWGp4zVHm5rmjbQPl7BaV7J2EOZe4YSEYezSZYmaEZ8e +3g1zHduV6bPCUi9xJdfFjVwAtsjAziqLn+gNxNIwj3kCqwiamCw4Kz3j6SUYOfLsQVrQ2gP11gTF +rL9Z+j0O32WuQHVwKEyk1nE6G6+yKm5SdA9mW/0SrBuoN7RxxhUJnIXzmAyNGGgI8FtzpNRGhqDA +qoZdTMIbQaKGX7SqMCZwZ6hbL+nrdV5s8inHrkeoJqOxZV0ULM282KBdgj3xDuwGIFlAKNYSjaGA +ky5QtvYBeZg+TBcoS9EAAALTrCjAcmCZ4IymyHEeDoswxq8ECW8l0cLfmCEoODLEcCDR29g+MFoC +IcHkrIKzqkEzGcqaaQYDOyTxue4s5qDRB9ChYgyGLtLQuJGh38UhKGdx5iolpx/a0M+fPzPbqBVl +RBCxGU4ajf6SzFtcbsEUpqATjA/F+RVigw24owCmUZo1xf5HUZTsP8F6nmvZBssN8Vhdl4cHB5vN +Jtb5gKK6OlDLgz//5Ztv/vKMdeJiQfwD03GkRSfH4gN6hz5o/K2xQN+ZlevwY5r73EiwIkl+FDmP +iN/3TbooxOH+2OpP5OLWsOK/xvkABTI1gzKVgbajFqMnav9J/FKNxBMRuW2jMXsS2qRaK+ZbXehR +F2C7wdOYF01eh44iVeIrsG4QUy/krLkK7eCejTQ/YKoop5Hlgf3nl4iBzxmGr4wpnqKWILZAi++Q +/idmm4T8Ga0hkLxoonrx7nZYixniLh4u79Y7dITGzDBVyB0oEX6TBwugbdyXHPxoZxTtnuOMmo9n +CIylDwzzalcwQsEhXHAtJq7UOVyNPipI04ZVMygYVzWCgga3bsbU1uDIRoYIEr0bE57zwuoWQKdO +rs9E9GYVoIU7Ts/adVnB8YSQB47Ec3oiwak97L17xkvbZBmlYDo86lGFAXsLjXa6AL6MDICJGFU/ +j7ilCSw+dBaF12AAWMFZG2SwZY+Z8I3rA472RgPs1LP6u3ozjYdA4CJFnD16EHRC+YhHqBRIUxn5 +PXexuCVuf7A7LQ4xlVkmEmm1Q7i6ymNQqO40TMs0R93rLFI8zwrwiq1WJEZq3/vOAkUu+HjImGkJ +1GRoyeE0OiJvzxPAULfDhNdVg6kBN3OCGK1TRdYNybSCf8CtoIwEpY+AlgTNgnmolPkT+x1kzs5X +f9nBHpbQyBBu011uSM9iaDjm/Z5AMur8CUhBDiTsCyO5jqwOMuAwZ4E84YbXcqd0E4xYgZw5FoTU +DOBOL70AB5/EuGdBEoqQb2slS/GVGMHydUX1Ybr7d+VSkzaInAbkKuh8w5Gbi3DyEEedvITP0H5G +gnY3ygI4eAYuj5uad9ncMK1Nk4Cz7ituixRoZMqcjMYuqpeGMG76909HTouWWGYQw1DeQN4mjBlp +HNjl1qBhwQ0Yb827Y+nHbsYC+0ZhoV7I9S3Ef2GVqnmhQgxwe7kL96O5ok8bi+1ZOhvBH28BRuNL +D5LMdP4Csyz/xiChBz0cgu5NFtMii6TapHlICkzT78hfmh4elpSekTv4SOHUAUwUc5QH7yoQENqs +PABxQk0AUbkMlXb7+2DvnOLIwuXuI89tvjh8edkn7mRXhsd+hpfq5LauEoWrlfGisVDgavUNOCpd +mFySb/V2o96OxjChKhREkeLDx88CCcGZ2E2yfdzUW4ZHbO6dk/cxqINeu5dcndkRuwAiqBWRUQ7C +x3Pkw5F97OTumNgjgDyKYe5YFANJ88m/A+euhYIx9hfbHPNoXZWBH3j9zdfTgcyoi+Q3X4/uGaVD +jCGxjzqeoB2ZygDE4LRNl0omGfkaTifKKuYt79g25ZgVOsV/mskuB5xO/Jj3xmS08HvNe4Gj+ewR +PSDMLma/QrCqdH7rJkkzSsoDGvv7qOdMnM2pg2F8PEh3o4w5KfBYnk0GQyF18QwWJuTAftyfjvaL +jk3udyAgNZ8yUX1U9vQGfLt/5G2qu3uHfajamBgeesaZ/hcDWsKb8ZBd/xINh5/fRRlYYB4NRkNk +9xzt/+9ZPvtjJvnAqZht39/RMD0S0O81E9bjDE3r8XHHIA4tu2sCDbAHWIodHuAdHlp/aN7oWxo/ +i1WSEk9Rdz0VG9rrpzQnbtoAlAW7YANwcBn1jvGbpqp435dUYCmrfdzLnAgsczJOGFVP9cEcvJc1 +YmKbzSlt7BTFFENqJNSJYDuTsHXhh+VsVZj0kcxv0gr6gsKNwh8+/HgS9hlAD4OdhsG562i45OEm +HOE+gmlDTZzwMX2YQo/p8u9LVTeK8AlqttNNclaTbdA++DlZE9IPr8E9yRlv75T3qDFYnq/k/Hoq +ad8d2RS7OvnpN/gaMbHb8X7xlEqWVAEGM5lnDdKKfWAs3Vs2+Zy2KmoJro6us8W6G9pN50zcMkuu +RESdF5gF0txIiaKbpNKOYFkVWNkpmnRxcJUuhPytSTKMsOVyCbjgPpJ+FfPwlAwSb7kggCv+lJw3 +VVpvgQSJKvQ2HNUOOA1nW55o5CHJOy5MQKwmOBQfcdr4ngm3MOQycbq/+YCTxBAYO5h9UuQueg7v +82KKo06pQHbCSPW3yOlx0B2hAAAjAArzH411Es1/I+mVu9dHa+4SFbWkR0o36C/IGUMo0RiTDvyb +fvqM6PLWDiyvdmN5dTeWV10srwaxvPKxvLobS1ckcGFt/shIwlAOqbvDMFis4qZ/eJiTZL7idlg4 +iQWSAFGUJtY1MsX1w16SibfaCAipbWfvlx62xScpV2RWBWejNUjkftxP0nG1qfx2OlMpi+7MUzHu +7K4CHL/vQRxTndWMurO8LZI6iT25uMqKGYitRXfSApiIbi0Opy3zm+mME60dSzU6/69PP3x4j80R +1MhUGlA3XEQ0LDiV6GlSXam+NLVxWAnsSC39mhjqpgHuPTDJxaPs8T9vqdgCGUdsqFigECV4AFQS +ZZu5hUNh2HmuK4z0c2Zy3vc5EqO8HrWT2kGk4/Pzt8efjkeUfRv978gVGENbXzpcfEwL26Dvv7nN +LcWxDwi1TjO1xs+dk0frliPut7EGbM+H7zx48RCDPRix+7P8QykFSwKEinUe9jGEenAM9EVhQo8+ +hhF7lXPuJhc7K/adI3uOi+KI/tAOQHcAf98RY4wpEEC7UJGJDNpgqqP0rXm9g6IO0Af6el8cgnVD +r24k41PUTmLAAXQoa5vtdv+8LRM2ekrWr0++P31/dvr6/PjTD44LiK7ch48HL8TJj58FlWqgAWOf +KMEqhRqLgsCwuKeExKKA/xrM/CyamvO10Ovt2ZneNFnjOREsHEabE8Nzriiy0Dh9xQlh+1CXAiFG +mQ6QnAM5VDlDB3YwXlrzYRBV6OJiOuczQ2e10aGXPmhlDmTRFnMM0geNXVIwCK72gldUAl6bqLDi +zTh9SGkAKW2jbY1GRum53s69sxVlNjq8nCV1hidtZ63oL0IX1/AyVmWWQiT3KrSypLthpUrLOPqh +3WtmvIY0oNMdRtYNedY7sUCr9Srkuen+45bRfmsAw5bB3sK8c0mVGlS+jHVmIsRGvKkSylv4apde +r4GCBcM9txoX0TBdCrNPILgWqxQCCODJFVhfjBMAQmcl/Nz8oZMdkAUWSoRv1ov9v4WaIH7rX34Z +aF5X2f4/RAlRkOCqnnCAmG7jtxD4xDIWJx/ejUNGjqpkxd8arK0Hh4QSoI60UykRb2ZPIyWzpS71 +8PUBvtB+Ar3udK9kWenuw65xiBLwREXkNTxRhn4hVl5Z2BOcyrgDGo8NWMzw+J1bEWA+e+LjSmaZ +LhY/fXt2Ar4jnmRACeItsBMYjvMluJut6+D4eGAHFO51w+sK2bhCF5bqHRax12wwaY0iR729Egm7 +TpQY7vfqZYGrJFUu2hFOm2GZWvwYWRnWwiwrs3anDVLYbUMUR5lhlpieV1RL6vME8DI9TTgkglgJ +z0mYDDxv6KZ5bYoHs3QOehRULijUCQgJEhcPAxLnFTnnwItKmTNE8LDcVunVqsZ9Bugc0/kFbP7j +8eez0/dU0//iZet1DzDnhCKBCddzHGG1HmY74ItbgYdcNZ0O8ax+hTBQ+8Cf7isuFDniAXr9OLGI +f7qv+BDXkRMJ8gxAQTVlVzwwAHC6DclNKwuMq42D8eNW47WY+WAoF4lnRnTNhTu/Pifalh1TQnkf +8/IRGzjLUtMwMp3d6rDuR89xWeKO0yIabgRvh2TLfGbQ9br3ZlcdmvvpSSGeJwWM+q39MUyhVq+p +no7DbLu4hcJabWN/yZ1cqdNunqMoAxEjt/PYZbJhJaybMwd6Fc09YOJbja6RxEFVPvolH2kPw8PE +ErsXp5iOdKKEjABmMqQ+ONOAD4UWARQIFeJGjuROxk9feHN0rMH9c9S6C2zjD6AIdVksHbcoKuBE ++PIbO478itBCPXooQsdTyWVe2JIt/GxW6FU+9+c4KAOUxESxq5L8SkYMa2JgfuUTe0cKlrStR+qL +9HLIsIhTcE5vd3B4Xy6GN04Mah1G6LW7ltuuOvLJgw0GT2XcSTAffJVsQPeXTR3xSg6L/PBBtN1Q +74eIhYDQVO+DRyGmY34Ld6xPC3iQGhoWeni/7diF5bUxjqy1j50DRqF9oT3YeQWhWa1oW8Y52Wd8 +UesFtAb3qDX5I/tU1+zY3wNHtpyckAXKg7sgvbmNdINOOmHEJ4f42GVKlentwRb9biFvZFaA6wVR +HR48+NUePBjHNp0yWJL1xdidb8+3w7jRmxazQ3MyAj0zVcL6xbmsDxCdwYzPXZi1yOBS/6JDkiS/ +Ji/5zd9PJ+LN+5/g39fyA8RVeHJwIv4BaIg3RQXxJR99pTsJ8FBFzYFj0Sg8XkjQaKuCr29At+3c +ozNui+jTHv4xD6spBRa4Vmu+MwRQ5AnScfDWTzBnGOC3OWTV8UaNpzi0KCP9Emmw+9wJntU40C3j +Vb3O0F44WZJ2NS9GZ6dvTt5/PInrW+Rw83PkZFH82iicjt4jrnA/bCLsk3mDTy4dx/kHmZUDfrMO +Os0ZFgw6RQhxSWkDTb6PIrHBRVJh5kCU20Uxj7ElsDwfm6s34EiPnfjyXkPvWVmEFY31LlrrzeNj +oIb4pauIRtCQ+ug5UU9CKJnh+S1+HI+GTfFEUGob/jy93izczLg+iEMT7GLazjryu1tduGI6a3iW +kwivI7sM5mxmliZqPZu7Z/Y+5EJfJwJajvY55DJpslrIHCSXgny61wE0vXvMjiWEWYXNGZ09ozRN +tkm2yilCSpQY4agjOpqOGzKUMYQY/Mfkmu0Bnv8TDR8kBuiEKMVPhdNVNfMVSzCHRES9gcKDTZq/ +dOt5NIV5UI6Q560jC/NEt5ExupK1nj8/iMYXz9tKB8pKz71DtvMSrJ7LJnugOsunT5+OxH/c7/0w +KnFWFNfglgHsQa/ljF7vsNx6cna1+p69eRMDP85X8gIeXFL23D5vckpN3tGVFkTavwZGiGsTWmY0 +7Tt2mZN2FW80cwvesNKW4+c8pUuDMLUkUdnqu5cw7WSkiVgSFEOYqHmahpymgPXYFg2ej8M0o+YX +eQscnyKYCb7FHTIOtVfoYVItq+Uei86RGBHgEdWW8Wh0wJhOiAGe0/OtRnN6mqd1e7Tjmbt5qg/S +1/YuIM1XItmgZJh5dIjhHLX0WLX1sIs7WdSLWIr5hZtw7MySX9+HO7A2SFqxXBpM4aFZpHkhq7kx +p7hi6TytHTCmHcLhznQFElmfOBhAaQTqnazCwkq0ffsnuy4uph9oH3nfjKTLh2p7rRQnh5K8U2AY +x+34lIayhLR8a76MYZT3lNbWnoA3lviTTqpiXb93+4V7xLDJ9a0WXL/RXnUBcOgmJasgLTt6OsK5 +vsvCZ6bdcRcFfihEJ9xu0qpukmyqL0+YosM2tRvrGk97NO3OQ5fWWwEnvwAPeF9X0YPjYKpskJ5Y +BGtOSRyJpU5RxO5pL/9gVFmgl/eCfSXwKZAyi6k5o2ySSBeWXe3hT12z6ah4BPWVOVD0EJtgjrX0 +ToS405hQ0VM47la59lrhBos5tmA9725k8KghO7B8L95MsHunhfjuSETPJ+LPnUBsXm7xViYgw5NF +/GQR+j4hdb04fNHauX7g24GwE8jLy0dPN0tnNL1wqPz8/r666BED0DXI7jKVi/0nCrFjnL8UqobS +zms3p9KM8XT6nq260gez2+MqdCptBlHFplVojmoz/q8dxJz41nqID8ei0mALaA/0m8KXTvGhvXQN +CxM1ev7KopRMhzbH8BtenALvNUFdodq5aaor7C3YgZyAPkbJW2Btw4Gg8BE8FNIlL7RoX3W2hf/I +xeOi/V2biz0sv/n6LjxdAR88sTBAUI+YTqs/kKl2ssxjF+YB+/X389/Dee8uvns0lXSvYVphKIWF +zKuE36BJbMpDm2owIolbQZFb3oaf+nrwTAyLI+qm+jq8a/rc/6656xaBnbnZ3e3N3T/75tJA993N +L0M04DBPE+JBNeOtwA7rAleMJ7qoYDhlqT9IfrcTznSHVrgPjClhwAQosanG3mjNdTJ3v2OFzD5f +7+oedRzU1Z1p985+djn+IYqWqwHwuT39TCUeC82B7DfSfV1TLhqcyqsrNU3wrrgpBRtU4NLzIo37 ++o6u+pKJ2hqvEy9UARCGm3QpolttDIwBAQ3fWcv1Ic7NGYKGpipKpyxTpQvOIGkXF8DFnDmi/iYz +yXWVo0xiwk81VVlBVDDSN5ty4cJQrWcL1CQy1om6NqibHhN90SUOwdUy5ngk56s40vCoA4TgU1PO +tU1cqDyd2nfAL8/aY+DpxDKEzJu1rJK6vQLF3yZNxXfOCHQoFhfYSVW0ktnhFBex1PKHgxQmC+z3 +r7ST7QUZd5z9Hlut93C2oh46BfaYY+WO7THcnN7aK9Dcq3cWdGGua+Rts5b77LUvsBTmPi/SlTp3 +wG/1HUN8cyVnNtFNcPgI5N49kuaX51q1xk6KRcN55iqG/qUyeKqZbPHQXXE9LujfCtdx9O34vt6w +zNILDXY0tlTUrtWg4mlHG7cRNVbS3RNR+9XSj4yoPfgPjKj1zX5gcDQ+Wh8M1k/fE3qzmnCvyWsZ +AfpMgUi4s9e5ZM2YzMitRoawN70d2WtqWWc6R5yMmUCO7N+fRCD4Ojzllm5611WZcYciWl+66PH3 +Zx9eH58RLabnx2/+8/h7qlbB9HHHZj045ZAX+0ztfa8u1k0/6AqDocFbbAfuneTDHRpC731vc3YA +wvBBnqEF7Soy9/WuDr0DEf1OgPjd0+5A3aWyByH3/DNdfO/WFXQKWAP9lKsNzS9ny9Y8MjsXLA7t +zoR53yaTtYz2cm27Fs6p++urE+236psKd+QBx7b6lFYAc8jIXzaFbI4S2EQlOyrd/3kAlcziMSxz +ywdI4Vw6t83RRXMMqvb/LwUVKLsE98HYYZzYG3+pHafLlb3KGvfC5jI2BPHOQY3683OFfSGzHVQI +AlZ4+i41RsToP73BZLdjnyhxsU8nLvdR2VzaX7hm2sn9e4qbrrW9k0hx5QZvO0HjZZO5G6m2T68D +OX+UnS+WTok/aL4DoHMrngrYG30mVoizrQghkNQbhlg1SHTUF4o5yKPddLA3tHom9nedx3PPownx +fHfDRefIm+7xgnuoe3qoxpx6ciwwlq/tOmgnviPIvL0j6BIiz/nAPUV99y18vbl4fmiTrcjv+NpR +JFRmM3IM+4VTpnbnxXdOd2KWakJ1TBizOcc0dYtLByr7BLtinF6t/o44yOz7MqSR9364yMf08C70 +HnUxtax3CFMS0RM1pmk5pxs07vbJuD/dVm31gfBJjQcA6alAgIVgerrRqZzbcvlr9ExHhbOGrgx1 +M+6hIxVUReNzBPcwvl+LX7c7nbB8UHdG0fTnBl0O1EsOws2+A7caeymR3SahO/WWD3a4AHxYdbj/ +8wf079d32e4v7vKrbauXgwek2JfFkkCslOiQyDyOwciA3oxIW2MduRF0vJ+jpaPLUO3ckC/Q8aMy +Q7wQmAIMcman2gOwRiH4P2ts6wE= +""") ##file ez_setup.py -EZ_SETUP_PY = """ -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 -178BYnMUkw== -""".decode("base64").decode("zlib") +EZ_SETUP_PY = convert(""" +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 +BDaonX65d/fwEjNqlDjLVIvM9X+XVxF7 +""") ##file distribute_setup.py -DISTRIBUTE_SETUP_PY = """ -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 -""".decode("base64").decode("zlib") +DISTRIBUTE_SETUP_PY = convert(""" +eJztG2tz2zbyu34FTh4PqYSi7TT3GM+pM2nj9DzNJZnYaT8kHhoiIYk1X+XDsvrrb3cBkCAJyc61 +dzM3c7qrIxGLxWLfuwCP/lTs6k2eTabT6Xd5Xld1yQsWxfBvvGxqweKsqnmS8DoGoMnliu3yhm15 +VrM6Z00lWCXqpqjzPKkAFkdLVvDwjq+FU8lBv9h57JemqgEgTJpIsHoTV5NVnCB6+AFIeCpg1VKE +dV7u2DauNyyuPcaziPEoogm4IMLWecHylVxJ4z8/n0wYfFZlnhrUBzTO4rTIyxqpDTpqCb7/yJ2N +dliKXxsgi3FWFSKMV3HI7kVZATOQhm6qh98BKsq3WZLzaJLGZZmXHstL4hLPGE9qUWYceKqBuh17 +tGgIUFHOqpwtd6xqiiLZxdl6gpvmRVHmRRnj9LxAYRA/bm+HO7i99SeTa2QX8TekhRGjYGUD3yvc +SljGBW1PSZeoLNYlj0x5+qgUE8W8vNLfql37tY5Tob+vspTX4aYdEmmBFLS/eUk/Wwk1dYwqI0eT +fD2Z1OXuvJNiFaP2yeFPVxcfg6vL64uJeAgFkH5Jzy+QxXJKC8EW7F2eCQObJrtZAgtDUVVSVSKx +YoFU/iBMI/cZL9fVTE7BD/4EZC5s1xcPImxqvkyEN2PPaaiFK4FfZWag90PgqEvY2GLBTid7iT4C +RQfmg2hAihFbgRQkQeyF/80fSuQR+7XJa1AmfNykIquB9StYPgNd7MDgEWIqwNyBmBTJdwDmmxdO +t6QmCxEK3OasP6bwOPA/MG4YHw8bbHOmx9XUYccIOIJTMMMhtenPHQXEOviiVqxuhtLJK78qOFid +C98+BD+/urz22IBp7Jkps9cXb159ensd/HTx8ery/TtYb3rq/8V/8XLaDn36+BYfb+q6OD85KXZF +7EtR+Xm5PlFOsDqpwFGF4iQ66fzSyXRydXH96cP1+/dvr4I3r368eD1YKDw7m05MoA8//hBcvnvz +Hsen0y+Tf4qaR7zm85+kOzpnZ/7p5B340XPDhCft6HE1uWrSlINVsAf4TP6Rp2JeAIX0e/KqAcpL +8/tcpDxO5JO3cSiySoG+FtKBEF58AASBBPftaDKZkBorX+OCJ1jCvzNtA+IBYk5IyknuXQ7TYJ0W +4CJhy9qb+OldhN/BU+M4uA1/y8vMdS46JKADx5XjqckSME+iYBsBIhD/WtThNlIYWi9BUGC7G5jj +mlMJihMR0oX5eSGydhctTKD2obbYm+yHSV4JDC+dQa5zRSxuug0ELQD4E7l1IKrg9cb/BeAVYR4+ +TECbDFo/n97MxhuRWLqBjmHv8i3b5uWdyTENbVCphIZhaIzjsh1kr1vddmamO8nyuufAHB2xYTlH +IXcGHqRb4Ap0FEI/4N+Cy2LbMoevUVNqXTGTE99YeIBFCIIW6HlZCi4atJ7xZX4v9KRVnAEemypI +zZlpJV42MTwQ67UL/3laWeFLHiDr/q/T/wM6TTKkWJgxkKIF0XcthKHYCNsJQsq749Q+HZ//in+X +6PtRbejRHH/Bn9JA9EQ1lDuQUU1rVymqJqn7ygNLSWBlg5rj4gGWrmi4W6XkMaSol+8pNXGd7/Mm +iWgWcUraznqNtqKsIAKiVQ7rqnTYa7PaYMkroTdmPI5EwndqVWTlUA0UvNOFyflxNS92x5EP/0fe +WRMJ+ByzjgoM6uoHRJxVDjpkeXh2M3s6e5RZAMHtXoyMe8/+99E6+OzhUqdXjzgcAqScDckHfyjK +2j31WCd/lf326x4jyV/qqk8H6IDS7wWZhpT3oMZQO14MUqQBBxZGmmTlhtzBAlW8KS1MWJz92QPh +BCt+JxbXZSNa75pyMvGqgcJsS8kz6ShfVnmChoq8mHRLGJoGIPiva3Jvy6tAckmgN3WKu3UAJkVZ +W0VJLPI3zaMmERVWSl/a3TgdV4aAY0/c+2GIprdeH0Aq54ZXvK5LtwcIhhJERtC1JuE4W3HQnoXT +UL8CHoIo59DVLi3EvrKmnSlz79/jLfYzr8cMX5Xp7rRjybeL6XO12sxC1nAXfXwqbf4+z1ZJHNb9 +pQVoiawdQvIm7gz8yVBwplaNeY/TIdRBRuJvSyh03RHE9Jo8O20rMnsORm/G/XZxDAUL1PooaH4P +6TpVMl+y6RgftlJCnjk11pvK1AHzdoNtAuqvqLYAfCubDKOLzz4kAsRjxadbB5yleYmkhpiiaUJX +cVnVHpgmoLFOdwDxTrscNv9k7MvxLfBfsi+Z+31TlrBKspOI2XE5A+Q9/y98rOIwcxirshRaXLsv ++mMiqSz2ARrIBiZn2PfngZ+4wSkYmamxk9/tK2a/xhqeFEP2WYxVr9tsBlZ9l9dv8iaLfrfRPkqm +jcRRqnPIXQVhKXgtht4qwM2RBbZZFIarA1H698Ys+lgCl4pXygtDPfy6a/G15kpxtW0kgu0leUil +C7U5FePjWnbuMqjkZVJ4q2i/ZdWGMrMltiPveRL3sGvLy5p0KUqwaE6m3HoFwoXtP0p6qWPS9iFB +C2iKYLc9ftwy7HG44CPCjV5dZJEMm9ij5cw5cWY+u5U8ucUVe7k/+BdRCp1Ctv0uvYqIfLlH4mA7 +Xe2BOqxhnkXU6yw4BvqlWKG7wbZmWDc86TqutL8aK6na12L4jyQMvVhEQm1KqIKXFIUEtrlVv7lM +sKyaGNZojZUGihe2ufX6twDVAVs/veTYxzJs/Rs6QCV92dQue7kqCpI9b7HI/I/fC2DpnhRcg6rs +sgwRHexLtVYNax3kzRLt7Bx5/uo+j1GrC7TcqCWny3BGIb0tXlrrIR9fTT3cUt9lS6IUl9zR8BH7 +KHh0QrGVYYCB5AxIZ0swuTsPO+xbVEKMhtK1gCaHeVmCuyDrGyCD3ZJWa3uJ8ayjFgSvVVh/sCmH +CUIZgj7waJBRSTYS0ZJZHptul9MRkEoLEFk3NvKZShKwliXFAAJ0iT6AB/yWcAeLmvBd55QkDHtJ +yBKUjFUlCO66Au+1zB/cVZOF6M2UE6Rhc5zaqx579uxuOzuQFcvmf1efqOnaMF5rz3Ilnx9KmIew +mDNDIW1LlpHa+ziXraRRm938FLyqRgPDlXxcBwQ9ft4u8gQcLSxg2j+vwGMXKl2wSHpCYtNNeMMB +4Mn5/HDefhkq3dEa0RP9o9qslhnTfZhBVhFYkzo7pKn0pt4qRSeqAvQNLpqBB+4CPEBWdyH/Z4pt +PLxrCvIWK5lYi0zuCCK7DkjkLcG3BQqH9giIeGZ6DeDGGHahl+44dAQ+DqftNPMsPa1XfQizXap2 +3WlDN+sDQmMp4OsJkE1ibAjIGRDFMp8zNwGGtnVswVK5Nc07eya4svkh0u2JIQZYz/Quxoj2TXio +rNlmFZp2cUPeGzxWqEZ7lggysdWRGZ9ClHX8929f+8cVHmnh6aiPf0ad3Y+ITgY3DCS57ClKEjVO +1eTF2hZ/urZRtQH9sCU2ze8hWQbTCMwOuVskPBQbUHahO9WDMB5X2Gscg/Wp/5TdQSDsNd8h8VJ7 +MObu168V1h09/4PpqL4QYDSC7aQA1eq02Vf/ujjXM/sxz7BjOMfiYOju9eIjb7kE6d+ZbFn1y6OO +A12HlFJ489DcXHfAgMlIC0BOqAUiEfJINm9qTHrRe2z5rrM5XecMEzaDPR6Tqq/IH0hUzTc40Tlz +ZTlAdtCDla6qF0FGk6Q/VDM8ZjmvVJ1txdGRb++4AabAhy7KY31qrMp0BJi3LBG1UzFU/Nb5DvnZ +KpriN+qaa7bwvEHzT7Xw8SYCfjW4pzEckoeC6R2HDfvMCmRQ7ZreZoRlHNNteglOVTbuga2aWMWJ +PW1056q7yBMZbQJnsJO+P97na4beeR+c9tV8Bel0e0SM6yumGAEMQdobK23burWRjvdYrgAGPBUD +/5+mQESQL39xuwNHX/e6CygJoe6Ske2xLkPPuUm6v2ZKz+Wa5IJKWoqpx9ywRdiaObqxMHZBxKnd +PfEITE5FKvfJpyayIuw2qiKxYUXq0Kbq/CAs8KWnc+6+qwKepO0rnN6AlJH/07wcO0Cr55HgB/zO +0Id/j/KXkXw0q0uJWgd5OC2yuk8C2J8iSVbVbU60n1WGjHyY4AyTksFW6o3B0W4r6vFjW+mRYXTK +hvJ6fH+PmdjQ0zwCPuvl823Q63K6IxVKIAKFd6hKMf6y5dd7FVRmwBc//DBHEWIIAXHK71+hoPEo +hT0YZ/fFhKfGVcO3d7F1T7IPxKd3Ld/6jw6yYvaIaT/Kuf+KTRms6JUdSlvslYca1Pol+5RtRBtF +s+9kH3NvOLOczCnM1KwNilKs4gdXe/ouuLRBjkKDOpSE+vveOO839oa/1YU6DfhZf4EoGYkHI2w+ +Pzu/abMoGvT0tTuRNakoubyQZ/ZOEFTeWJX51nxewl7lPQi5iWGCDpsAHD6sWdYVtplRiRcYRiQe +S2OmzgslGZpZJHHtOrjOwpl9ng9O5wwWaPaZiylcwyMiSRWWhpIK64FrApopbxF+K/lj7yH1yK0+ +E+RzC5VfS2lHIzC3qUTp0NFCdzlWHRViG9fasbGt0s62GIbUyJGqDpX9KuR0oGicO+rrkTbb3Xsw +fqhDdcS2wgGLCoEES5A3sltQSONWT5QLyZRKiBTPGczj0XGXhH5u0Vz6pYK6d4RsGG/IiEOYmMLk +beVj1tY/0/c/yvNeTLbBK5bgjHrliT1xH2gLxXzEsCA3rjyu4tz1rhAjvmGr0jhIevXh8g8mfNYV +gUOEoJB9ZTRvc5nvFpgliSzM7aI5YpGohbo1h8EbT+LbCIiaGg1z2PYYbjEkz9dDQ30233kwih65 +NGi3bodYVlG8oEMF6QtRIckXxg9EbFHm93EkIvn6Q7xS8OaLFpXRfIjUhbvU6w41dMfRrDj6gcNG +mV0KChsw1BsSDIjkWYjtHuhYW+WNcKBlA/XH/hqll4aBVUo5VuZ1PbUlyyZ8kUUqaNCdsT2byuby +Nl8nvB4daN/7+2hWqerJijTAYfOwlqaKceFzP0n7MiYLKYcTKEWiuy//RJ3rdyO+Igfdm4QeaD4P +eNOfN24/m7rRHt2hWdP5snR/dNZr+PtMDEXbz/5/rzwH9NJpZyaMhnnCmyzcdClc92QYKT+qkd6e +MbSxDcfWFr6RJCGo4NdvtEioIi5Yyss7PMvPGacDWN5NWDat8bSp3vk3N5gufHbmoXkjm7IzvGKT +iLlqAczFA72/BDnzPOUZxO7IuTFCnMZ4etP2A7BpZiaYn/tvXNyw5+20icZB93OsL9O03DMuJVci +WcnG+WLqTz2WCrw4UC0wpnQnM+oiNR0EKwh5zEiXAErgtmQt/gzlFSN9j1jvr7vQgD4Z3/XKtxlW +1Wke4Vth0v9js58AClGmcVXRa1rdkZ1GEoMSUsMLZB5VPrvFDTjtxRB8RQuQrgQRMrpGDYQqDsBX +mKx25KAnlqkpT4iIFF+5o8siwE8imRqAGg/22JUWg8Yud2wtaoXLnfVvUKiELMyLnfkbCjHI+NWN +QMlQeZ1cAyjGd9cGTQ6APty0eYEWyygf0AMYm5PVpK0+YCXyhxBRFEivclbDqv898EtHmrAePepC +S8VXAqUqBsf6HaTPC6hAI1et0Xdlmq4FccvHPwcB8T4Z9m1evvwb5S5hnIL4qGgC+k7/enpqJGPJ +ylei1zil8rc5xUeB1ipYhdw3STYN3+zpsb8z94XHXhocQhvD+aJ0AcOZh3hezKzlQpgWBONjk0AC ++t3p1JBtiNSVmO0ApaTetR09jBDdid1CK6CPx/2gvkizgwQ4M48pbPLqsGYQZG500QNwtRbcWi2q +LokDU7kh8wZKZ4z3iKRzQGtbQwu8z6DR2TlJOdwAcZ2MFd7ZGLCh88UnAIYb2NkBQFUgmBb7b9x6 +lSqKkxPgfgJV8Nm4AqYbxYPq2nZPgZAF0XLtghJOlWvBN9nwwpPQ4SDlMdXc9x7bc8mvCwSXh153 +JRW44NVOQWnnd/j6v4rxw5fbgLiY7r9g8hRQRR4ESGoQqHcpie42ap6d38wm/wIwBuVg +""") ##file activate.sh -ACTIVATE_SH = """ -eJytVFFv2jAQfs+vuIU+QDWK+tqKB6oigdRC1bBOW1sZk1yIpWAj2yGj0/77ziFAUijStPIA2Hc+ -f/7u+64Bk0QYiEWKsMiMhRlCZjCCXNgEfKMyHSLMhOzw0IoVt+jDeazVAmbcJOdeA9Yqg5BLqSzo -TIKwEAmNoU3Xnhfh9hQ0W/DbA/o0QKNBCyqNAOVKaCUXKC2suBZ8lqIpskQMz9CW4J+x8d0texo+ -Tr717thDbzLw4RWuwSYoi0z3cdvdY6m7DPy1VNoWibu9TDocB4eKeCxOwvgxGYxHg/F9/xiYXfAA -0v7YAbBd6CS8ehaBLCktmmgSlRGpEVqiv+gPcBnBm0m+Qp6IMIGErxA4/VAoVIuFC9uE26L1ZSkS -QMjTlCRgFcwJAXWU/sVKu8WSk0bKo+YC4DvJRGW2DFsh52WZWqIjCM4cuRAmXM7RQE5645H7WoPT -Dl1LulgScozeUX/TC6jpbbVZ/QwG7Kn/GAzHoyPkF09r6xo9HzUxuDzWveDyoG2UeNCv4PJko8rw -FsImZRvtj572wL4QLgLSBV8qGaGxOnOewXfYGhBgGsM24cu729sutDXb9uo/HvlzExdaY0rdrxmt -Ys/63Z5Xgdr1GassGfO9koTqe7wDHxGNGw+Wi0p2h7Gb4YiNevd9xq7KtKpFd7j3inds0Q5FrBN7 -LtIUYi5St1/NMi7LKdZpDhdLuwZ6FwkTmhsTUMaMR2SNdc7XLaoXFrahqQdTqtUs6Myu4YoUu6vb -guspCFm4ytsL6sNB8IFtu7UjFWlUnO00s7nhDWqssdth0Lu567OHx/H9w+TkjYWKd8ItyvlTAo+S -LxBeanVf/GmhP+rsoR8a4EwpeEpTgRgin0OPdiQZdy7CctYrLcq5XR5BhMTa5VWnk+f5xRtasvrq -gsZBx6jY5lxjh7sqnbrvnisQp1T6KNiX6fQV9m/D1GC9SvPEQ1v7g+WIrxjaMf9Js/QT5uh/ztB/ -n5/b2Uk0/AXm/2MV -""".decode("base64").decode("zlib") +ACTIVATE_SH = convert(""" +eJytVVFvokAQfudXTLEP2pw1fW3jg01NNGm1KV4vd22zrDDIJrhrYJHay/33m0VEKGpyufIg7s63 +M9/OfDO0YBaKBAIRISzTRMMcIU3Qh0zoEOxEpbGHMBeyxz0t1lyjDRdBrJYw50l4YbVgo1LwuJRK +Q5xKEBp8EaOno41l+bg7Be0O/LaAnhbEmKAGFfmAci1iJZcoNax5LPg8wiRHiQBeoCvBPmfT+zv2 +PH6afR/cs8fBbGTDG9yADlHmSPOY7f4haInA95WKdQ4s91JpeDQO5fZAnKTxczaaTkbTh+EhMqWx +QWl/rEGsNJ2kV0cRySKleRGTUKWUVB81pT+vD3Dpw0cSfoMsFF4IIV8jcHqRyVPLpTHrkOu89IUr +EoDHo4gkoBUsiAFVlP4FKjaLFSeNFEeTS4AfJBOV6sKshVwUbmpAkyA4N8kFL+RygQlkpDfum58N +GO1QWNLFipij/yn1twOHit5V29UvZ8Seh0/OeDo5kPz8at24lp5jRXSuDlXPuWqUjYCNejlXJwtV +mHcUtpCddTh53hM7I15EpA+2VNLHRMep6Rn8xK0FDkYB7ABnn6J3jWnXbLvQfyzqz61dxDFGVP1a +o1Xasx7bsipU+zZjlSVjtlUkoXofq9FHlMZtDxaLCrrH2O14wiaDhyFj1wWs2qIl773iTbZohyza +iD0TUQQBF5HZr6ISgzKKNZrD5UpvgO5FwoT2tgkIMec+tcYm45sO+fPytqGpBy75aufpTG/gmhRb ++u3AjQtC5l1l7QV1dBAcadt+7UhFGpXONprZRviAWtbY3dgZ3N4P2ePT9OFxdjJiruJSuLk7+31f +x60HKiWc9eH9SBc04XuPGCVYce1SXlDyJcJrjfKr7ebSNpEaQVpg+l3wiAYOJZ9GCAxoR9JMWAiv ++IyoWBSfhOIIIoRar657vSzLLj9Q0xRZX9Kk6SUq0BmPsceNl179Mi8Vii65Pkj21XXf4MAlSy/t +Exft7A8WX4/iVRkZprZfNK2/YFL/55T+9wm9m86Uhr8A0Hwt +""") + +##file activate.fish +ACTIVATE_FISH = convert(""" +eJydVm1v4jgQ/s6vmA1wBxUE7X2stJVYlVWR2lK13d6d9laRk0yIr8HmbIe0++tvnIQQB9pbXT5A +Ys/LM55nZtyHx5RrSHiGsMm1gRAh1xhDwU0Kng8hFzMWGb5jBv2E69SDs0TJDdj3MxilxmzPZzP7 +pVPMMl+q9bjXh1eZQ8SEkAZULoAbiLnCyGSvvV6SC7IoBcS4Nw0wjcFbvJDcjiuTswzFDpiIQaHJ +lQAjQUi1YRmUboC2uZJig8J4PaCnT5IaDcgsbm/CjinOwgx1KcUTMEhhTgV4g2B1fRk8Le8fv86v +g7v545UHpZB9rKnp+gXsMhxLunIIpwVQxP/l9c/Hq9Xt1epm4R27bva6AJqN92G4YhbMG2i+LB+u +grv71c3dY7B6WtzfLy9bePbp0taDTXSwJQJszUnnp0y57mvpPcrF7ZODyhswtd59+/jdgw+fwBNS +xLSscksUPIDqwwNmCez3PpxGeyBYg6HE0YdcWBxcKczYzuVJi5Wu915vn5oWePCCoPUZBN5B7IgV +MCi54ZDLG7TUZ0HweXkb3M5vFmSpFm/gthhBx0UrveoPpv9AJ9unIbQYdUoe21bKg2q48sPFGVwu +H+afrxd1qvclaNlRFyh1EQ2sSccEuNAGWQwysfVpz1tPajUqbqJUnEcIJkWo6OXDaodK8ZiLdbmM +L1wb+9H0D+pcyPSrX5u5kgWSygRYXCnJUi/KKcuU4cqsAyTKZBiissLc7NFwizvjxtieKBVCIdWz +fzilzPaYyljZN0cGN1v7NnaIPNCGmVy3GKuJaQ6iVjE1Qfm+36hglErwmnAD8hu0dDy4uICBA8ZV +pQr/q/+O0KFW2kjelu9Dgb9SDBsWV4F4x5CswgS0zBVlk5tDMP5bVtUGpslbm81Lu2sdKq7uNMGh +MVQ4fy9xhogC1lS5guhISa0DlBWv0O8odT6/LP+4WZzDV6FzIkEqC0uolGZSZoMnlpxplmD2euaT +O4hkTpPnbztDccey0bhjDaBIqaWQa0uwEtQEwtyU56i4fq54F9IE3ORR6mKriODM4XOYZwaVYLYz +7SPbKkz4i7VkB6/Ot1upDE3znNqYKpM8raa0Bx8vfvntJ32UENsM4aI6gJL+jJwhxhh3jVIDOcpi +m0r2hmEtS8XXXNBk71QCDXTBNhhPiHX2LtHkrVIlhoEshH/EZgdq53Eirqs5iFKMnkOmqZTtr3Xq +djvPTWZT4S3NT5aVLgurMPUWI07BRVYqkQrmtCKohNY8qu9EdACoT6ki0a66XxVF4f9AQ3W38yO5 +mWmZmIIpnDFrbXakvKWeZhLwhvrbUH8fahhqD0YUcBDJjEBMQwiznE4y5QbHrbhHBOnUAYzb2tVN +jJa65e+eE2Ya30E2GurxUP8ssA6e/wOnvo3V78d3vTcvMB3n7l3iX1JXWqk= +""") + +##file activate.csh +ACTIVATE_CSH = convert(""" +eJx9U11vmzAUffevOCVRu+UB9pws29Kl0iq1aVWllaZlcgxciiViItsQdb9+xiQp+dh4QOB7Pu49 +XHqY59IgkwVhVRmLmFAZSrGRNkdgykonhFiqSCRW1sJSmJg8wCDT5QrucRCyHn6WFRKhVGmhKwVp +kUpNiS3emup3TY6XIn7DVNQyJUwlrgthJD6n/iCNv72uhCzCpFx9CRkThRQGKe08cWXJ9db/yh/u +pvzl9mn+PLnjj5P5D1yM8QmXlzBkSdXwZ0H/BBc0mEo5FE5qI2jKhclHOOvy9HD/OO/6YO1mX9vx +sY0H/tPIV0dtqel0V7iZvWyNg8XFcBA0ToEqVeqOdNUEQFvN41SumAv32VtJrakQNSmLWmgp4oJM +yDoBHgoydtoEAs47r5wHHnUal5vbJ8oOI+9wI86vb2d8Nrm/4Xy4RZ8R85E4uTZPB5EZPnTaaAGu +E59J8BE2J8XgrkbLeXMlVoQxznEYFYY8uFFdxsKQRx90Giwx9vSueHP1YNaUSFG4vTaErNSYuBOF +lXiVyXa9Sy3JdClEyK1dD6Nos9mEf8iKlOpmqSNTZnYjNEWiUYn2pKNB3ttcLJ3HmYYXy6Un76f7 +r8rRsC1TpTJj7f19m5sUf/V3Ir+x/yjtLu8KjLX/CmN/AcVGUUo= +""") ##file activate.bat -ACTIVATE_BAT = """ -eJyFUssKgzAQvAfyD3swYH+hItSiVKlGsalQKOyhauvFHOr/U+MzFcWc9jEzO7vkVLw+EmRZUvIt -GsiCVNydED2e2YhahkgJJVUJtWwgL8qqLnJI0jhKBJiUQPsUv6/YRmJcKDkMlBGOcehOmptctgJj -e2IP4cfcjyNvFOwVp/JSdWqMygq+MthmkwHNojmfhjuRh3iAGffncsPYhpl2mm5sbY+9QzjC7ylt -sFy6LTEL3rKRcLsGicrXV++4HVz1jzN4Vta+BnsingM+nMLSiB53KfkBsnmnEA== -""".decode("base64").decode("zlib") +ACTIVATE_BAT = convert(""" +eJyFUkEKgzAQvAfyhz0YaL9QEWpRqlSjWGspFPZQTevFHOr/adQaU1GaUzI7Mzu7ZF89XhKkEJS8 +qxaKMMsvboQ+LxxE44VICSW1gEa2UFaibqoS0iyJ0xw2lIA6nX5AHCu1jpRsv5KRjknkac9VLVug +sX9mtzxIeJDE/mg4OGp47qoLo3NHX2jsMB3AiDht5hryAUOEifoTdCXbSh7V0My2NMq/Xbh5MEjU +ZT63gpgNT9lKOJ/CtHsvT99re3pX303kydn4HeyOeAg5cjf2EW1D6HOPkg9NGKhu +""") ##file deactivate.bat -DEACTIVATE_BAT = """ +DEACTIVATE_BAT = convert(""" eJxzSE3OyFfIT0vj4spMU0hJTcvMS01RiPf3cYkP8wwKCXX0iQ8I8vcNCFHQ4FIAguLUEgWIgK0q FlWqXJpcICVYpGzx2BAZ4uHv5+Hv6wq1BWINXBTdKriEKkI1DhW2QAfhttcxxANiFZCBbglQSJUL i2dASrm4rFz9XLgAwJNbyQ== -""".decode("base64").decode("zlib") +""") + +##file activate.ps1 +ACTIVATE_PS = convert(""" +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 +QastYw== +""") ##file distutils-init.py -DISTUTILS_INIT = """ -eJytVl2L6zYQffevGBKK7XavKe3bhVBo78uFSyml0IdlEVpbTtR1JCMpm6S/vjOSY0v+uO1DDbs4 -0tF8nJk5sjz32jjQNpPhzd7H1ys3SqqjhcfCL1q18vgbN1YY2Kc/pQWlHXB4l8ZdeCfUO5x1c+nE -E1gNVwE1V3CxAqQDp6GVqgF3EmBd08nXLGukUfws4IDBVD13p2pYoS3rLk52ltF6hPhLS1XM4EUc -VsVYKzvBWPkE+WgmLzPZjkaUNmd6KVI3JRwWoRSLM6P98mMG+Dw4q+il8Ev07P7ATCNmRlfQ8/qN -HwVwB99Y4H0vMHAi6BWZUoEhoqXTNXdSK+A2LN6tE+fJ0E+7MhOdFSEM5lNgrJIKWXDF908wy87D -xE3UoHsxkegZTaHIHGNSSYfm+ntelpURvCnK7NEWBI/ap/b8Z1m232N2rj7B60V2DRM3B5NpaLSw -KnfwpvQVTviHOR+F88lhQyBAGlE7be6DoRNg9ldsG3218IHa6MRNU+tGBEYIggwafRk6yzsXDcVU -9Ua08kYxt+F3x12LRaQi52j0xx/ywFxrdMRqVevzmaummlIYEp0WsCAaX8cFb6buuLUTqEgQQ6/Q -04iWRoF38m/BdE8VtlBY0bURiB6KG1crpMZwc2fIjqWh+1UrkSLpWUIP8PySwLKv4qPGSVqDuMPy -dywQ+gS7L1irXVkm5pJsq3l+Ib1lMOvUrxI+/mBBY4KB+WpUtcO06RtzckNvQ6vYj1lGoZM2sdDG -fryJPYJVn/Cfka8XSqNaoLKhmOlqXMzW9+YBVp1EtIThZtOwzCRvMaARa+0xD0b2kcaJGwJsMbc7 -hLUfY4vKvsCOBdvDnyfuRbzmXRdGTZgPF7oGQkJACWVD22IMQdhx0npt5S2f+pXO+OwH6d+hwiS5 -7IJOjcK2emj1zBy1aONHByfAMoraw6WlrSIFTbGghqASoRCjVncYROFpXM4uYSqhGnuVeGvks4jz -cjnCoR5GnPW7KOh4maVbdFeoplgJ3wh3MSrAsv/QuMjOspnTKRl1fTYqqNisv7uTVnhF1GhoBFbp -lh+OcXN2riA5ZrYXtWxlfcDuC8U5kLoN3CCJYXGpesO6dx6rU0zGMtjU6cNlmW0Fid8Sja4ZG+Z3 -fTPbyj+mZnZ2wSQK8RaT9Km0ySRuLpm0DkUUL0ra3WQ2BgGJ7v9I9SKqNKZ/IR4R28RHm+vEz5ic -nZ2IH7bfub8pU1PR3gr10W7xLTfHh6Z6bgZ7K14G7Mj/1z5J6MFo6V5e07H0Ou78dTyeI+mxKOpI -eC2KMSj6HKxd6Uudf/n886fPv+f++x1lbASlmjQuPz8OvGA0j7j2eCu/4bcW6SFeCuNJ0W1GQHI5 -iwC9Ey0bjtHd9P4dPA++XxLnZDVuxvFEtlm3lf5a2c02u2LRYXHH/AOs8pIa -""".decode("base64").decode("zlib") +DISTUTILS_INIT = convert(""" +eJytV92L4zYQf/dfMU0ottuse7RvC6FQrg8Lxz2Ugz4si9HacqKuIxlJ2ST313dG8odkO9d7aGBB +luZLv/nNjFacOqUtKJMIvzK3cXlhWgp5MDBsqK5SNYftsBAGpLLA4F1oe2Ytl+9wUvW55TswCi4c +KibhbFDSglXQCFmDPXIwtm7FawLRbwtPzg2T9gf4gupKv4GS0N262w7V0NvpbCy8cvTo3eAus6C5 +ETU3ICQZX1hFTw/dzR6V/AW1RCN4/XAtbsVXqIXmlVX6liS4lOzEYY9QFB2zx6LfoSNjz1a0pqT9 +QOIfJWQ2E888NEVZNqLlZZnvIB0NpHkimlFdKn2iRRY7yGG/CCJb6Iz280d34SFXBS2yEYPNF0Q7 +yM7oCjpWvbEDQmnhRwOs6zjThpKE8HogwRAgraqYFZgGZvzmzVh+mgz9vskT3hruwyjdFcqyENJw +bbMPO5jdzonxK68QKT7B57CMRRG5shRSWDTX3dI8LzRndZbnSWL1zfvriUmK4TcGWSnZiEPCrxXv +bM+sP7VW2is2WgWXCO3sAu3Rzysz3FiNCA8WPyM4gb1JAAmCiyTZbhFjWx3h9SzauuRXC9MFoVbc +yNTCm1QXOOIfIn/g1kGMhDUBN72hI5XCBQtIXQw8UEEdma6Jaz4vJIJ51Orc15hzzmu6TdFp3ogr +Aof0c98tsw1SiaiWotHffk3XYCkqdToxWRfTFXqgpg2khcLluOHMVC0zZhLKIomesfSreUNNgbXi +Ky9VRzwzkBneNoGQyyvGjbsFQqOZvpWIjqH281lJ/jireFgR3cPzSyTGWzQpDNIU+03Fs4XKLkhp +/n0uFnuF6VphB44b3uWRneSbBoMSioqE8oeF0JY+qTvYfEK+bPLYdoR4McfYQ7wMZj39q0kfP8q+ +FfsymO0GzNlPh644Jje06ulqHpOEQqdJUfoidI2O4CWx4qOglLye6RrFQirpCRXvhoRqXH3sYdVJ +AItvc+VUsLO2v2hVAWrNIfVGtkG351cUMNncbh/WdowtSPtCdkzYFv6mwYc9o2Jt68ud6wectBr8 +hYAulPSlgzH44YbV3ikjrulEaNJxt+/H3wZ7bXSXje/YY4tfVVrVmUstaDwwOBLMg6iduDB0lMVC +UyzYx7Ab4kjCqdViEJmDcdk/SKbgsjYXgfMznUWcrtS4z4fmJ/XOM1LPk/iIpqass5XwNbdnLb1Y +8h3ERXSWZI6rZJxKs1LBqVH65w0Oy4ra0CBYxEeuOMbDmV5GI6E0Ha/wgVTtkX0+OXvqsD02CKLf +XHbeft85D7tTCMYy2Njp4DJP7gWJr6paVWXZ1+/6YXLv/iE0M90FktiI7yFJD9e7SOLhEkkaMTUO +azq9i2woBNR0/0eoF1HFMf0H8ChxH/jgcB34GZIz3Qn4/vid+VEamQrOVqAPTrOfmD4MPdVh09tb +8dLLjvh/61lEP4yW5vJaH4vHcevG8agXvzPGoOhhXNncpTr99PTHx6e/UvffFLaxUSjuSeP286Dw +gtEMcW1xKr/he4/6IQ6FUXP+0gkioHY5iwC9Eyx3HKO7af0zPPe+XyLn7fAY78k4aiR387bCr5XT +5C4rFgwLGfMvJuAMew== +""") ##file distutils.cfg -DISTUTILS_CFG = """ +DISTUTILS_CFG = convert(""" eJxNj00KwkAMhfc9xYNuxe4Ft57AjYiUtDO1wXSmNJnK3N5pdSEEAu8nH6lxHVlRhtDHMPATA4uH xJ4EFmGbvfJiicSHFRzUSISMY6hq3GLCRLnIvSTnEefN0FIjw5tF0Hkk9Q5dRunBsVoyFi24aaLg 9FDOlL0FPGluf4QjcInLlxd6f6rqkgPu/5nHLg0cXCscXoozRrP51DRT3j9QNl99AP53T2Q= -""".decode("base64").decode("zlib") +""") ##file activate_this.py -ACTIVATE_THIS = """ -eJyNUk2L3DAMvftXiCxLEphmSvc2MIcu9NaWHnopwxCcRNlRN7GD7clM/n0lp5mPZQs1JLb8pKcn -WUmSPE9w9GReAM9Yt9RhFg7kSzmtoKE6ZGU0ynJ7AfIcJnuEE3Wd0nWgUQcEQWEkF466QzMCf+Ss -6dGEQqmfgtbaQIWcDxs4HdBElv7og1wBg3gmH0TMjykcrAEyAd3gkP8rMDaocMDbHBWZ9RBdVZIk -SgU3bRTwWjQrPNc4BPiue/zinHUz7DRxws/eowtkTUSyiMhKfi2y3NHMdXX0itcOpYMOh3Ww61g8 -luJSDFP6tmH3ftyki2eeJ7mifrAugJ/8crReqUqztC0fC4kuGnKGxWf/snXlZb8kzXMmboW0GDod -Wut62G4hPZF5+pTO5XtiKYOuX/UL+ptcvy2ZTPKvIP1KFdeTiuuHxTXNFXYe/5+km0nmJ3r0KTxG -YSM6z23fbZ7276Tg9x5LdiuFjok7noks1sP2tWscpeRX6KaRnRuT3WnKlQQ51F3JlC2dmSvSRENd -j3wvetUDfLOjDDLPYtPwjDJb7yHYeNXyMPMLtdEQKRtl8HQrdLdX3O4YxZP7RvfcNH6ZCPMsi8td -qZvLAN7yFnoY0DSZhOUXj4WWy+tZ8190ud1tPu5Zzy2N+gOGaVfA -""".decode("base64").decode("zlib") +ACTIVATE_THIS = convert(""" +eJyNU01v2zAMvetXEB4K21jmDOstQA4dMGCHbeihlyEIDMWmG62yJEiKE//7kXKdpN2KzYBt8euR +fKSyLPs8wiEo8wh4wqZTGou4V6Hm0wJa1cSiTkJdr8+GsoTRHuCotBayiWqQEYGtMCgfD1KjGYBe +5a3p0cRKiAe2NtLADikftnDco0ko/SFEVgEZ8aRC5GLux7i3BpSJ6J1H+i7A2CjiHq9z7JRZuuQq +siwTIvpxJYCeuWaBpwZdhB+yxy/eWz+ZvVSU8C4E9FFZkyxFsvCT/ZzL8gcz9aXVE14Yyp2M+2W0 +y7n5mp0qN+avKXvbsyyzUqjeWR8hjGE+2iCE1W1tQ82hsCZN9UzlJr+/e/iab8WfqsmPI6pWeUPd +FrMsd4H/55poeO9n54COhUs+sZNEzNtg/wanpjpuqHJaxs76HtZryI/K3H7KJ/KDIhqcbJ7kI4ar +XL+sMgXnX0D+Te2Iy5xdP8yueSlQB/x/ED2BTAtyE3K4SYUN6AMNfbO63f4lBW3bUJPbTL+mjSxS +PyRfJkZRgj+VbFv+EzHFi5pKwUEepa4JslMnwkowSRCXI+m5XvEOvtuBrxHdhLalG0JofYBok6qj +YdN2dEngUlbC4PG60M1WEN0piu7Nq7on0mgyyUw3iV1etLo6r/81biWdQ9MWHFaePWZYaq+nmp+t +s3az+sj7eA0jfgPfeoN1 +""") if __name__ == '__main__': main() diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate.bat b/other-licenses/virtualenv/virtualenv_embedded/activate.bat new file mode 100644 index 000000000000..1b06941cea03 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate.bat @@ -0,0 +1,31 @@ +@echo off +set VIRTUAL_ENV=__VIRTUAL_ENV__ + +if not defined PROMPT ( + set PROMPT=$P$G +) + +if defined _OLD_VIRTUAL_PROMPT ( + set PROMPT=%_OLD_VIRTUAL_PROMPT% +) + +if defined _OLD_VIRTUAL_PYTHONHOME ( + set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME% +) + +set _OLD_VIRTUAL_PROMPT=%PROMPT% +set PROMPT=__VIRTUAL_WINPROMPT__ %PROMPT% + +if defined PYTHONHOME ( + set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME% + set PYTHONHOME= +) + +if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%; goto SKIPPATH + +set _OLD_VIRTUAL_PATH=%PATH% + +:SKIPPATH +set PATH=%VIRTUAL_ENV%\__BIN_NAME__;%PATH% + +:END diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate.csh b/other-licenses/virtualenv/virtualenv_embedded/activate.csh new file mode 100644 index 000000000000..20fe95d45fc0 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate.csh @@ -0,0 +1,32 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelavent variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "__VIRTUAL_ENV__" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/__BIN_NAME__:$PATH" + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if ("__VIRTUAL_PROMPT__" != "") then + set env_name = "__VIRTUAL_PROMPT__" +else + if (`basename "$VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif +endif +set prompt = "[$env_name] $prompt" +unset env_name + +rehash + diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate.fish b/other-licenses/virtualenv/virtualenv_embedded/activate.fish new file mode 100644 index 000000000000..fcb31d8e6d14 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate.fish @@ -0,0 +1,79 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelavent variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "__VIRTUAL_ENV__" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/__BIN_NAME__" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish shell uses a function, instead of env vars, + # to produce the prompt. Overriding the existing function is easy. + # However, adding to the current prompt, instead of clobbering it, + # is a little more work. + set -l oldpromptfile (tempfile) + if test $status + # save the current fish_prompt function... + echo "function _old_fish_prompt" >> $oldpromptfile + echo -n \# >> $oldpromptfile + functions fish_prompt >> $oldpromptfile + # we've made the "_old_fish_prompt" file, source it. + . $oldpromptfile + rm -f $oldpromptfile + + if test -n "__VIRTUAL_PROMPT__" + # We've been given us a prompt override. + # + # FIXME: Unsure how to handle this *safely*. We could just eval() + # whatever is given, but the risk is a bit much. + echo "activate.fish: Alternative prompt prefix is not supported under fish-shell." 1>&2 + echo "activate.fish: Alter the fish_prompt in this file as needed." 1>&2 + end + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s %s" (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) (_old_fish_prompt) + else + printf "%s(%s)%s%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) (_old_fish_prompt) + end + end + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" + end +end + diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate.ps1 b/other-licenses/virtualenv/virtualenv_embedded/activate.ps1 new file mode 100644 index 000000000000..a70b08c8b513 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate.ps1 @@ -0,0 +1,148 @@ +# This file must be dot sourced from PoSh; you cannot run it +# directly. Do this: . ./activate.ps1 + +# FIXME: clean up unused vars. +$script:THIS_PATH = $myinvocation.mycommand.path +$script:BASE_DIR = split-path (resolve-path "$THIS_PATH/..") -Parent +$script:DIR_NAME = split-path $BASE_DIR -Leaf + +function global:deactivate ( [switch] $NonDestructive ){ + + if ( test-path variable:_OLD_VIRTUAL_PATH ) { + $env:PATH = $variable:_OLD_VIRTUAL_PATH + remove-variable "_OLD_VIRTUAL_PATH" -scope global + } + + if ( test-path function:_old_virtual_prompt ) { + $function:prompt = $function:_old_virtual_prompt + remove-item function:\_old_virtual_prompt + } + + if ($env:VIRTUAL_ENV) { + $old_env = split-path $env:VIRTUAL_ENV -leaf + remove-item env:VIRTUAL_ENV -erroraction silentlycontinue + } + + if ( !$NonDestructive ) { + # Self destruct! + remove-item function:deactivate + } +} + +# unset irrelevant variables +deactivate -nondestructive + +$VIRTUAL_ENV = $BASE_DIR +$env:VIRTUAL_ENV = $VIRTUAL_ENV + +$global:_OLD_VIRTUAL_PATH = $env:PATH +$env:PATH = "$env:VIRTUAL_ENV/Scripts;" + $env:PATH +function global:_old_virtual_prompt { "" } +$function:_old_virtual_prompt = $function:prompt +function global:prompt { + # Add a prefix to the current prompt, but don't discard it. + write-host "($(split-path $env:VIRTUAL_ENV -leaf)) " -nonewline + & $function:_old_virtual_prompt +} + +# SIG # Begin signature block +# MIISeAYJKoZIhvcNAQcCoIISaTCCEmUCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB +# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR +# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUS5reBwSg3zOUwhXf2jPChZzf +# yPmggg6tMIIGcDCCBFigAwIBAgIBJDANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQG +# EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERp +# Z2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2Vy +# dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDcxMDI0MjIwMTQ2WhcNMTcxMDI0MjIw +# MTQ2WjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzAp +# BgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNV +# BAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgT2JqZWN0 +# IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyiOLIjUemqAbPJ1J +# 0D8MlzgWKbr4fYlbRVjvhHDtfhFN6RQxq0PjTQxRgWzwFQNKJCdU5ftKoM5N4YSj +# Id6ZNavcSa6/McVnhDAQm+8H3HWoD030NVOxbjgD/Ih3HaV3/z9159nnvyxQEckR +# ZfpJB2Kfk6aHqW3JnSvRe+XVZSufDVCe/vtxGSEwKCaNrsLc9pboUoYIC3oyzWoU +# TZ65+c0H4paR8c8eK/mC914mBo6N0dQ512/bkSdaeY9YaQpGtW/h/W/FkbQRT3sC +# pttLVlIjnkuY4r9+zvqhToPjxcfDYEf+XD8VGkAqle8Aa8hQ+M1qGdQjAye8OzbV +# uUOw7wIDAQABo4IB6TCCAeUwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +# AQYwHQYDVR0OBBYEFNBOD0CZbLhLGW87KLjg44gHNKq3MB8GA1UdIwQYMBaAFE4L +# 7xqkQFulF2mHMMo0aEPQQa7yMD0GCCsGAQUFBwEBBDEwLzAtBggrBgEFBQcwAoYh +# aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6Al +# oCOGIWh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0 +# cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysG +# AQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +# L3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +# L2ludGVybWVkaWF0ZS5wZGYwEQYJYIZIAYb4QgEBBAQDAgABMFAGCWCGSAGG+EIB +# DQRDFkFTdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIE9iamVj +# dCBTaWduaW5nIENlcnRpZmljYXRlczANBgkqhkiG9w0BAQUFAAOCAgEAcnMLA3Va +# N4OIE9l4QT5OEtZy5PByBit3oHiqQpgVEQo7DHRsjXD5H/IyTivpMikaaeRxIv95 +# baRd4hoUcMwDj4JIjC3WA9FoNFV31SMljEZa66G8RQECdMSSufgfDYu1XQ+cUKxh +# D3EtLGGcFGjjML7EQv2Iol741rEsycXwIXcryxeiMbU2TPi7X3elbwQMc4JFlJ4B +# y9FhBzuZB1DV2sN2irGVbC3G/1+S2doPDjL1CaElwRa/T0qkq2vvPxUgryAoCppU +# FKViw5yoGYC+z1GaesWWiP1eFKAL0wI7IgSvLzU3y1Vp7vsYaxOVBqZtebFTWRHt +# XjCsFrrQBngt0d33QbQRI5mwgzEp7XJ9xu5d6RVWM4TPRUsd+DDZpBHm9mszvi9g +# VFb2ZG7qRRXCSqys4+u/NLBPbXi/m/lU00cODQTlC/euwjk9HQtRrXQ/zqsBJS6U +# J+eLGw1qOfj+HVBl/ZQpfoLk7IoWlRQvRL1s7oirEaqPZUIWY/grXq9r6jDKAp3L +# ZdKQpPOnnogtqlU4f7/kLjEJhrrc98mrOWmVMK/BuFRAfQ5oDUMnVmCzAzLMjKfG +# cVW/iMew41yfhgKbwpfzm3LBr1Zv+pEBgcgW6onRLSAn3XHM0eNtz+AkxH6rRf6B +# 2mYhLEEGLapH8R1AMAo4BbVFOZR5kXcMCwowggg1MIIHHaADAgECAgIEuDANBgkq +# hkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0 +# ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx +# ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUg +# T2JqZWN0IENBMB4XDTExMTIwMzE1MzQxOVoXDTEzMTIwMzE0NTgwN1owgYwxIDAe +# BgNVBA0TFzU4MTc5Ni1HaDd4Zkp4a3hRU0lPNEUwMQswCQYDVQQGEwJERTEPMA0G +# A1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xFjAUBgNVBAMTDUphbm5pcyBM +# ZWlkZWwxITAfBgkqhkiG9w0BCQEWEmphbm5pc0BsZWlkZWwuaW5mbzCCAiIwDQYJ +# KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMcPeABYdN7nPq/AkZ/EkyUBGx/l2Yui +# Lfm8ZdLG0ulMb/kQL3fRY7sUjYPyn9S6PhqqlFnNoGHJvbbReCdUC9SIQYmOEjEA +# raHfb7MZU10NjO4U2DdGucj2zuO5tYxKizizOJF0e4yRQZVxpUGdvkW/+GLjCNK5 +# L7mIv3Z1dagxDKHYZT74HXiS4VFUwHF1k36CwfM2vsetdm46bdgSwV+BCMmZICYT +# IJAS9UQHD7kP4rik3bFWjUx08NtYYFAVOd/HwBnemUmJe4j3IhZHr0k1+eDG8hDH +# KVvPgLJIoEjC4iMFk5GWsg5z2ngk0LLu3JZMtckHsnnmBPHQK8a3opUNd8hdMNJx +# gOwKjQt2JZSGUdIEFCKVDqj0FmdnDMPfwy+FNRtpBMl1sz78dUFhSrnM0D8NXrqa +# 4rG+2FoOXlmm1rb6AFtpjAKksHRpYcPk2DPGWp/1sWB+dUQkS3gOmwFzyqeTuXpT +# 0juqd3iAxOGx1VRFQ1VHLLf3AzV4wljBau26I+tu7iXxesVucSdsdQu293jwc2kN +# xK2JyHCoZH+RyytrwS0qw8t7rMOukU9gwP8mn3X6mgWlVUODMcHTULjSiCEtvyZ/ +# aafcwjUbt4ReEcnmuZtWIha86MTCX7U7e+cnpWG4sIHPnvVTaz9rm8RyBkIxtFCB +# nQ3FnoQgyxeJAgMBAAGjggOdMIIDmTAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIH +# gDAuBgNVHSUBAf8EJDAiBggrBgEFBQcDAwYKKwYBBAGCNwIBFQYKKwYBBAGCNwoD +# DTAdBgNVHQ4EFgQUWyCgrIWo8Ifvvm1/YTQIeMU9nc8wHwYDVR0jBBgwFoAU0E4P +# QJlsuEsZbzsouODjiAc0qrcwggIhBgNVHSAEggIYMIICFDCCAhAGCysGAQQBgbU3 +# AQICMIIB/zAuBggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9s +# aWN5LnBkZjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50 +# ZXJtZWRpYXRlLnBkZjCB9wYIKwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2VydGlm +# aWNhdGlvbiBBdXRob3JpdHkwAwIBARqBvlRoaXMgY2VydGlmaWNhdGUgd2FzIGlz +# c3VlZCBhY2NvcmRpbmcgdG8gdGhlIENsYXNzIDIgVmFsaWRhdGlvbiByZXF1aXJl +# bWVudHMgb2YgdGhlIFN0YXJ0Q29tIENBIHBvbGljeSwgcmVsaWFuY2Ugb25seSBm +# b3IgdGhlIGludGVuZGVkIHB1cnBvc2UgaW4gY29tcGxpYW5jZSBvZiB0aGUgcmVs +# eWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wgZwGCCsGAQUFBwICMIGPMCcWIFN0YXJ0 +# Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMCAQIaZExpYWJpbGl0eSBhbmQg +# d2FycmFudGllcyBhcmUgbGltaXRlZCEgU2VlIHNlY3Rpb24gIkxlZ2FsIGFuZCBM +# aW1pdGF0aW9ucyIgb2YgdGhlIFN0YXJ0Q29tIENBIHBvbGljeS4wNgYDVR0fBC8w +# LTAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNzbC5jb20vY3J0YzItY3JsLmNybDCB +# iQYIKwYBBQUHAQEEfTB7MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5zdGFydHNz +# bC5jb20vc3ViL2NsYXNzMi9jb2RlL2NhMEAGCCsGAQUFBzAChjRodHRwOi8vYWlh +# LnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3MyLmNvZGUuY2EuY3J0MCMGA1Ud +# EgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkqhkiG9w0BAQUFAAOC +# AQEAhrzEV6zwoEtKjnFRhCsjwiPykVpo5Eiye77Ve801rQDiRKgSCCiW6g3HqedL +# OtaSs65Sj2pm3Viea4KR0TECLcbCTgsdaHqw2x1yXwWBQWZEaV6EB05lIwfr94P1 +# SFpV43zkuc+bbmA3+CRK45LOcCNH5Tqq7VGTCAK5iM7tvHwFlbQRl+I6VEL2mjpF +# NsuRjDOVrv/9qw/a22YJ9R7Y1D0vUSs3IqZx2KMUaYDP7H2mSRxJO2nADQZBtriF +# gTyfD3lYV12MlIi5CQwe3QC6DrrfSMP33i5Wa/OFJiQ27WPxmScYVhiqozpImFT4 +# PU9goiBv9RKXdgTmZE1PN0NQ5jGCAzUwggMxAgEBMIGTMIGMMQswCQYDVQQGEwJJ +# TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0 +# YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3Mg +# MiBQcmltYXJ5IEludGVybWVkaWF0ZSBPYmplY3QgQ0ECAgS4MAkGBSsOAwIaBQCg +# eDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEE +# AYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJ +# BDEWBBRVGw0FDSiaIi38dWteRUAg/9Pr6DANBgkqhkiG9w0BAQEFAASCAgCInvOZ +# FdaNFzbf6trmFDZKMojyx3UjKMCqNjHVBbuKY0qXwFC/ElYDV1ShJ2CBZbdurydO +# OQ6cIQ0KREOCwmX/xB49IlLHHUxNhEkVv7HGU3EKAFf9IBt9Yr7jikiR9cjIsfHK +# 4cjkoKJL7g28yEpLLkHt1eo37f1Ga9lDWEa5Zq3U5yX+IwXhrUBm1h8Xr033FhTR +# VEpuSz6LHtbrL/zgJnCzJ2ahjtJoYevdcWiNXffosJHFaSfYDDbiNsPRDH/1avmb +# 5j/7BhP8BcBaR6Fp8tFbNGIcWHHGcjqLMnTc4w13b7b4pDhypqElBa4+lCmwdvv9 +# GydYtRgPz8GHeoBoKj30YBlMzRIfFYaIFGIC4Ai3UEXkuH9TxYohVbGm/W0Kl4Lb +# RJ1FwiVcLcTOJdgNId2vQvKc+jtNrjcg5SP9h2v/C4aTx8tyc6tE3TOPh2f9b8DL +# S+SbVArJpuJqrPTxDDoO1QNjTgLcdVYeZDE+r/NjaGZ6cMSd8db3EaG3ijD/0bud +# SItbm/OlNVbQOFRR76D+ZNgPcU5iNZ3bmvQQIg6aSB9MHUpIE/SeCkNl9YeVk1/1 +# GFULgNMRmIYP4KLvu9ylh5Gu3hvD5VNhH6+FlXANwFy07uXks5uF8mfZVxVCnodG +# xkNCx+6PsrA5Z7WP4pXcmYnMn97npP/Q9EHJWw== +# SIG # End signature block diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate.sh b/other-licenses/virtualenv/virtualenv_embedded/activate.sh new file mode 100644 index 000000000000..975d7e74c1c9 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate.sh @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "$_OLD_VIRTUAL_PATH" ] ; then + PATH="$_OLD_VIRTUAL_PATH" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then + PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r + fi + + if [ -n "$_OLD_VIRTUAL_PS1" ] ; then + PS1="$_OLD_VIRTUAL_PS1" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelavent variables +deactivate nondestructive + +VIRTUAL_ENV="__VIRTUAL_ENV__" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/__BIN_NAME__:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "$PYTHONHOME" ] ; then + _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" + unset PYTHONHOME +fi + +if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then + _OLD_VIRTUAL_PS1="$PS1" + if [ "x__VIRTUAL_PROMPT__" != x ] ; then + PS1="__VIRTUAL_PROMPT__$PS1" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r +fi diff --git a/other-licenses/virtualenv/virtualenv_embedded/activate_this.py b/other-licenses/virtualenv/virtualenv_embedded/activate_this.py new file mode 100644 index 000000000000..ea12c28aca6d --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/activate_this.py @@ -0,0 +1,34 @@ +"""By using execfile(this_file, dict(__file__=this_file)) you will +activate this virtualenv environment. + +This can be used when you must use an existing Python interpreter, not +the virtualenv bin/python +""" + +try: + __file__ +except NameError: + raise AssertionError( + "You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))") +import sys +import os + +old_os_path = os.environ['PATH'] +os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path +base = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if sys.platform == 'win32': + site_packages = os.path.join(base, 'Lib', 'site-packages') +else: + site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages') +prev_sys_path = list(sys.path) +import site +site.addsitedir(site_packages) +sys.real_prefix = sys.prefix +sys.prefix = base +# Move the added items to the front of the path: +new_sys_path = [] +for item in list(sys.path): + if item not in prev_sys_path: + new_sys_path.append(item) + sys.path.remove(item) +sys.path[:0] = new_sys_path diff --git a/other-licenses/virtualenv/virtualenv_embedded/deactivate.bat b/other-licenses/virtualenv/virtualenv_embedded/deactivate.bat new file mode 100644 index 000000000000..a575a94ca159 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/deactivate.bat @@ -0,0 +1,17 @@ +@echo off + +if defined _OLD_VIRTUAL_PROMPT ( + set PROMPT=%_OLD_VIRTUAL_PROMPT% +) +set _OLD_VIRTUAL_PROMPT= + +if defined _OLD_VIRTUAL_PYTHONHOME ( + set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME% + set _OLD_VIRTUAL_PYTHONHOME= +) + +if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH% + +set _OLD_VIRTUAL_PATH= + +:END diff --git a/other-licenses/virtualenv/virtualenv_embedded/distribute_setup.py b/other-licenses/virtualenv/virtualenv_embedded/distribute_setup.py new file mode 100644 index 000000000000..b204902e31c8 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/distribute_setup.py @@ -0,0 +1,485 @@ +#!python +"""Bootstrap distribute installation + +If you want to use setuptools in your package's setup.py, just include this +file in the same directory with it, and add this to the top of your setup.py:: + + from distribute_setup import use_setuptools + use_setuptools() + +If you want to require a specific version of setuptools, set a download +mirror, or use an alternate download directory, you can do so by supplying +the appropriate options to ``use_setuptools()``. + +This file can also be run as a script to install or upgrade setuptools. +""" +import os +import sys +import time +import fnmatch +import tempfile +import tarfile +from distutils import log + +try: + from site import USER_SITE +except ImportError: + USER_SITE = None + +try: + import subprocess + + def _python_cmd(*args): + args = (sys.executable,) + args + return subprocess.call(args) == 0 + +except ImportError: + # will be used for python 2.3 + def _python_cmd(*args): + args = (sys.executable,) + args + # quoting arguments if windows + if sys.platform == 'win32': + def quote(arg): + if ' ' in arg: + return '"%s"' % arg + return arg + args = [quote(arg) for arg in args] + return os.spawnl(os.P_WAIT, sys.executable, *args) == 0 + +DEFAULT_VERSION = "0.6.24" +DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/" +SETUPTOOLS_FAKED_VERSION = "0.6c11" + +SETUPTOOLS_PKG_INFO = """\ +Metadata-Version: 1.0 +Name: setuptools +Version: %s +Summary: xxxx +Home-page: xxx +Author: xxx +Author-email: xxx +License: xxx +Description: xxx +""" % SETUPTOOLS_FAKED_VERSION + + +def _install(tarball): + # extracting the tarball + tmpdir = tempfile.mkdtemp() + log.warn('Extracting in %s', tmpdir) + old_wd = os.getcwd() + try: + os.chdir(tmpdir) + tar = tarfile.open(tarball) + _extractall(tar) + tar.close() + + # going in the directory + subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) + os.chdir(subdir) + log.warn('Now working in %s', subdir) + + # installing + log.warn('Installing Distribute') + if not _python_cmd('setup.py', 'install'): + log.warn('Something went wrong during the installation.') + log.warn('See the error message above.') + finally: + os.chdir(old_wd) + + +def _build_egg(egg, tarball, to_dir): + # extracting the tarball + tmpdir = tempfile.mkdtemp() + log.warn('Extracting in %s', tmpdir) + old_wd = os.getcwd() + try: + os.chdir(tmpdir) + tar = tarfile.open(tarball) + _extractall(tar) + tar.close() + + # going in the directory + subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) + os.chdir(subdir) + log.warn('Now working in %s', subdir) + + # building an egg + log.warn('Building a Distribute egg in %s', to_dir) + _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir) + + finally: + os.chdir(old_wd) + # returning the result + log.warn(egg) + if not os.path.exists(egg): + raise IOError('Could not build the egg.') + + +def _do_download(version, download_base, to_dir, download_delay): + egg = os.path.join(to_dir, 'distribute-%s-py%d.%d.egg' + % (version, sys.version_info[0], sys.version_info[1])) + if not os.path.exists(egg): + tarball = download_setuptools(version, download_base, + to_dir, download_delay) + _build_egg(egg, tarball, to_dir) + sys.path.insert(0, egg) + import setuptools + setuptools.bootstrap_install_from = egg + + +def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, + to_dir=os.curdir, download_delay=15, no_fake=True): + # making sure we use the absolute path + to_dir = os.path.abspath(to_dir) + was_imported = 'pkg_resources' in sys.modules or \ + 'setuptools' in sys.modules + try: + try: + import pkg_resources + if not hasattr(pkg_resources, '_distribute'): + if not no_fake: + _fake_setuptools() + raise ImportError + except ImportError: + return _do_download(version, download_base, to_dir, download_delay) + try: + pkg_resources.require("distribute>="+version) + return + except pkg_resources.VersionConflict: + e = sys.exc_info()[1] + if was_imported: + sys.stderr.write( + "The required version of distribute (>=%s) is not available,\n" + "and can't be installed while this script is running. Please\n" + "install a more recent version first, using\n" + "'easy_install -U distribute'." + "\n\n(Currently using %r)\n" % (version, e.args[0])) + sys.exit(2) + else: + del pkg_resources, sys.modules['pkg_resources'] # reload ok + return _do_download(version, download_base, to_dir, + download_delay) + except pkg_resources.DistributionNotFound: + return _do_download(version, download_base, to_dir, + download_delay) + finally: + if not no_fake: + _create_fake_setuptools_pkg_info(to_dir) + +def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, + to_dir=os.curdir, delay=15): + """Download distribute from a specified location and return its filename + + `version` should be a valid distribute version number that is available + as an egg for download under the `download_base` URL (which should end + with a '/'). `to_dir` is the directory where the egg will be downloaded. + `delay` is the number of seconds to pause before an actual download + attempt. + """ + # making sure we use the absolute path + to_dir = os.path.abspath(to_dir) + try: + from urllib.request import urlopen + except ImportError: + from urllib2 import urlopen + tgz_name = "distribute-%s.tar.gz" % version + url = download_base + tgz_name + saveto = os.path.join(to_dir, tgz_name) + src = dst = None + if not os.path.exists(saveto): # Avoid repeated downloads + try: + log.warn("Downloading %s", url) + src = urlopen(url) + # Read/write all in one block, so we don't create a corrupt file + # if the download is interrupted. + data = src.read() + dst = open(saveto, "wb") + dst.write(data) + finally: + if src: + src.close() + if dst: + dst.close() + return os.path.realpath(saveto) + +def _no_sandbox(function): + def __no_sandbox(*args, **kw): + try: + from setuptools.sandbox import DirectorySandbox + if not hasattr(DirectorySandbox, '_old'): + def violation(*args): + pass + DirectorySandbox._old = DirectorySandbox._violation + DirectorySandbox._violation = violation + patched = True + else: + patched = False + except ImportError: + patched = False + + try: + return function(*args, **kw) + finally: + if patched: + DirectorySandbox._violation = DirectorySandbox._old + del DirectorySandbox._old + + return __no_sandbox + +def _patch_file(path, content): + """Will backup the file then patch it""" + existing_content = open(path).read() + if existing_content == content: + # already patched + log.warn('Already patched.') + return False + log.warn('Patching...') + _rename_path(path) + f = open(path, 'w') + try: + f.write(content) + finally: + f.close() + return True + +_patch_file = _no_sandbox(_patch_file) + +def _same_content(path, content): + return open(path).read() == content + +def _rename_path(path): + new_name = path + '.OLD.%s' % time.time() + log.warn('Renaming %s into %s', path, new_name) + os.rename(path, new_name) + return new_name + +def _remove_flat_installation(placeholder): + if not os.path.isdir(placeholder): + log.warn('Unkown installation at %s', placeholder) + return False + found = False + for file in os.listdir(placeholder): + if fnmatch.fnmatch(file, 'setuptools*.egg-info'): + found = True + break + if not found: + log.warn('Could not locate setuptools*.egg-info') + return + + log.warn('Removing elements out of the way...') + pkg_info = os.path.join(placeholder, file) + if os.path.isdir(pkg_info): + patched = _patch_egg_dir(pkg_info) + else: + patched = _patch_file(pkg_info, SETUPTOOLS_PKG_INFO) + + if not patched: + log.warn('%s already patched.', pkg_info) + return False + # now let's move the files out of the way + for element in ('setuptools', 'pkg_resources.py', 'site.py'): + element = os.path.join(placeholder, element) + if os.path.exists(element): + _rename_path(element) + else: + log.warn('Could not find the %s element of the ' + 'Setuptools distribution', element) + return True + +_remove_flat_installation = _no_sandbox(_remove_flat_installation) + +def _after_install(dist): + log.warn('After install bootstrap.') + placeholder = dist.get_command_obj('install').install_purelib + _create_fake_setuptools_pkg_info(placeholder) + +def _create_fake_setuptools_pkg_info(placeholder): + if not placeholder or not os.path.exists(placeholder): + log.warn('Could not find the install location') + return + pyver = '%s.%s' % (sys.version_info[0], sys.version_info[1]) + setuptools_file = 'setuptools-%s-py%s.egg-info' % \ + (SETUPTOOLS_FAKED_VERSION, pyver) + pkg_info = os.path.join(placeholder, setuptools_file) + if os.path.exists(pkg_info): + log.warn('%s already exists', pkg_info) + return + + log.warn('Creating %s', pkg_info) + f = open(pkg_info, 'w') + try: + f.write(SETUPTOOLS_PKG_INFO) + finally: + f.close() + + pth_file = os.path.join(placeholder, 'setuptools.pth') + log.warn('Creating %s', pth_file) + f = open(pth_file, 'w') + try: + f.write(os.path.join(os.curdir, setuptools_file)) + finally: + f.close() + +_create_fake_setuptools_pkg_info = _no_sandbox(_create_fake_setuptools_pkg_info) + +def _patch_egg_dir(path): + # let's check if it's already patched + pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO') + if os.path.exists(pkg_info): + if _same_content(pkg_info, SETUPTOOLS_PKG_INFO): + log.warn('%s already patched.', pkg_info) + return False + _rename_path(path) + os.mkdir(path) + os.mkdir(os.path.join(path, 'EGG-INFO')) + pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO') + f = open(pkg_info, 'w') + try: + f.write(SETUPTOOLS_PKG_INFO) + finally: + f.close() + return True + +_patch_egg_dir = _no_sandbox(_patch_egg_dir) + +def _before_install(): + log.warn('Before install bootstrap.') + _fake_setuptools() + + +def _under_prefix(location): + if 'install' not in sys.argv: + return True + args = sys.argv[sys.argv.index('install')+1:] + for index, arg in enumerate(args): + for option in ('--root', '--prefix'): + if arg.startswith('%s=' % option): + top_dir = arg.split('root=')[-1] + return location.startswith(top_dir) + elif arg == option: + if len(args) > index: + top_dir = args[index+1] + return location.startswith(top_dir) + if arg == '--user' and USER_SITE is not None: + return location.startswith(USER_SITE) + return True + + +def _fake_setuptools(): + log.warn('Scanning installed packages') + try: + import pkg_resources + except ImportError: + # we're cool + log.warn('Setuptools or Distribute does not seem to be installed.') + return + ws = pkg_resources.working_set + try: + setuptools_dist = ws.find(pkg_resources.Requirement.parse('setuptools', + replacement=False)) + except TypeError: + # old distribute API + setuptools_dist = ws.find(pkg_resources.Requirement.parse('setuptools')) + + if setuptools_dist is None: + log.warn('No setuptools distribution found') + return + # detecting if it was already faked + setuptools_location = setuptools_dist.location + log.warn('Setuptools installation detected at %s', setuptools_location) + + # if --root or --preix was provided, and if + # setuptools is not located in them, we don't patch it + if not _under_prefix(setuptools_location): + log.warn('Not patching, --root or --prefix is installing Distribute' + ' in another location') + return + + # let's see if its an egg + if not setuptools_location.endswith('.egg'): + log.warn('Non-egg installation') + res = _remove_flat_installation(setuptools_location) + if not res: + return + else: + log.warn('Egg installation') + pkg_info = os.path.join(setuptools_location, 'EGG-INFO', 'PKG-INFO') + if (os.path.exists(pkg_info) and + _same_content(pkg_info, SETUPTOOLS_PKG_INFO)): + log.warn('Already patched.') + return + log.warn('Patching...') + # let's create a fake egg replacing setuptools one + res = _patch_egg_dir(setuptools_location) + if not res: + return + log.warn('Patched done.') + _relaunch() + + +def _relaunch(): + log.warn('Relaunching...') + # we have to relaunch the process + # pip marker to avoid a relaunch bug + if sys.argv[:3] == ['-c', 'install', '--single-version-externally-managed']: + sys.argv[0] = 'setup.py' + args = [sys.executable] + sys.argv + sys.exit(subprocess.call(args)) + + +def _extractall(self, path=".", members=None): + """Extract all members from the archive to the current working + directory and set owner, modification time and permissions on + directories afterwards. `path' specifies a different directory + to extract to. `members' is optional and must be a subset of the + list returned by getmembers(). + """ + import copy + import operator + from tarfile import ExtractError + directories = [] + + if members is None: + members = self + + for tarinfo in members: + if tarinfo.isdir(): + # Extract directories with a safe mode. + directories.append(tarinfo) + tarinfo = copy.copy(tarinfo) + tarinfo.mode = 448 # decimal for oct 0700 + self.extract(tarinfo, path) + + # Reverse sort directories. + if sys.version_info < (2, 4): + def sorter(dir1, dir2): + return cmp(dir1.name, dir2.name) + directories.sort(sorter) + directories.reverse() + else: + directories.sort(key=operator.attrgetter('name'), reverse=True) + + # Set correct owner, mtime and filemode on directories. + for tarinfo in directories: + dirpath = os.path.join(path, tarinfo.name) + try: + self.chown(tarinfo, dirpath) + self.utime(tarinfo, dirpath) + self.chmod(tarinfo, dirpath) + except ExtractError: + e = sys.exc_info()[1] + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + +def main(argv, version=DEFAULT_VERSION): + """Install or upgrade setuptools and EasyInstall""" + tarball = download_setuptools() + _install(tarball) + + +if __name__ == '__main__': + main(sys.argv[1:]) diff --git a/other-licenses/virtualenv/virtualenv_embedded/distutils-init.py b/other-licenses/virtualenv/virtualenv_embedded/distutils-init.py new file mode 100644 index 000000000000..7eea9efe8fe1 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/distutils-init.py @@ -0,0 +1,97 @@ +import os +import sys +import warnings +import opcode # opcode is not a virtualenv module, so we can use it to find the stdlib + # Important! To work on pypy, this must be a module that resides in the + # lib-python/modified-x.y.z directory + +dirname = os.path.dirname + +distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils') +if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)): + warnings.warn( + "The virtualenv distutils package at %s appears to be in the same location as the system distutils?") +else: + __path__.insert(0, distutils_path) + exec(open(os.path.join(distutils_path, '__init__.py')).read()) + +try: + import dist + import sysconfig +except ImportError: + from distutils import dist, sysconfig +try: + basestring +except NameError: + basestring = str + +## patch build_ext (distutils doesn't know how to get the libs directory +## path on windows - it hardcodes the paths around the patched sys.prefix) + +if sys.platform == 'win32': + from distutils.command.build_ext import build_ext as old_build_ext + class build_ext(old_build_ext): + def finalize_options (self): + if self.library_dirs is None: + self.library_dirs = [] + elif isinstance(self.library_dirs, basestring): + self.library_dirs = self.library_dirs.split(os.pathsep) + + self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs")) + old_build_ext.finalize_options(self) + + from distutils.command import build_ext as build_ext_module + build_ext_module.build_ext = build_ext + +## distutils.dist patches: + +old_find_config_files = dist.Distribution.find_config_files +def find_config_files(self): + found = old_find_config_files(self) + system_distutils = os.path.join(distutils_path, 'distutils.cfg') + #if os.path.exists(system_distutils): + # found.insert(0, system_distutils) + # What to call the per-user config file + if os.name == 'posix': + user_filename = ".pydistutils.cfg" + else: + user_filename = "pydistutils.cfg" + user_filename = os.path.join(sys.prefix, user_filename) + if os.path.isfile(user_filename): + for item in list(found): + if item.endswith('pydistutils.cfg'): + found.remove(item) + found.append(user_filename) + return found +dist.Distribution.find_config_files = find_config_files + +## distutils.sysconfig patches: + +old_get_python_inc = sysconfig.get_python_inc +def sysconfig_get_python_inc(plat_specific=0, prefix=None): + if prefix is None: + prefix = sys.real_prefix + return old_get_python_inc(plat_specific, prefix) +sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__ +sysconfig.get_python_inc = sysconfig_get_python_inc + +old_get_python_lib = sysconfig.get_python_lib +def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + if standard_lib and prefix is None: + prefix = sys.real_prefix + return old_get_python_lib(plat_specific, standard_lib, prefix) +sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__ +sysconfig.get_python_lib = sysconfig_get_python_lib + +old_get_config_vars = sysconfig.get_config_vars +def sysconfig_get_config_vars(*args): + real_vars = old_get_config_vars(*args) + if sys.platform == 'win32': + lib_dir = os.path.join(sys.real_prefix, "libs") + if isinstance(real_vars, dict) and 'LIBDIR' not in real_vars: + real_vars['LIBDIR'] = lib_dir # asked for all + elif isinstance(real_vars, list) and 'LIBDIR' in args: + real_vars = real_vars + [lib_dir] # asked for list + return real_vars +sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__ +sysconfig.get_config_vars = sysconfig_get_config_vars diff --git a/other-licenses/virtualenv/virtualenv_embedded/distutils.cfg b/other-licenses/virtualenv/virtualenv_embedded/distutils.cfg new file mode 100644 index 000000000000..1af230ec911a --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/distutils.cfg @@ -0,0 +1,6 @@ +# This is a config file local to this virtualenv installation +# You may include options that will be used by all distutils commands, +# and by easy_install. For instance: +# +# [easy_install] +# find_links = http://mylocalsite diff --git a/other-licenses/virtualenv/virtualenv_embedded/ez_setup.py b/other-licenses/virtualenv/virtualenv_embedded/ez_setup.py new file mode 100644 index 000000000000..5f6c7405aaa8 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/ez_setup.py @@ -0,0 +1,285 @@ +#!python +"""Bootstrap setuptools installation + +If you want to use setuptools in your package's setup.py, just include this +file in the same directory with it, and add this to the top of your setup.py:: + + from ez_setup import use_setuptools + use_setuptools() + +If you want to require a specific version of setuptools, set a download +mirror, or use an alternate download directory, you can do so by supplying +the appropriate options to ``use_setuptools()``. + +This file can also be run as a script to install or upgrade setuptools. +""" +import sys +DEFAULT_VERSION = "0.6c11" +DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] + +md5_data = { + 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', + 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb', + 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b', + 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a', + 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618', + 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac', + 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5', + 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4', + 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c', + 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b', + 'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090', + 'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4', + 'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7', + 'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5', + 'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de', + 'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b', + 'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2', + 'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086', + 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27', + 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277', + 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa', + 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', + 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', + 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f', + 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2', + 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc', + 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167', + 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', + 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', + 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', + 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', + 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', + 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', + 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', + 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', + 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', + 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', + 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', + 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03', + 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a', + 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6', + 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a', +} + +import sys, os +try: from hashlib import md5 +except ImportError: from md5 import md5 + +def _validate_md5(egg_name, data): + if egg_name in md5_data: + digest = md5(data).hexdigest() + if digest != md5_data[egg_name]: + print >>sys.stderr, ( + "md5 validation of %s failed! (Possible download problem?)" + % egg_name + ) + sys.exit(2) + return data + +def use_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + download_delay=15 +): + """Automatically find/download setuptools and make it available on sys.path + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end with + a '/'). `to_dir` is the directory where setuptools will be downloaded, if + it is not already available. If `download_delay` is specified, it should + be the number of seconds that will be paused before initiating a download, + should one be required. If an older version of setuptools is installed, + this routine will print a message to ``sys.stderr`` and raise SystemExit in + an attempt to abort the calling script. + """ + was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules + def do_download(): + egg = download_setuptools(version, download_base, to_dir, download_delay) + sys.path.insert(0, egg) + import setuptools; setuptools.bootstrap_install_from = egg + try: + import pkg_resources + except ImportError: + return do_download() + try: + pkg_resources.require("setuptools>="+version); return + except pkg_resources.VersionConflict: + e = sys.exc_info()[1] + if was_imported: + print >>sys.stderr, ( + "The required version of setuptools (>=%s) is not available, and\n" + "can't be installed while this script is running. Please install\n" + " a more recent version first, using 'easy_install -U setuptools'." + "\n\n(Currently using %r)" + ) % (version, e.args[0]) + sys.exit(2) + except pkg_resources.DistributionNotFound: + pass + + del pkg_resources, sys.modules['pkg_resources'] # reload ok + return do_download() + +def download_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + delay = 15 +): + """Download setuptools from a specified location and return its filename + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end + with a '/'). `to_dir` is the directory where the egg will be downloaded. + `delay` is the number of seconds to pause before an actual download attempt. + """ + import urllib2, shutil + egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3]) + url = download_base + egg_name + saveto = os.path.join(to_dir, egg_name) + src = dst = None + if not os.path.exists(saveto): # Avoid repeated downloads + try: + from distutils import log + if delay: + log.warn(""" +--------------------------------------------------------------------------- +This script requires setuptools version %s to run (even to display +help). I will attempt to download it for you (from +%s), but +you may need to enable firewall access for this script first. +I will start the download in %d seconds. + +(Note: if this machine does not have network access, please obtain the file + + %s + +and place it in this directory before rerunning this script.) +---------------------------------------------------------------------------""", + version, download_base, delay, url + ); from time import sleep; sleep(delay) + log.warn("Downloading %s", url) + src = urllib2.urlopen(url) + # Read/write all in one block, so we don't create a corrupt file + # if the download is interrupted. + data = _validate_md5(egg_name, src.read()) + dst = open(saveto,"wb"); dst.write(data) + finally: + if src: src.close() + if dst: dst.close() + return os.path.realpath(saveto) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +def main(argv, version=DEFAULT_VERSION): + """Install or upgrade setuptools and EasyInstall""" + try: + import setuptools + except ImportError: + egg = None + try: + egg = download_setuptools(version, delay=0) + sys.path.insert(0,egg) + from setuptools.command.easy_install import main + return main(list(argv)+[egg]) # we're done here + finally: + if egg and os.path.exists(egg): + os.unlink(egg) + else: + if setuptools.__version__ == '0.0.1': + print >>sys.stderr, ( + "You have an obsolete version of setuptools installed. Please\n" + "remove it from your system entirely before rerunning this script." + ) + sys.exit(2) + + req = "setuptools>="+version + import pkg_resources + try: + pkg_resources.require(req) + except pkg_resources.VersionConflict: + try: + from setuptools.command.easy_install import main + except ImportError: + from easy_install import main + main(list(argv)+[download_setuptools(delay=0)]) + sys.exit(0) # try to force an exit + else: + if argv: + from setuptools.command.easy_install import main + main(argv) + else: + print("Setuptools version",version,"or greater has been installed.") + print('(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)') + +def update_md5(filenames): + """Update our built-in md5 registry""" + + import re + + for name in filenames: + base = os.path.basename(name) + f = open(name,'rb') + md5_data[base] = md5(f.read()).hexdigest() + f.close() + + data = [" %r: %r,\n" % it for it in md5_data.items()] + data.sort() + repl = "".join(data) + + import inspect + srcfile = inspect.getsourcefile(sys.modules[__name__]) + f = open(srcfile, 'rb'); src = f.read(); f.close() + + match = re.search("\nmd5_data = {\n([^}]+)}", src) + if not match: + print >>sys.stderr, "Internal error!" + sys.exit(2) + + src = src[:match.start(1)] + repl + src[match.end(1):] + f = open(srcfile,'w') + f.write(src) + f.close() + + +if __name__=='__main__': + if len(sys.argv)>2 and sys.argv[1]=='--md5update': + update_md5(sys.argv[2:]) + else: + main(sys.argv[1:]) + + + + + + diff --git a/other-licenses/virtualenv/virtualenv_embedded/site.py b/other-licenses/virtualenv/virtualenv_embedded/site.py new file mode 100644 index 000000000000..935808b9c958 --- /dev/null +++ b/other-licenses/virtualenv/virtualenv_embedded/site.py @@ -0,0 +1,737 @@ +"""Append module search paths for third-party packages to sys.path. + +**************************************************************** +* This module is automatically imported during initialization. * +**************************************************************** + +In earlier versions of Python (up to 1.5a3), scripts or modules that +needed to use site-specific modules would place ``import site'' +somewhere near the top of their code. Because of the automatic +import, this is no longer necessary (but code that does it still +works). + +This will append site-specific paths to the module search path. On +Unix, it starts with sys.prefix and sys.exec_prefix (if different) and +appends lib/python/site-packages as well as lib/site-python. +It also supports the Debian convention of +lib/python/dist-packages. On other platforms (mainly Mac and +Windows), it uses just sys.prefix (and sys.exec_prefix, if different, +but this is unlikely). The resulting directories, if they exist, are +appended to sys.path, and also inspected for path configuration files. + +FOR DEBIAN, this sys.path is augmented with directories in /usr/local. +Local addons go into /usr/local/lib/python/site-packages +(resp. /usr/local/lib/site-python), Debian addons install into +/usr/{lib,share}/python/dist-packages. + +A path configuration file is a file whose name has the form +.pth; its contents are additional directories (one per line) +to be added to sys.path. Non-existing directories (or +non-directories) are never added to sys.path; no directory is added to +sys.path more than once. Blank lines and lines beginning with +'#' are skipped. Lines starting with 'import' are executed. + +For example, suppose sys.prefix and sys.exec_prefix are set to +/usr/local and there is a directory /usr/local/lib/python2.X/site-packages +with three subdirectories, foo, bar and spam, and two path +configuration files, foo.pth and bar.pth. Assume foo.pth contains the +following: + + # foo package configuration + foo + bar + bletch + +and bar.pth contains: + + # bar package configuration + bar + +Then the following directories are added to sys.path, in this order: + + /usr/local/lib/python2.X/site-packages/bar + /usr/local/lib/python2.X/site-packages/foo + +Note that bletch is omitted because it doesn't exist; bar precedes foo +because bar.pth comes alphabetically before foo.pth; and spam is +omitted because it is not mentioned in either path configuration file. + +After these path manipulations, an attempt is made to import a module +named sitecustomize, which can perform arbitrary additional +site-specific customizations. If this import fails with an +ImportError exception, it is silently ignored. + +""" + +import sys +import os +try: + import __builtin__ as builtins +except ImportError: + import builtins +try: + set +except NameError: + from sets import Set as set + +# Prefixes for site-packages; add additional prefixes like /usr/local here +PREFIXES = [sys.prefix, sys.exec_prefix] +# Enable per user site-packages directory +# set it to False to disable the feature or True to force the feature +ENABLE_USER_SITE = None +# for distutils.commands.install +USER_SITE = None +USER_BASE = None + +_is_pypy = hasattr(sys, 'pypy_version_info') +_is_jython = sys.platform[:4] == 'java' +if _is_jython: + ModuleType = type(os) + +def makepath(*paths): + dir = os.path.join(*paths) + if _is_jython and (dir == '__classpath__' or + dir.startswith('__pyclasspath__')): + return dir, dir + dir = os.path.abspath(dir) + return dir, os.path.normcase(dir) + +def abs__file__(): + """Set all module' __file__ attribute to an absolute path""" + for m in sys.modules.values(): + if ((_is_jython and not isinstance(m, ModuleType)) or + hasattr(m, '__loader__')): + # only modules need the abspath in Jython. and don't mess + # with a PEP 302-supplied __file__ + continue + f = getattr(m, '__file__', None) + if f is None: + continue + m.__file__ = os.path.abspath(f) + +def removeduppaths(): + """ Remove duplicate entries from sys.path along with making them + absolute""" + # This ensures that the initial path provided by the interpreter contains + # only absolute pathnames, even if we're running from the build directory. + L = [] + known_paths = set() + for dir in sys.path: + # Filter out duplicate paths (on case-insensitive file systems also + # if they only differ in case); turn relative paths into absolute + # paths. + dir, dircase = makepath(dir) + if not dircase in known_paths: + L.append(dir) + known_paths.add(dircase) + sys.path[:] = L + return known_paths + +# XXX This should not be part of site.py, since it is needed even when +# using the -S option for Python. See http://www.python.org/sf/586680 +def addbuilddir(): + """Append ./build/lib. in case we're running in the build dir + (especially for Guido :-)""" + from distutils.util import get_platform + s = "build/lib.%s-%.3s" % (get_platform(), sys.version) + if hasattr(sys, 'gettotalrefcount'): + s += '-pydebug' + s = os.path.join(os.path.dirname(sys.path[-1]), s) + sys.path.append(s) + +def _init_pathinfo(): + """Return a set containing all existing directory entries from sys.path""" + d = set() + for dir in sys.path: + try: + if os.path.isdir(dir): + dir, dircase = makepath(dir) + d.add(dircase) + except TypeError: + continue + return d + +def addpackage(sitedir, name, known_paths): + """Add a new path to known_paths by combining sitedir and 'name' or execute + sitedir if it starts with 'import'""" + if known_paths is None: + _init_pathinfo() + reset = 1 + else: + reset = 0 + fullname = os.path.join(sitedir, name) + try: + f = open(fullname, "rU") + except IOError: + return + try: + for line in f: + if line.startswith("#"): + continue + if line.startswith("import"): + exec(line) + continue + line = line.rstrip() + dir, dircase = makepath(sitedir, line) + if not dircase in known_paths and os.path.exists(dir): + sys.path.append(dir) + known_paths.add(dircase) + finally: + f.close() + if reset: + known_paths = None + return known_paths + +def addsitedir(sitedir, known_paths=None): + """Add 'sitedir' argument to sys.path if missing and handle .pth files in + 'sitedir'""" + if known_paths is None: + known_paths = _init_pathinfo() + reset = 1 + else: + reset = 0 + sitedir, sitedircase = makepath(sitedir) + if not sitedircase in known_paths: + sys.path.append(sitedir) # Add path component + try: + names = os.listdir(sitedir) + except os.error: + return + names.sort() + for name in names: + if name.endswith(os.extsep + "pth"): + addpackage(sitedir, name, known_paths) + if reset: + known_paths = None + return known_paths + +def addsitepackages(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_prefix): + """Add site-packages (and possibly site-python) to sys.path""" + prefixes = [os.path.join(sys_prefix, "local"), sys_prefix] + if exec_prefix != sys_prefix: + prefixes.append(os.path.join(exec_prefix, "local")) + + for prefix in prefixes: + if prefix: + if sys.platform in ('os2emx', 'riscos') or _is_jython: + sitedirs = [os.path.join(prefix, "Lib", "site-packages")] + elif _is_pypy: + sitedirs = [os.path.join(prefix, 'site-packages')] + elif sys.platform == 'darwin' and prefix == sys_prefix: + + if prefix.startswith("/System/Library/Frameworks/"): # Apple's Python + + sitedirs = [os.path.join("/Library/Python", sys.version[:3], "site-packages"), + os.path.join(prefix, "Extras", "lib", "python")] + + else: # any other Python distros on OSX work this way + sitedirs = [os.path.join(prefix, "lib", + "python" + sys.version[:3], "site-packages")] + + elif os.sep == '/': + sitedirs = [os.path.join(prefix, + "lib", + "python" + sys.version[:3], + "site-packages"), + os.path.join(prefix, "lib", "site-python"), + os.path.join(prefix, "python" + sys.version[:3], "lib-dynload")] + lib64_dir = os.path.join(prefix, "lib64", "python" + sys.version[:3], "site-packages") + if (os.path.exists(lib64_dir) and + os.path.realpath(lib64_dir) not in [os.path.realpath(p) for p in sitedirs]): + sitedirs.append(lib64_dir) + try: + # sys.getobjects only available in --with-pydebug build + sys.getobjects + sitedirs.insert(0, os.path.join(sitedirs[0], 'debug')) + except AttributeError: + pass + # Debian-specific dist-packages directories: + if sys.version[0] == '2': + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "dist-packages")) + else: + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[0], + "dist-packages")) + sitedirs.append(os.path.join(prefix, "local/lib", + "python" + sys.version[:3], + "dist-packages")) + sitedirs.append(os.path.join(prefix, "lib", "dist-python")) + else: + sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] + if sys.platform == 'darwin': + # for framework builds *only* we add the standard Apple + # locations. Currently only per-user, but /Library and + # /Network/Library could be added too + if 'Python.framework' in prefix: + home = os.environ.get('HOME') + if home: + sitedirs.append( + os.path.join(home, + 'Library', + 'Python', + sys.version[:3], + 'site-packages')) + for sitedir in sitedirs: + if os.path.isdir(sitedir): + addsitedir(sitedir, known_paths) + return None + +def check_enableusersite(): + """Check if user site directory is safe for inclusion + + The function tests for the command line flag (including environment var), + process uid/gid equal to effective uid/gid. + + None: Disabled for security reasons + False: Disabled by user (command line option) + True: Safe and enabled + """ + if hasattr(sys, 'flags') and getattr(sys.flags, 'no_user_site', False): + return False + + if hasattr(os, "getuid") and hasattr(os, "geteuid"): + # check process uid == effective uid + if os.geteuid() != os.getuid(): + return None + if hasattr(os, "getgid") and hasattr(os, "getegid"): + # check process gid == effective gid + if os.getegid() != os.getgid(): + return None + + return True + +def addusersitepackages(known_paths): + """Add a per user site-package to sys.path + + Each user has its own python directory with site-packages in the + home directory. + + USER_BASE is the root directory for all Python versions + + USER_SITE is the user specific site-packages directory + + USER_SITE/.. can be used for data. + """ + global USER_BASE, USER_SITE, ENABLE_USER_SITE + env_base = os.environ.get("PYTHONUSERBASE", None) + + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + + #if sys.platform in ('os2emx', 'riscos'): + # # Don't know what to put here + # USER_BASE = '' + # USER_SITE = '' + if os.name == "nt": + base = os.environ.get("APPDATA") or "~" + if env_base: + USER_BASE = env_base + else: + USER_BASE = joinuser(base, "Python") + USER_SITE = os.path.join(USER_BASE, + "Python" + sys.version[0] + sys.version[2], + "site-packages") + else: + if env_base: + USER_BASE = env_base + else: + USER_BASE = joinuser("~", ".local") + USER_SITE = os.path.join(USER_BASE, "lib", + "python" + sys.version[:3], + "site-packages") + + if ENABLE_USER_SITE and os.path.isdir(USER_SITE): + addsitedir(USER_SITE, known_paths) + if ENABLE_USER_SITE: + for dist_libdir in ("lib", "local/lib"): + user_site = os.path.join(USER_BASE, dist_libdir, + "python" + sys.version[:3], + "dist-packages") + if os.path.isdir(user_site): + addsitedir(user_site, known_paths) + return known_paths + + + +def setBEGINLIBPATH(): + """The OS/2 EMX port has optional extension modules that do double duty + as DLLs (and must use the .DLL file extension) for other extensions. + The library search path needs to be amended so these will be found + during module import. Use BEGINLIBPATH so that these are at the start + of the library search path. + + """ + dllpath = os.path.join(sys.prefix, "Lib", "lib-dynload") + libpath = os.environ['BEGINLIBPATH'].split(';') + if libpath[-1]: + libpath.append(dllpath) + else: + libpath[-1] = dllpath + os.environ['BEGINLIBPATH'] = ';'.join(libpath) + + +def setquit(): + """Define new built-ins 'quit' and 'exit'. + These are simply strings that display a hint on how to exit. + + """ + if os.sep == ':': + eof = 'Cmd-Q' + elif os.sep == '\\': + eof = 'Ctrl-Z plus Return' + else: + eof = 'Ctrl-D (i.e. EOF)' + + class Quitter(object): + def __init__(self, name): + self.name = name + def __repr__(self): + return 'Use %s() or %s to exit' % (self.name, eof) + def __call__(self, code=None): + # Shells like IDLE catch the SystemExit, but listen when their + # stdin wrapper is closed. + try: + sys.stdin.close() + except: + pass + raise SystemExit(code) + builtins.quit = Quitter('quit') + builtins.exit = Quitter('exit') + + +class _Printer(object): + """interactive prompt objects for printing the license text, a list of + contributors and the copyright notice.""" + + MAXLINES = 23 + + def __init__(self, name, data, files=(), dirs=()): + self.__name = name + self.__data = data + self.__files = files + self.__dirs = dirs + self.__lines = None + + def __setup(self): + if self.__lines: + return + data = None + for dir in self.__dirs: + for filename in self.__files: + filename = os.path.join(dir, filename) + try: + fp = file(filename, "rU") + data = fp.read() + fp.close() + break + except IOError: + pass + if data: + break + if not data: + data = self.__data + self.__lines = data.split('\n') + self.__linecnt = len(self.__lines) + + def __repr__(self): + self.__setup() + if len(self.__lines) <= self.MAXLINES: + return "\n".join(self.__lines) + else: + return "Type %s() to see the full %s text" % ((self.__name,)*2) + + def __call__(self): + self.__setup() + prompt = 'Hit Return for more, or q (and Return) to quit: ' + lineno = 0 + while 1: + try: + for i in range(lineno, lineno + self.MAXLINES): + print(self.__lines[i]) + except IndexError: + break + else: + lineno += self.MAXLINES + key = None + while key is None: + try: + key = raw_input(prompt) + except NameError: + key = input(prompt) + if key not in ('', 'q'): + key = None + if key == 'q': + break + +def setcopyright(): + """Set 'copyright' and 'credits' in __builtin__""" + builtins.copyright = _Printer("copyright", sys.copyright) + if _is_jython: + builtins.credits = _Printer( + "credits", + "Jython is maintained by the Jython developers (www.jython.org).") + elif _is_pypy: + builtins.credits = _Printer( + "credits", + "PyPy is maintained by the PyPy developers: http://codespeak.net/pypy") + else: + builtins.credits = _Printer("credits", """\ + Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information.""") + here = os.path.dirname(os.__file__) + builtins.license = _Printer( + "license", "See http://www.python.org/%.3s/license.html" % sys.version, + ["LICENSE.txt", "LICENSE"], + [os.path.join(here, os.pardir), here, os.curdir]) + + +class _Helper(object): + """Define the built-in 'help'. + This is a wrapper around pydoc.help (with a twist). + + """ + + def __repr__(self): + return "Type help() for interactive help, " \ + "or help(object) for help about object." + def __call__(self, *args, **kwds): + import pydoc + return pydoc.help(*args, **kwds) + +def sethelper(): + builtins.help = _Helper() + +def aliasmbcs(): + """On Windows, some default encodings are not provided by Python, + while they are always available as "mbcs" in each locale. Make + them usable by aliasing to "mbcs" in such a case.""" + if sys.platform == 'win32': + import locale, codecs + enc = locale.getdefaultlocale()[1] + if enc.startswith('cp'): # "cp***" ? + try: + codecs.lookup(enc) + except LookupError: + import encodings + encodings._cache[enc] = encodings._unknown + encodings.aliases.aliases[enc] = 'mbcs' + +def setencoding(): + """Set the string encoding used by the Unicode implementation. The + default is 'ascii', but if you're willing to experiment, you can + change this.""" + encoding = "ascii" # Default value set by _PyUnicode_Init() + if 0: + # Enable to support locale aware default string encodings. + import locale + loc = locale.getdefaultlocale() + if loc[1]: + encoding = loc[1] + if 0: + # Enable to switch off string to Unicode coercion and implicit + # Unicode to string conversion. + encoding = "undefined" + if encoding != "ascii": + # On Non-Unicode builds this will raise an AttributeError... + sys.setdefaultencoding(encoding) # Needs Python Unicode build ! + + +def execsitecustomize(): + """Run custom site specific code, if available.""" + try: + import sitecustomize + except ImportError: + pass + +def virtual_install_main_packages(): + f = open(os.path.join(os.path.dirname(__file__), 'orig-prefix.txt')) + sys.real_prefix = f.read().strip() + f.close() + pos = 2 + hardcoded_relative_dirs = [] + if sys.path[0] == '': + pos += 1 + if sys.platform == 'win32': + paths = [os.path.join(sys.real_prefix, 'Lib'), os.path.join(sys.real_prefix, 'DLLs')] + elif _is_jython: + paths = [os.path.join(sys.real_prefix, 'Lib')] + elif _is_pypy: + if sys.pypy_version_info >= (1, 5): + cpyver = '%d.%d' % sys.version_info[:2] + else: + cpyver = '%d.%d.%d' % sys.version_info[:3] + paths = [os.path.join(sys.real_prefix, 'lib_pypy'), + os.path.join(sys.real_prefix, 'lib-python', 'modified-%s' % cpyver), + os.path.join(sys.real_prefix, 'lib-python', cpyver)] + hardcoded_relative_dirs = paths[:] # for the special 'darwin' case below + # + # This is hardcoded in the Python executable, but relative to sys.prefix: + for path in paths[:]: + plat_path = os.path.join(path, 'plat-%s' % sys.platform) + if os.path.exists(plat_path): + paths.append(plat_path) + else: + paths = [os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3])] + hardcoded_relative_dirs = paths[:] # for the special 'darwin' case below + lib64_path = os.path.join(sys.real_prefix, 'lib64', 'python'+sys.version[:3]) + if os.path.exists(lib64_path): + paths.append(lib64_path) + # This is hardcoded in the Python executable, but relative to sys.prefix: + plat_path = os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3], + 'plat-%s' % sys.platform) + if os.path.exists(plat_path): + paths.append(plat_path) + # This is hardcoded in the Python executable, but + # relative to sys.prefix, so we have to fix up: + for path in list(paths): + tk_dir = os.path.join(path, 'lib-tk') + if os.path.exists(tk_dir): + paths.append(tk_dir) + + # These are hardcoded in the Apple's Python executable, + # but relative to sys.prefix, so we have to fix them up: + if sys.platform == 'darwin': + hardcoded_paths = [os.path.join(relative_dir, module) + for relative_dir in hardcoded_relative_dirs + for module in ('plat-darwin', 'plat-mac', 'plat-mac/lib-scriptpackages')] + + for path in hardcoded_paths: + if os.path.exists(path): + paths.append(path) + + sys.path.extend(paths) + +def force_global_eggs_after_local_site_packages(): + """ + Force easy_installed eggs in the global environment to get placed + in sys.path after all packages inside the virtualenv. This + maintains the "least surprise" result that packages in the + virtualenv always mask global packages, never the other way + around. + + """ + egginsert = getattr(sys, '__egginsert', 0) + for i, path in enumerate(sys.path): + if i > egginsert and path.startswith(sys.prefix): + egginsert = i + sys.__egginsert = egginsert + 1 + +def virtual_addsitepackages(known_paths): + force_global_eggs_after_local_site_packages() + return addsitepackages(known_paths, sys_prefix=sys.real_prefix) + +def fixclasspath(): + """Adjust the special classpath sys.path entries for Jython. These + entries should follow the base virtualenv lib directories. + """ + paths = [] + classpaths = [] + for path in sys.path: + if path == '__classpath__' or path.startswith('__pyclasspath__'): + classpaths.append(path) + else: + paths.append(path) + sys.path = paths + sys.path.extend(classpaths) + +def execusercustomize(): + """Run custom user specific code, if available.""" + try: + import usercustomize + except ImportError: + pass + + +def main(): + global ENABLE_USER_SITE + virtual_install_main_packages() + abs__file__() + paths_in_sys = removeduppaths() + if (os.name == "posix" and sys.path and + os.path.basename(sys.path[-1]) == "Modules"): + addbuilddir() + if _is_jython: + fixclasspath() + GLOBAL_SITE_PACKAGES = not os.path.exists(os.path.join(os.path.dirname(__file__), 'no-global-site-packages.txt')) + if not GLOBAL_SITE_PACKAGES: + ENABLE_USER_SITE = False + if ENABLE_USER_SITE is None: + ENABLE_USER_SITE = check_enableusersite() + paths_in_sys = addsitepackages(paths_in_sys) + paths_in_sys = addusersitepackages(paths_in_sys) + if GLOBAL_SITE_PACKAGES: + paths_in_sys = virtual_addsitepackages(paths_in_sys) + if sys.platform == 'os2emx': + setBEGINLIBPATH() + setquit() + setcopyright() + sethelper() + aliasmbcs() + setencoding() + execsitecustomize() + if ENABLE_USER_SITE: + execusercustomize() + # Remove sys.setdefaultencoding() so that users cannot change the + # encoding after initialization. The test for presence is needed when + # this module is run as a script, because this code is executed twice. + if hasattr(sys, "setdefaultencoding"): + del sys.setdefaultencoding + +main() + +def _script(): + help = """\ + %s [--user-base] [--user-site] + + Without arguments print some useful information + With arguments print the value of USER_BASE and/or USER_SITE separated + by '%s'. + + Exit codes with --user-base or --user-site: + 0 - user site directory is enabled + 1 - user site directory is disabled by user + 2 - uses site directory is disabled by super user + or for security reasons + >2 - unknown error + """ + args = sys.argv[1:] + if not args: + print("sys.path = [") + for dir in sys.path: + print(" %r," % (dir,)) + print("]") + def exists(path): + if os.path.isdir(path): + return "exists" + else: + return "doesn't exist" + print("USER_BASE: %r (%s)" % (USER_BASE, exists(USER_BASE))) + print("USER_SITE: %r (%s)" % (USER_SITE, exists(USER_BASE))) + print("ENABLE_USER_SITE: %r" % ENABLE_USER_SITE) + sys.exit(0) + + buffer = [] + if '--user-base' in args: + buffer.append(USER_BASE) + if '--user-site' in args: + buffer.append(USER_SITE) + + if buffer: + print(os.pathsep.join(buffer)) + if ENABLE_USER_SITE: + sys.exit(0) + elif ENABLE_USER_SITE is False: + sys.exit(1) + elif ENABLE_USER_SITE is None: + sys.exit(2) + else: + sys.exit(3) + else: + import textwrap + print(textwrap.dedent(help % (sys.argv[0], os.pathsep))) + sys.exit(10) + +if __name__ == '__main__': + _script() diff --git a/other-licenses/virtualenv/virtualenv_support/distribute-0.6.24.tar.gz b/other-licenses/virtualenv/virtualenv_support/distribute-0.6.24.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..654fb50f8765368b176ba349d0e6680191396fa5 GIT binary patch literal 620771 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�C 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

(-x5zC~m4=brU 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 z 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

_@fWUM!iRzIr@90@caA%Lyt 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�y*T{S80ge5K<(E{Dp?B zi!;n9k)b*CY5+7qZBT(&6mXR)HHJ&;N0T|frevctfzkU-JAG1evn5KN^0hJUPo!f> zqXho0#Ujd{ep44!8*$fMAO=;7#S1`v>S|+1&rT$+(AwX5_pYE@KiCSg_%;0SNM}A* zr;I=ig!>fQ-|}(p^C-&G;)QTWgQ6~!eri%^U*h8`zL6RLU#<+?&jqX)L^@w5mxfc- zSE-_%L6tiHD_^BP^ij?Sr7WG{Bz-(i$zG&+BY?=g3+go%>g68ke^oCIpm~+GF;HcR z(yLk^KW!EyIhS>8pt{D$H@_NahX;LEuUMlW8i4P>uY%yq@WYqjYxI%O=*OvK_}p2I z0}VZrxB?1jxWe_S!?G!Gb?-hZvN>B)&Qgd|piys}m9G#dMzjlK8i;OIic%a2fkS8I zt3;infp_fVBih9ik~guwaogzn<86+5MPu(iDsdK5r-Z(OY`%gHf<$L~_aPxEyj&>3 z2h9Hngf?ORe}??ubu=j5wLW-ICkC=#sJO3EEj38TRZWI|m@$3Y2a%%OdXZXY9p|&m zIwB|A@s-x`rPk2Da+RoFxhk(?@+iMa)8P#rO2_9a$3?aMmJ6?V{0y19zld5XHZO31f%p3>2z zax~N25Bqb6ap{jsV<{X>N=LI2WBqaf1{MbfE<)I>z^}D|d7J_70JwT^d%?X9ZYQ`G zz-@mNt-$}Z-I?}CJNN{A0)8j>o#1zY-vxd*_}$?5f!_zd2YioTxW$_cXM0!sE2QzCO9g`XnCvr1~-1Cm4C#6Y#tjTpPH$xvB}rYv-vP-_X|kmbTs> z1F}Zgh&0e=->4klBFNeY@fJaF-qXRG4K5AbLU2pLtpHa5 zZvEr5Z(^aXW5JIBKL-40@T0-kfv*E!1HJ})HTY`qdGPt*zF}>&4gPKiw-ekuj|cS4 zTopha&=>SQxE}(;g8D9C{{Jw1D|soR)%XzYdDmQT0H)2zz(XU52Xq(ki8~WjM1j3aMnV4Uql-GC^ZEj z+s0-aNv^a6zDoZ+ssPXOpzw?>x+noRuiTKram0(38pSqw7b})L^CH`!+xns(h9>Ew zj$@Z^(b-?5TXf4_4Bnz^+rf5y4qSVSPP~y!Wf@#QD1+x&29ASXX`g$!g_P@pH}YbG z>G<{m{_cKEmRj_+XGd1t8xFW-(A)v{_jD`mBjDKE;KUcb}%H@%px zJt}QO-g*g_e6!k_f;$OA9P>5m=9C!xj4bV_t-fVI#YXo9s$v7#>}UmECtSD}>cq#jWB5y$ zjrSvEwzOz>*E^NVB z@!|9Ic5)t`EPv)ZSr(oTK3VoW=RaA_^r;$7vhm~}zw}86N7I`+C?PCFN);Z*H{qx{ zPbG=|GiDTTM|oLYreBPVKZne+)I^?qp6c5{DFd+`@@;&D-icKbZ>|3{da#*_o{()o zmnyOawJn02d>18Tf3u%zFj3n^kXPX`mqh`tm7R?JpRiFO@-7qal#PV>EmcqpQIgSP zvoLc&%yb4C()i6*-y1caF#xYYC!#U3A+|^DkZJ=q5D;Te^smR(oub1Ixm~&ZF ze17}W)RHjCzJcTNe3#M(%ll8GR}s=Zi3i9HHB{bTCs`&fkt}gb&^9g_Ft|+IA1^Va z#p$vvw*I0Qo*sO6!Qx7bb?2sH?Clh@tqn!Zlbyy09J zr@?Cro8I6#@p^V|A?*z{na{}&sEgXY2f>yv%gYxR66*^j`o47|k1&WjDMKSI(IjW6 z#SmJx#>|XAJpsM#j+7rHENg+mgVNbq#8RotocYn3J8*OR}K}&cLhZ*O7lwN$<-KgEe-{ojSe8)Z zsKXqibca-3iWgN7D4C)GQ9ist-aoCri$26@A4#SfW5rvlE+q)z&8BFy$>yG37dCr? zFl6>J8ieZS-Q(c_&4alk9DO=*7(^GNXe@sAGLfH$Mf?H5L44>g?$Ipj zY2XF5_Ps-njs*AU-Ub!w{hwNQsH!8s>f%TUU$1g>=p79$26J@9NB~-$Z1UJ|5_!YH zb>rccr^bjUNT!&@JJq6|>PJ=q6N8I|d%2Y7(f&R!T6Nl)=fSE=@8Qj>oxC`Dr$U_L zXj2N|TPsm-L)H3lsAYVz=vj9oIs9|4x5pHtUWak#Yq^{w*$BTfei8^<>U}FlrDx9Z5Ry$PGKRx{a(J@bU66; zZ{Sxp4Y@kM^2Bpj;a7G(OKIbmpJV*WB=q+}SUWiNb3c$@!QB5jzd~WSD!(G1-^H)6HZsEBba2bS zmAvq8;#d5eV>#L6U0$|;V%b4Cf_|XRda7{OPa#G+`jujAk1pZKO2{UsQ99=`h9kEL$aGXFpvfWmPvQMDAd@J?#xy@5 zl~wjsfKb5APcfDw>Z!m3^q*eNad1yjhT+R6gBga>Cx5U|KpY>;OGF`sa7flRy6gt(3^+=&p*0qbA z`mygiusDuI3Ma|f5-a)+Kt=%1JAz$p5kAo{wDR=Fw6oDuj zBi>kKrBU7xg4A&i!)UiDr7wbHx1^o*b*7rXbV z$9*@C1A)OYIE$((q9x&Sr-rO;ir~_;H5keLwqG#8$C#e#mkkpHtbZ9UynKCNbbar! z2?wP86S*$0*KoidAvNSaA#qMVuJKmnE^9bKCl$Yg{$V?$vzcaI=XKj!C` zcRc13?C~3zVjHZ6L)kf-mK%mp7&4^>obl&fvzdTum~42ksmBNtY6i-NC-`)njfp=b z=;jOR`B#C$p$Ucdbq^=Q2A~)XkIopTu^}($(tZr_KFTmf`=bGv!gqWB2Dy>0a6@0! zfWV1y_B3J4SGO;Kt`$;^LyizUB1fHvJ zJ5$bp@1q9H8*1N@wXLC0j(4uwhg1@%xInuwhGx#Bd}Tc9N=wpMn4ug*J3o08xxq64 z2b8k+XMy&1F0ZO9O@V1;%R(_luVXd1M`e*|FPeRdBy~TN?egFtM^QZpOWw|SS7&9b z!)w&K@Jfg@{awr!&(HAA1MU;?G$e#7mg~|wP&lqqs z7CX=ubQ1sz4sqt4b*rE?klH1asF2E8V1ZmKHJPm9n5i&2lhwr0WOP3$RkliE8x*h$ z7nMeu;L9e6=7{pfGe8^qL!mX>LR4MAZ96L4z2e4s9r3a)QF7a3ex>U|zDx6NknK)s z=+=F-Qu`{dA7sDNQE!Aq?!PpA72>RHXJg^0lTS9MbeXYgYbBi$}vF zc+WbL^gbD2z(6yw6fovV5B)h1QuL%51R-*|tc1(Kzx`1QS>475Y zfc;{erdD8$GM%Pl5|`~XorS@Y1Kn>v?5u2aR-Q7LG}`J_bk7Ox2)N87165>?VMt9_ z>8K!>^jqxHd8*k zzKu{DhWmk_NRrR4Z_NQl^DHFABWbnwq=ZU5fT!&^PPJ!kK+%7Q9w?K7GHsRZ$(8Lw ztBaqB;t1`e^nSW)kc~=_1G58Qw@7)14W9{Pu%OsXjDZqaZ1scBtDSjmz+;WU*W}7m zVl>hb{#XlJ0tw4PZCNO|MLPJCt%pA=6J#S%i_u6_4jPGC1wmznM)*@|fj{e3!=KIN z@ZnxG994#fqt>J0s4e9#dP?jwAN7(1Wd>M~igi|Y0~k~jjYevGS~`GcJ`ctpgqoli zY+6b>9{I6&w*-sw5y!bLPBSr_7ly^3$IJ3J4OoOSlbRM`y_AP{)l?_rk2|wERju*B z|8_}Yr&QSm5iY!prlv9tN5vVvryUJCr@7tN67BHKtX4q)q|R!GIS_AZw=Bt^mcCdC z?os|`la2!;aN!jR;8oE~QPUn)v77D^(WN|s-Hgzl4;C@hF||i|I&JlbRE~+#H{Eux z7lneRkoi)u5ajVXpK=mEWq~^hTRNVmHw86@OTr<_+b4^(vFQA@X+TCF+WCqnVpquA4>jX7WalD~R z_#nOua(^puca>78l)X<*7S-Z7QdAebi`wO+5YkGyZ%P(5!r85rI(%Dya%Eme2kL(v zpo(@gs%Ryu3$j>jD)?W7=52}=(*5w*bEr}Xh|@+&0B1`xkn=zW1}Olljekcuql^ba zd^(fopk^^lgIdI>bjq3>)bXA?Lk|H$CTUX9Eup(vjG7+7NOg71LcsF(Qf=4nn=B-I zFU3FWMoOVovythz}GcQ_iCTPNm_e%UezYzf;yRYCsOlRww`G$W9=Yf(TQ@#igota2=5e;YGq z*W}ZEtNw|sAeWVyeF8BXj4$_9$OF7{XRaX<0X1Wk7|}?8mFbkj%O$s#Icv< zIrWMfuXo9$gfr#A2VCR0C`3*_aSKk-rcsQlW~WcuE({F--V_1RQQGVp*c+gnZn zCR?e_$2dHJDMS3xr_k;;^$FqH-R6r8ZR*H|Am!IMR|598G6BIvwg_fq3@bHzQr`H{ zZawnwH%7GAg$XxB)C&_FO$tY|V%Aso&{Jy| zAe*8j!;y8P$c90QIhNRcr)26zap!0NB}1OwKo=rTanFQy#V~N{A_Y=3MkZjV9BB?tZ`39i1|!(YR&^ZOHm@Z++j|lZ zOPhqHsMY+|TDF{fARraKiG3EE*Lyq0f{`=R1q```oRdwwR}M`UJp$Fcb`H})365qS z3lVq77!v8S9*j_r5!_w$s9<57F7g2Gwu|BL&i9_%r{gkv&&g_-3gV(w?CG59LdLSc78>A8#HDlYa?Wj{Nem zTxV8{`#J|;_R7y;aG{Wj<2&!BZfOW+kuI`!!hk6Yn7UD`Pe%VQjSiWbC+3$qZm& zs&82;0#rj?I3!fhI;edJ2s1BBe9nD@32Y+qsLKRyAE5XMuSB0Re5S4T!WeuXDchPe zn~h9X`2xx+Pj{t_RvVhv4X9veu1(Hz%~Fk37nEaj1??cGnWa4q0eTcaOtfWsnxMR2CZj3LC*m(LJUM`rx7$% z$uCCmqVA@7HK@DkK0L96xquvB3}pv&lp|n}>*=v7G+0z7xgO%@kfAm7JiEzdJ>VzJ zZz#Tk)M;!nl{%HO0L$sA>?spGrBbJ>>8WMRm84DsQ1s~{05}U#^vTOmbh95tU$-?F z%l^FTDk%DiK`8noK+zvo1t-p9iQNmR!E_z04Z{)pE|Ib5G^&?f=f2Zh4vT0P1~2g; zY9I_RQY4EwdNlcQmG9vDhoWnl{Bn;+D++3oOf70?(BOa+TE~aYo+FH@t`|o7D5%p? zQ+x;}Xy{Y+wjwPx@DBKtqWK&Njm;i~aXL3SObB;0@J2^6C-!C=ZM=o#KFIXp1A0cy zx3+Nd33Qq}%0kxQtx42ak6PPNy}RfhA1awV0Sjp~6Wes=bwhQ>kcYPfH)Qk{|GrRZ zwv>~473?bLmI`^ z*m-fuV<<@)OA;^ABl^3^&@H}}_9-h(&g;|GY-g&+Zrh5Y8Y~OpQ)diIFAjrG(e#s^ zeQI>Zu=aO~T>$Bu@o3`ML+(MsNshn)XV9%I4~Ci6LC6C-KOeNuCLlgiXt8)NJ}J-Vg$_=E!) zurf|!yXRVmx!X&&SNdqf9CERWH3^;zc!;}-9#Z5&o0_^iijX9R&=38gFo84sW$ljg zMLA?TQs^-{(Y=b}a&9*H_3M7PZ-5WkIm9>^;OZYUfSYB>mb^eLLa)p{UO-F58-?N| z(!MEpoR)053|jyoLbfD!<8I_El*}inWGgqz=2soq}eEc4T#a!>>GNXbEz5I^eG~XRP zppRX5d6zf(RGb#X0hLe(lu)MB3PiQE)F)Rf46lnonb%uz7TGzZWq2n$=ya_I0T)Apil@p<$h}ADhBgi{g4j4@0sU8 z&pYuL?$A>DEsO4xp9CC|{^Q`jIre}bhv<_=37<)3jp2~cDk)(0oJfihj$~#mA;Ywk zw;bsBSXeUfXvx;U%xUU$X0;o-03CZDkoUhI2s|mP1%eezzpzPdm_d)qZXzE(fV=4A zPY?Kkp&Q+)eqcH>Lgd4{oXd9d>(Y7DB@s;?VY!I@;@q~a-%-}y;>_zZoYYpUA(x&8 zrMAY)vvukAI%Ax&{#akFsbBkEeY%a$6=KuHC~05sv7HLQ`=9qavvg>845k!nPi7y) z@nixkEBpZ;9%NJF(T!{^n=b7;PMl_)p~0>K0u{O8QJW~Sil}=mIlj@)^PZ-UYPofa z=(%PlHM_Y96BRi)x`**1dp@styN1}qt~o! zHgzHC+>{m-5|NbGFD#O@bqk{=V#HL8c!w`yRb{^dA}d+si4j0GV9Xma=17bg9gwAp z#kw&f6L((mHkcIVogV5PKKUHGKmTJ~Ud+UBNc(WP3h&M7v_H8Q!@?BiE>~J8-@{dD zt5I(xlnb=?2qd8o2}2}vcU5wP7*eI?-Kr}6B`L2PFuAJHnWuA_x(uya$1$puMpvhp zJxW{s8mfI5B4}z=sVUI7^bQ`xPd6N>xZahbs7i_uBU127lPbb3Lc6=ydQCbT$Jlz8 z$r}u}?|>MdOh9{c!kz5Ga=H**Rq2fo-fB_}k;3ZC-r9wsA?}HWylyd+et5yAuz7(M zgFb4dYUFh^n1}eOxYvcZOV{!uH&9|YEE}O2X4|f42F+j$_ zBr?o>ix`NxQBPBl=JD|)mKH#i{&;Mcu1>g;j6iFm69$-FNHK?loU}DYXy9g3C(Z0Oc;NBjMtGp*jG2Rw3)(qcD0r(4`?NJ$mO#Pg za5LaSM1jr12x*8K$Z4Q^%`t!m!{7_X*=ZE6+iLEHCw{9Ls;l4}<}Uu%D0(2M!YjLX z>V4nU?r6xDs>Ax_PMr|OLUrV&bJQ4EpI013Y<6Emo9#GYVju>^1bD782Y2)l%Q5}y zUa`|Vo11I=T?QAP&49$WW139;3itIm+Z8a*={N|7Fr`}s=%d%9!}+PL z-i3NUOM zbqS8X5N%B%YP@{U)Su{0*H+&MFX`HvCEzuih_@d-Itx2SQDtGYF_I3`6((|@(40vF zZh`=xbw_RWPqCF%bn|j1xviTvG5sLYB||CP2LnV~^E;H?t|Z_7>3vSj#hQ1V<@|6S zrvm&$h}rKXMosM;K?s~DSUQ$mzwp#xgZP{N<~K?*Hq4*TSO8kz?|mr)Xc z9p7wmrOlz0Mj;Ph`YK4T>PxQd+;Rp6`GEmR6&&tVSS7AbJhDerr6Jj?*KFd7qGK?a7eQtPEkhEk-XbTDnANM)UW63b}Crb4W; z^((|QOh_P>9XSqAVZT^Q=kS%w0W2|-9Q_2hA-7+Gcr&FV0hOTG#K}j=3UF=FMKKpq z{&B4=kkjK7+whc6&CUkLknpv>rJ61LkCyn^M?0+9sD;DG7HeEGU9bW>``GcJ>8x*U zzK$L(pEdLgv&mZ}C^PAPKd~oSY!l*>#k0Z~Sho@3ncIVeSX^mpS{t#QJbQ+&<&b&g zTAw|wj0`*q7S#ZwwIuim_;2_5VZ0j;fIp?sp)FaDEF?}gQLXsVcy8NDF*wvjZBvr0 z5X8nFsf$#WQ5!TwETg-sQUGE=oxjt{fn7SP7BTS*s=m1->d9a43udv``pfS)r=aR` z&f;-qqwt}Gn_@?S%RZECTaiPefdsML1~dtY(9n}Am~G64&jqHS-Zm?T%=uO}uz5kO z$RYE8&aB0$a4+g_YuVbQ`(s9CBadpiQ0M7gMO%mQQQLps$azudek< zsG2*19>6!PQ$kVZF0XA$HYtjfP54gE#BC?MzmQ9{?RV03lu>LRvbtZU*t$AS(hnZ; z)YA;)5CnPFTKPLF^`P=z@3Lsw7P5EWAfP-&GRPj1ftmEFD*JNDIvYDf?gUgD->d2Z zDxz~7>gDeCCP3BfgLB!&OYPwzNXyqUHn_U|?>%)=4 z%%`#R4WV03*7U4DD#-+nn#`qnKztkL2LbhrC!V3aEV+QKoD?EPl8=gfgb2OP+3kMU zaB0i^o1oZ=`!WY;`z?PCT&L2g$tN}W1zuExtP`LFW=1vrY3P6n`;2i2 zEky$s6`Y{}>jbfzp6B$i(<|sof|*7K6?K~OMjfYpd!^Y_vFZ(2FqWVr!;1o#BDWcj z-RSnAeA^XfoR=QtV6n1IPK||x6v?vXqpyDHwb?Jpiej-;RvY8GqS=m@QjV=js7r}c z*5_z8k##hzgZoe2tS)9B^?1G70J?ddMasieT zsfa6}-meRTQLnv_&NbVJW$p-RNC8STs;T)Cd43eJ1CAV+7rP(cMU-94`p*uDLMrq+}1d4+d%+W`&Y9wV_?vB_Mfv#{Q6N3}YrOo?HnE=o^m zC=bDguU9-Q^^r%h22kVh9CD`>B?p!{D%HS2WRjON&`2bbCwQDN2Dik{0=a@BnkHm_ z;DyKR@;cq2kcJn-Fzh2#LwyzxYd-=!6GiqH_|OwxZVf<}#sE12GYZ84`h0H#EMTt6 zu2)_ue8p)#Ma4;+<~GS3{jyEzG#!xoptZ~d&sXz0oq79Lx^)&Z?Qv=h8Er~RVY#rh zbi!ie6c3Ywg?J0J4f-b(LMH$P3d3o-A09HhAaHZ`HXtAIXc8(1!{(h&e8);aD2x#A zXUoaG_pq&xd#D7-TaQtpr+K-~%45lSop@5yNnU;o$xIBAOsDW3vkewfK*|VdElRaF z!N>?xNTC$c9kba{Tq@~&#Or-YewzVMduQTpaq{;hJ9s)nkhIl>Xi)EaMU zm&8-5K4)dUdmL?yS0RCgn#7w)t`CtlX$xkkZt__1FRIF8C>xe!m3u^jPE;WHcq9WU za8l{@_$Df2uFGK?in0nx;_w+*~OP`UA*MQoGVyJ61|a&O60)9is?1 zG{VvN0~xG+R0lG$Ne|>3U)c^>t9qr%Q|_6PsUGU;y&VcxK)J`?8dUCZf4TReh@K2? z@;I?6Id8vsuT*&q+cYPe{A_T_Gpm@P_|;z+Iry&JJLvnL*moS5V_{%Il+X4Iin5(W zQS|~+gc(Q-38JcY?A+S1^034`-unx%XU5E?N1>fa{dAJN0!sbB5b~^AnfSqSa(}vC zU_qwL3-k-)xoR8!qxs&BCFS=xrj^uNxGya$-K@8AFuQK)yN<^RwGg4p0raZ z-mp_4jO{ULltK*IvKmJUZU>S4)&AX&-QCxdcKaA!7@tx%bk<2> zxOVq z$3#e)U8voy^_q3`toHc4o;2kc9%>|{)?E*k3W2tEFKalbhFB*GBM;(+Bl%d)@lbLRERRdnP=OuqVLZnDw_n$S8N5b`PGxD|=GL=!7AVgL4dSitK4|tF(I# zVjhx+s|9=s_nI^e0zUvIDN9p#oezeb0T@_R3PL&sA)SJdPC-bgAf!_e(ti*Ln9mV$ zd?C!5aFo8TaRWISJa*_pH@e=@rcB2VUA_VH)n#&o6RvPK%O}5yoMyeF#ryZy91V)z z(~fTybtcXC@YbwI3KQ^vUnw#P;EsT62iF5G3W&rwaI?WJ1y=;F z9NdH8wt;&Q+?(K%dimdji~Vz`YIbAh=d=UxV|2ivvf({Zwr2BxN=M zzox9fsxP#ct<{&?%hp&cDyBpP##>{z<_p%qZ~BQ99Q@}}%fylbeQ6oyV_k!x5SCwx z0foh-1$xUyp{T5seiViLdrGVj1$7Ke7++4mOo1;PefOs;E4P-?ShrTJu@{#MQ_454 zhjQ#D0Mx=D;JCG11-FJPhDFlBr5;zNutWUBm3sZBqCnV%p!l06RT;DnM>Y~-~GjC5yo@JOl=Z-s#DR-r&ndZ(*pMUp)h2}+zEg4HP zmu6+>EX)1T@)db2SFO&!XH9{%@ZO?g+kGW#OUugdw^s<_y7e12KJepBm7BNFZCz6- zcB!STxKyy(aV&5q7(a{P??Nt-n+7eG22TqqylK|pxN}P?=Gv`R^fRqOc7BOSpXUWU zr<9bGt--W*u~aBtYt>ur_Aw{ z5~mM|NGa9lmzS3mugMpRVaOEaSLoN~!?4VUa6z!HEf;VomXzhgkSwz5Q}w>GON#HY z=i4{xi=obTyLF9FvT;g;rNo+FVTFNRD&(&bXo`T`Z>rE&h~?#FcKBk=U#l+!;MbPf zt&j&iuBCCNFlZTki9;f8)u#-AAwu5f%=rrgW{yx)T%pgesIacRr(~nPK(rT^-m5Q# ztkzjstm4vQp*X*!_yL-I#8Qk8a|A)MLQ4HT;=S;$-&iKv17V$_pD*Yk>e{jj0qT06 z6>`Vw*sT>}2~3wl{hIue5-bc_3Sqi+P1)LVI&~-Awx+~>v%XL)T|?WH!kIq+RB44^ z7uN_-dH7F1rj?YK^NU&CvEI|L-gJ7GmWlTk=_|_f*H~$D!2rlF32Lyw_L@4Vz5I2z zvd&wwl(n}|1VERSuCY$};qBprEdk5GoDjZ&0t)2s(~|JJSW2-@FbGA~{Bi~@#=HF* zbzEOuHmKhQ(#^bTx(cD-8tGf&wpxiaJ?x$#l9|s_X6v>;xz$rabDX(&jlHa*tWeNr7t>m%#>e~HVn+@ypy>_TtX+A^{ zOYbW!TVHwylq)AOVK4h3{j>Vxzi9Xu_!jt0@n8B4j<5VL{?l=TLll%@tlIjZqq^pypVT_*q=#KUePr9C zk3IgxlTZC@`_n)F#WT-7_xuYxUVQ20SAO}coxlFgZ(sf0YrlW}4}W~)&0V|q?0xI) zKfUwrd+*mb>}%Zr=ceWZEe8)B{@}>bW5-XNJoVv6AGeeEM12xzE37|Ld1u zk&dt3oqzl0+phC}ztH`Up5DHT-(B*2-|zjG8KSE*JU@sb`oCTO|L@!XpE0CY|Nj3( z`=_VRTDx`@?iz4h0sJQG&G6IX!$$aVX7gwUQC~s7K!!>IV{IoP->N5mWu4j zTvkd0GDX?X7cecR!}u5vyO-(D!qLz8@a+ z{k}N^dyKcwFT zE$8fO*M_5S-?i)ci-SgP#l-=9G6FZT+pdgj{&TkSubr)ADCSv9t@eDun#y*}QU!a7 zX`Qtc){H;HHvvx}QgOT7cM?&+=j0a)bIa_R#ijR_SlJ56J;9~YGZQ%)ER(-dWm<)R zOw;pA3rc`~=*C>lWd&l1b#8Hqby5CWE5ts{nQ%8g)m|(VugNdTw9@@Sj{8=*(3-!_ zdRh3zfm~R|IWRu?%n~cm6ndq+s;3kb*eT4sBJeP!4AZ8Ttz8QV7Z#U7@yVD1mVUb+ zmg8cd!V!d?<(yh3Vrv*!oB|feaUWwYSc9b-%dOmdK-rX7h06fFm0#-H#q+n|uW9+B z-43nn3%rBRDlMWp7nnAz0b&ahL+12=VmJ@5T=nyD<@|~?>pkMV_gd{1s4jNhmkOCi zp<7@aw?mn3%`c~i9Ne??nH^{>r;u2%%3Qs2KK1}^a9RuIm#(o}*V0k&PGC4tA-?b> zm^LNV0_!QZ%wm%npU(g^+4&{K1$4{+1;kC~mj;}rOv5+%G-U=p`%hdF@r{DmiESSM z{qF+WYbo7PoewmQi_d|!relaZuUuG`Um$N0!f4tBF#9&Y2lYrwX+dUraVhK6yA@cV zX<&ylQ@~RU7{2e*v47bIZoySj ztN}Wf&t`k$v;~%`GDNF=qs3~cglFj*HVC1&3$d-27O%Na9+khjd@MoZET&_Xl7CB! zVSZK6aSBh|W2z-WNml84pi;S)DFjQbtUH$aAdq{1DI13b4$dE zBFy_Pv9Qo;hp~N5xiHn7U(TutJuyn5Rc45Qoq) zO%Gw%6y-j{ae}4$kMe#=Ym^DS4wN#NT2fXaV+Za*Hd$ zfN3gHErD@O2Q&8pOH;78kiAb(4sa=0KaOkh;hq!$3c5!WtQ9H$+5P)}^;aLC;`bGS zA`QCB;TK2vAG~mfqBzgV?>l68UY5)Il^niDhVO{{{bTuiOc-kmUz>3OxIuA+zW5>GSNr~7 zjeoW8|8sx3tN!G(r>p+{XVm}dhYsxf)i=feGY0;rjDi0dL!oFm&|ykm{W2_As~_C> z;CMOwm!C0z$1BX=`aJIP057t+iuyYte#1+jymYnB+}h84qwMecf$>vhe>cQG`eOTw zqqx7mNM2li_53&Qpiii)DdUrspXj+&pV&T`c6t1ht)I4C$~C#u%dlve}B4-T-UcouKc`_tBp{mv*7QYHU(igSh4+DP%_(;>lfj<&_&zDAS6!`nWAB|@a;3KV20RC8% z`2>F)_-%hRQd(js_&Cm9Z#PmaTsrVK&`nt*hi6w^Ul=)@J#FCQU^@#wZiXHPf93Wc z=2S8rwLzv!bOG&SgTCK>!N@%UZX39V!PSDR23G}c1GsW30xdFJ-AqKG2o)X>A-2g@!w3Ay#wxba4&;<0o*g- zwt?FOt{hxAKhWpcr&F*^q0b+_`JcNj@-JPsPBUfD_`!D4hde&=T0B8qKL+*Ejb-E77Z&)8bG%<3^Eeg_;C>{J3$)CEidj#AyMS~jR4f79 zB5-&y#g}H5Oc$?ba&a8$c*2|Hf5&kJ@oocW23PVwfB^hwaw^I}Kb8FRr7!6=as}X4 zfLq#aylngw6j#W*G`A*9nK@&)rCW8DAkUjqDYzx{UV z!!OvMHZ2jKr%s(YecH^aiPI9Na|u&tCd`=5=@b4t8d$6l^6mcy8fb9k{y+Jdf3%I_ z9G=coj@v7T8-GAr0xoLY+fm$`;UA3Ot62EKcq&8elYCvnu8`bg#mfOGBb>H4Q@^&X zz&d5fkcc=rk6%y!!`8oLeRjg<4nF?!iErrhrzc(q-!f|ci4O4FZ(V+(h5C1&_=@@~ zPB^H)=tL*@ON!SNVfw4$H4}{Whj{M9b!W}Kur6)_7pa7m_9L0W#x*V8zc?8czI`wy z?ia9`~0}>8`w`#shMj6bRsI1*eYqH*{zh&?wi~gqtE*H=xLc z=adZ4N1VSN1Col|>M3><42SV>Gs}~z6#OJO9*hy=6c&wZ#|;j>f^9PJiox;fr~6B;!3~dv03tya8;xRgeIzXCUb4}-a|FT#`3jLXn0bgt3)A%Ep#giQ{80>Tkf9IWV@iL z*lJPOT(>X4niPF=u6(zAmppgi)+F{f=XRy);5&QPm%Sc!z(NE(8X$K1XY{PnwiN@TXX06nzM)`W0t=dpe9VALm)cLMBTpE&D3PFhkw0?70?*Fy+wN|n0)A)`{>;HY^Y{lKhDL6O zMV^KBYk)V4&}Pzb9o~m1I~Vc-f-MR{-3k`);j|XwpMnxkYYAX3d(YDfpLvLK~g)jlVxy(C`kxN}q+5*zU}PzdOPB(poCF@sT;660d^`-&H-1wA1Ul8 zU@R=JVB}`&im@}}se;g>^21R}kMFO@q{>4y)f7-_;kuVx)&G>CmD7L))3_J?3 z&4faLK-5X!Ew{_J$%qhhQiuR<$Vw1E^pO~3NBu~Kg5~{0KjgJ2UV2&$*YQ2cbg4ir z)QCUxGDN2W#aq85N19-%ES#cdQ^_XC4iw9~X=$v9rUJ@RNzYCw%N$cb!hyh|;TsI* z@W5yIhBUq#I8fG!4jwMxJ8XhN0u^(e_|Tl#831LZ*cQdNTM!RWLKIK}feQcAjoc3( z{~9Egw?d< z=S%u=!E*&LH<#mkW6;=MTw6d`v5$9K(aB6oG>e*e(_MxhT~xO_7=GTZ;4DEuar-EV zTyo8NR2j*U5-V=U^|Xg=L!7z*o$Q^q2EulC0EXSUGFQ zD@;M3_9e{*KhSF!8w4$Bb_TrrF>S>}X+ntjg#gR^m^VWfz`LXj%fHfrutU=VR;3wr zJr?!i0DB+6;p<;O8wsmK+k6OD}aQ3HVTWw6KiZqR zh@<%;EBc~R9^5%6U>gZoo;5k$YKaYlzr-qEyV`ZIFTu z04ia2*ii&oxcx$e%aN52-Gi)dU=@Jf3XeYz6Tg~FiQN~A#I&`j{fsU1v;w+~gVvPr zNUNf6Dp2%#K=+tc1@_Ld33A82z&=D=!y!{iM6m^c97kLW@~nX8b>=Vyn0*rtRgjIe z2K3{GngM@LtB%s@omy&h3M#V#Mjcikz-Q3jMoPCi7dwl4HUAX|P?gi&DC(#VKJ0rq zxmnjEq_9;->!Dk1Vk~H5&RPhpmg3!0F%<@?I}O8~OQ*oTp{#x7W%}=8CBH-IJ)qPd zw-G`_uZskSW%Fquw@T|D%#mX0N@P}n;kxC0;sy{9QNP|lQek^nNP2xXADWzdCgh$x zkXyhFgYtNb>iHPD}o5s#X)q(xmGiH&jo;FLANgq z2+@$}!{Gns&yUkDK>vW==d8FzTC+2-F0MrjNUwE3w6EfPrFW11Nt&7(%&%9%*}!a< zvX+3}bzPu7nyM9vk2LtOsl(>apTBCA5*~(F6);-0Z%P54^qOIcQ6Df`w4MfOg3p4P z;Qv5XKdRst7hwMI&A?&YoDJoGak{w^{&hil_~G!c8~*iaov|n86Mw5n4a49clz=~? z2n0Iu4;6x6j(@uGPoLJ_U76{&L}vq1p1uD;wx=|sPIbc+_H0U1^J-!HtFaH0LZ9K_ z7@GicH4Rd_1Nu>;)YB1IXR0cz zN~=56)_`8;ltK&*4n*~#f$EoqKCf{PQ#JGR0i~X2Q!e#KX4GvW$1UdP4FfrRX4I7; z$K~ed+Fh>p87O39cHU$7-WeZf&S%Ij7grL z@Xa|e;<=cx_$%mAE)BsDbI!3uofD$06=^iIj+noTcSu_TJ8*tpjLWa8gI0ykRCAnXRzmY^FFB+bm~~Y?IVXX^m{tySkMpaiBe0 z0<4v=JNguGMYNVmnGAasBy{jFbZ?LVAoeljp@Eyr3xoertM{RZwl@zm0qhRcLX57pO}k9Znl@J*GHr?m`^B-CU5Px1 zvRmN@ZHMALpk5Y)5ttkVZYzIBu;?-Bo%G9>lbhbbpQKt9b_!cQjxCQ?0D_wpZ*N5q zMnat!WZTUOa156GJW+TXzmp2Xpr~a^{>Mtu(=--KZbWGV_f^c*#;?jlr~6cwlD{8w zQAK%_D^Zt}sLL+bjC6bIqG$rdw#4i}JQoE)E<$|`jt&62X$cMy0-P0}H;fsLjSP)X z*Al4cRtwfRG(JsBsBXXvZ8E=mJmT2Bz!h#lrec7f01>|8Jmi&P!vRTl^Q$1^Iy`p_ zJApR=@nspHW&yHtB(>a4KCeuaO&523URRxP7IQ zIw1^uLg~1jD5(Oi4Y~_UC$&>-vx2d}l;hIK3s5W!Sn0Sr1!7?{-Yx50HWcsoo)p6Q zJd~#v0BB|RH2jbK#hdj20HqC6>g%)T_tqPRmU65?sc+4W{(aD1-z4Y22DVeGMhh)| z)m6yB6ax`hRYx4y2!++GrO+&(y;+V7+{Q1QA*rEkS+`=gA^gBaRJ{|EdZ>mJ&81VGl&0bwSQf{mpQRj=9pT2Yq zj&k`P4Zw5U2@Ixq2-g|A4JC$L&rW_JDKJ26)YoQO@x|LwxN+wa0|yM@HCJ0Ke%2X- z@|CFl@=I@>HwVa~vvRq+(4uBy(E|M$1m~1Y0QiW1f|(GsiRc$XGY^Iga4Th89JdD0 z%JfM$daUrtd#h62s(yfTP7_~%8aF}_6mp5WPa7BhBUwGc%QViLt$3f6@~zj(;A7xfUPI6KEC%ZfgPyZ z2-Zxl`0DbjNqan0Y{a&a?out$s$cFGZ2#+?y5`;5E&>rg1YOq** zu5;NQep3-mS?)E&sQ&8|j7-7hus{uq$ssC6S5kgpS%0$)6*0$J1w%FlILDuDBXyzS zI&4PT*;b={FkWF>Z{cftTMgF^$OiH2$b%<(u8N1}PrxuRp^Gmi0&u%nJjY2*Yr~pT zuwD>iz56Q;;VLb_R_+n|n#hhq3Kf7_Mgs>4D=PzWBgN>5my9NtY)dMu=+kS@Mc{iW2)saUEnm2m@?89KQ<{{c9(wdlm2LicG$L3S=!x(^6tzV#Hj9NqqMd z;_G<>{)W?x_n_VktaqbGfX{D0Z0D~{!JX-t<_LPZ3Jo2@9_K0Iw;<7=2}rCOW+QV8 z&Bh_XEdKT>RKU1~h^XTj^%6v_LY;8B7?@MAA;G71VY6dprWg+y2!)e>4hb^su~h-`5HX7W_%!n05QZtUikFsvLir;ztkIh&sg1Pk5XCk{ zr(=v*6MWsJrlP%*ADE88t^8T@cj!p*TWfy*!u;JiRs8l8n%{-g%}4NAg&$o?g7H`V z3F(gbJ)zoEst!IACy0jY&L%*OwWU9>SmqZwzT5@-){m5O$CwXr=&t$zz7<4WoGK34AzfP9u%dLm;E`N}0mdP#ItDGxHLP>^%;ZJTTpiqBo|R zAqt>vJ3%j^rm+_OU(D1p&0_I|mb({9Zvmeyufroxzf`g%$m)<4+|KVmgdU+0SF87F zSgZ-Ki|>Iyv9YXAf18E`ws%Nb3z2PnJEALVjycvEq%smLUVz=16JU#T1MIVV;&MBG zcZLuGqQeQ%NY6C~7UF^&CA=sXbzXz$Ln(X6S;{5`*v|_~^S|nm?ej~KojMR?QK=dq zc<~rYSZN7{eeFfpO25n}#pvCcthg`e?UEivGjUdY62tnR(aii|yG05iXQ_Lw>KGt# zq~T?|0=8zO9mq!wBF4(aa@7h;`Qo2+X?Z~NdUKHGoexNR7()D|tBB?eT`x54+YHxk zh-S0wvMB>VWjpwLGcfUbAG^g~T3$*g7X?9M6GRIf#U6?XIn?`S4GS`j9E&J z8IGT(SuMTAImm};<-y40ov6Ag?+fVDPFl45b$IB{XAXzK3)@ekMg=yu;#}fA!#2{z zhKt?6D#peHSmw#*VmB6OE_UJ%Fr$zwqiR-8$}sc52_H8QdlADUAUtZIlPcI?3y7pi z>wlC34Bpw$<>mFF0T4MQ(?1ENlXf92VhGkAlZ896XgoxmCDzsQDFEgP2D zh58Jqu`EkrDK$>TNRigm$DGo}R{rHBq$kzvLu|1W!)Df0y>n&o%(EPbj&VMO)9i?v}Q`St5KTE+nY+s*+1on0r3=~V~Y z#UW15F-!aqrzJ(4d+kB4cLB0KumYC_SbHgp;@O^`b-~YUKkJ4cI`YG_KYs5q!zl6W z40!iyGJg(`&$I7L)|%A9{H>uDOX1T(l$R6`8_^A%$-ARY`xLOVvcALUDbDc)BUw-H zFbt`By+!Oz!?TE0S_EPIbC zVL{HN$68YHP^W9!oTbARX=CFIY2#zgZWsyu6Deks*%qaIlTzNQL`Jqi(i7>~-&id5 z$L-M8T((8_?vz3g;fq93VBBh)X5g}TAQn&B8xK4a5Bw2d!0NY3)zeb(v9XPfdf&a$ z<15iyb*M50*N!ZOeDuy(u@u6WNcFxFDKv#*ZjeHgDR7JW6TNSa6#AULexQ!l`+g{e zT=Z2gg>WB;Dt08vC6<8R=nQx_sh25i4g~h97s}H5&oiWVEsKXg1@cxI5{~>$9evT^ zPy$D@Eb63#tMR2rpq?W(7{cDo1<*NIN7DL(83A^erNrASvnF~hQu5bh8;~d4iQPcu zIN!;Ac|kPZU_B-lz91mO|gsgKU}JShXQvh=9YbAfH($OEA2qS|da`bB&kyyIX;x8Pg0u8OlY)A690-^9n z89|p#COhj7N^4OnMS392!k@0Rq%M#KEUPd3G+mX<@|p(A$ZyIYq_kRB?r^ zgw?_HtZ>R3X>K!Q{qx=u@39i;rel8C$mZek56s=WxQu%{$F)w{0)wQ;Y`bi1m%Upa zaX{T_E|3OR7l1X}djxp9$czHLuV|%Bwl&w-6k}_w9j$$^3i(|$UCwV%j0S9f2#l*= z(ow5|C^n?hTOfrp=v;cM0ZC1^f+)&n+E8ERsrxnA1hU8kP_8DlOFTEA$7dp+YJl^%PNJcxs&PvmPkQy-&04>kM;Ix zqaep5%<*Mza*j&xrJ9o_2erAdJ=`>vkOqgxUo_i2N2;EMV}z4=IS!n2aT;Rar7&MT zo2_a#e&mzP0L+sT8wRl{DrL!yahOKjJ!j)Sx*%V5`}2DtJrlND=&CQs8ez-LQqO=U;Cf}1^hWE09E@vbwxmKRL$GB^5+VR`GJs-eL-D{uns^5 zU0#c;-Pob%jVXM_wD^k9u3$og3RGRaFv$Gw1ttiOQE~peUfPUh?{V!#0zWp1eqc{R zYn#}Z1Vp=W*zOhCp&lR9zI-e~t&SYj%|ktu1@|~a5v0x|=!`v`fQs*A3KN?ZaviW5 z=fbADuNek|_A}f8VW+Eh_Zx=4@QK8>`Iy)?|4!Q`Yr=>Y^JxC?0n`gV?asB)5q-OP zL?74d0)hn8sqlA!nh$>$s#)-NsrCn=)3L`ZuUn|4<1PxHnXyVB6xq?Gu#g~-8~rH+ zYSV~TO}knfS^0?dN^Pj3H>Xfk^d?B2=Arm267k6{W+Nj~jc!+?PTsC`op zOQ96fPbX&>_btst^eLd_(A$f(F(pi+WeEgHiu@6xOIUC8ariBcWUj#t+aFPt_UH;q zIU3dC1;@)Kb%aSrmQITN;4}@6y|*(a0XEEzWL9GNh+k>P4AH5gXs#;5-%0A_@Hbz* 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

p?1`FR3{HuiS+ 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 literal 0 HcmV?d00001 diff --git a/other-licenses/virtualenv/virtualenv_support/distribute-0.6.8.tar.gz b/other-licenses/virtualenv/virtualenv_support/distribute-0.6.8.tar.gz deleted file mode 100644 index ab93ac40c1a10b297096dbea53c8520c3308683f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390582 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

(P{HBJ`mYSI%;^O6?+b$ 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μe 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�HLf6fSww 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�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�F>)(>ZKf%2Uwe=q_N;zPIog_Te*jwvd-lR)>v> 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�hA`i3`*Tw^ zW4qslYt6kXD&Y3ItCakcN_1v@-CO?{_}|cfEPEn4uqlpKW&_spt6YuH8nC2mSA@rK zK-80#-ofOdi|*{q)qZAhWl{N2 zl=|&tqEZhza+_neEua8$D#B~kX_){w!~a#ja7CGy*-4g-?J$3pqgl$RxY!}pPRO2{qt7W02M`lT` z@&8jeovc70CO&9*nsZip*fW z^LQP<-G4iHe(>hy{*Qx~`>*y|I(e8Y3+Ng=v5D4ezby2@Dp3=MK6p5jB^LR%j%Hki ztNOeb0yR*-noP+gMINSwf%y{B(bVZ6WU5&TUu5_eI7V5*_zTGiOW^@3RlpDyHbVAt zJu!FjR`?yJ41k$((J{%4mZEk{Ug?;$i1M$a|2kP|REEOr)ZI?irFHY)JqXwP&d40e zsbBYSkO-Y)9d-J zP`FZf$p#?&`5?^F@pU-K<5O60$}0zhDLfI{I_K-- z^_#mxy9Ca|JRYE>ivUIF*D3Ny1_zp^Wz&5bcUDVhZTRicfvN$3?$^>Gn88b6G6Qy! zSETG2J-Z55j+CGAD+v;8vSpHAb$ex3vPgv4a5%+#Me!4KIZ*hpSOF4_o9~F5LX{Oq z{$RoGNOsBU$)JjQk2=G5@I0vSE{*P}*j;u?o`Kd7eD-hQ3g=OwtM@QP+hk|>2=EXW znn)dQAKmUdJdHb#yFdB7Lq~DTZ^De=TXf*$-~`}uh$m5Ft-=Ahz7VUcS~qPTXh{N% zd=ULST;9f&dk9|A9osyU%Th3tLctfZb*4l^_7EfT7;+DQ^z(#m?Iou6{S>oYAQGoJ z<~bsnjc{cW$=W;Tx+~c#gwJkG&|vHUu0F|uPhMsDr+$TO^!48)&xUwy;*O;XUU4uU z(Q@~2TYiFrdJ9yV^XM{xlinAZZT9icW^OEvA*k*ujfw12IMgqo+Q~JXr+E5I^P&Mv zi;eHNJ{+9KxILX}ZZWD7n$?w~RB7$)SsBOVn=Yj~;rKfbVL@dBiJ0SR

<`7w!3Z zjN+xJtOzHSdbC8@tcA%6Sd*_gHz?c#)XXuu&dK&o)NOe}w=sG|Lux3!MyQR z{*8ch3^dnzh__nd^Mlu~ci+4SKODS0+CO-6_)#FeRGkiH9Ac%RvM$8Oa1Pzz7BF%I zAE(6Kj_R}x#zw_jy>k-sdISO26(&`bJ1y%0iv~N6Sim@bP-drfh^7ZB-f3=TkDIX= zxYL@2nRXGE5pedM){FgjPCJ&{yB#x(P&m^RSCE94I3Z1fJnfK^@ik=&jpjMY9`NBwZ01liFpR~ z>q#W$YN{@}l7;3nmI|zQ9B8zPDmG`1Ml*H7US8@e9B)$gWfgkn>mCE}Rj6rTJw+uI zCq37tsKYxgd-gTkJAD84?Yq6h!@*B`uinm>fOiyvhiF%n_!hd0IA6M3$m7vqNk^vc zw#0r|-Dh&r&&@{Qv3O7g8>vW*%VHb18`^vHa&Zv7n()GqQv$`HxLIME4+Lj%eBBRw zdphezV(1e|(V7@Sl=4iBJg-lTjik8TiD};b(knsVt5BW&O!bA;CAS-E_NGS^r|^RC zWv1n1TF&Aph33y;9-H3{nvp zoQ?KH^f|ehUW7bxNqOCY%|1kDXhkfa;7FgvgML97Ufdm^9l88eZmBWQEiesv+p0Ta?>4I9g_1aZM-8R+Uvk>({I>{J%J+SVOS8Mrtj9nrlnE+t=@**X>0TZ7S-yG z{bVjCymE-fMv9VSgbTUBK&#mKL-sj3LiA<$J6TH+L{OOYKS2ju1{ydJ-RpO?u05eMuiF*N+}27L-hwj!l$F6)0&gYl~RDlwLBZ6V2@YbI3w{WDamx&4deb$XE%)w!zWDFz{r~3UwI}!Y|6k*u7tfzS6A->lEE%Lr z)d4x0ek))P4WA&l9wuglyer}Ve?nG_S3@}{N#7#3zCuj_<4IWk0UmmamNFntRRv>F zbeZ?YpW`8%D5OXb`)8vOY5#)(_F^yyIepLgx(l_dTCT7W&Z5hThgr(u6`lD zQ=FIRev5Mf09(OXqlpf@U}@S2jsMg6 zEmE(z`yW{B>hjybJ^u9RR^$GMf0X}Y{mIsoCu^Xtg^!dG{W*$=nFcAqlXsfrWqoTuzNd8I!P z$EHKQ)7tLH+^j1`NH*A5t-gMk$CFG0JJGcO>H>UxQBFm?P-#;oU8?JwqBvK7B4ncd zw}Ll1nd0rY^0&d)JymtT{4CXf-MEvM{dw5yf!;8T!(JXfY{MLP3ivN(q$|Qc#X&i@a8~%fx>)evMRE#UwPu~J z*fKCio2-?5E#oBDwjwrF-F9Y2gX+ZhR01^ybNfRyGB(t0jY7&*7%v+#*r1!YyW1)` z82HBaV$?+g_-WQM1I45^7@oyW&SJO#d7{iCbz!^nAFWrrZ+>iThpp!=3lmdiy0hqA zrM%;A&66Ke!rBOxp!J;5az<#Kzd-K^%oYlQp0l<*6E;_9>s6b9ntQ-AMFs(b%0ueV zXggH!w$+YTUN?Arcf$Sza3|$2R`?fnOWqWtdG6?*WwWz zCE>>o=IO*{7D;K|On3bDvN)`VsMn27O?Xk~dX0J}#tM_x$GgtpKq*I| zQ$syc?%$-Cq*JWW2woYRES@$uXxb7wRf5hM~##d?3MPKhLnnSQ&T zlCw^p>gl5;4M|RJj-lFTuxKjiv|c@pQZBylAS%wJ z*}c!oZu<`+SndEW^gXqHMQUZz_#M$Io=cLkx=WPS)%4`aST?sz$knz!65flh34VQ` z+R2HiQ*}&tdU3}NaE-nWRNKx@N|V8jysWkt+**Xub6It4G>u{o&0gN3nm*P_i5NxU z^=-<&BvO~SE!hX9FY422XJ+-Sx|1e(Z&?hc?I(e*T~)_RUEY%rS05P3WRVv6z-Co{^Z-AQbx{Y>Kc@zS|7vYG}-P{I{O zG6X4E?&#@H zio>$sb%x%i&kf6~JGYqa550)4t&?{E$7)@0A! znxq&%&_{sZQb;kB3m)hBPP&)k6xM~bXGSAi@y1_6bF#k0!_TZFRb>8=v>V{vLG?4$ z5j624M!Fg_d#TngTdNKwImZ=65m&S4IUcAa_OYxudB;iSR&ugfgVPT*2js=1zL5Sf zcxcFb^BsARk}hL^Zx3SaPA0s){06aEiiK_Nw{(8w@k@m>-YM1LZe5yG)SLil9iKoh z9ffOz+xs{_aw~ZTQ1i7|yrhvJ3oY<{0DB3CyHUov^>{7cQO|V(}$?X*? zm%P$tpKSd^D;E-sS=#-~rf`irOi}8_ko{>Td#0m-Jc{Z1Z2G${z@O|~Ij+JW!z24Z zmH2vFXk%yOMFiditjMEAso|=urNg6xd8HI#5)?762ZIy5mb#&!H#r@Fzyo4Z9S%r~ zjSGNYpm*YSKQIbyR|SQRkqYHXWW%E^4;=Zm?e7dk4Tl3)kQ{Z9wV$Y&V0{{ufba+j zhtzV59^qSRv4@O~Es`bT0VfOhZo-*L^amUq4w<1onbQo36ACoPdGiNVPaYJi%iH9$ zn&mTj@SFwY1nIx~C{V%z(Rt8zqOOkT7z=~q+M~V2`1I1x}mz|2neP#;}Al8~{B6;IVfR4=VP~U9!+&-P07L8WL98e^oRrEdDFnXQrXB`@~ zyOIrahLyF8C`+($_m0qzcD>rnPgA!wuiriBLwsbIKqk$%TQ zcWb=2vYVuz1d<>%3W3k+=>+mNrE5G^t-P(Vjm8+t`2CCt$j*eyz*1C3>tH>+lf5XJ?CXZWhip&2aj!PXIF* z*^D9;XOIl2G#OwEx${XYxuSX5ByzB z7qqoLIo`!e+U%@N*RX|-p*5bi4Mx@{5R9{0znzOOOL0&rt7?28eW8rawQXs=ona^O zMuFSh@5SO1#491I&y(Y~_2)1)VEZ}vJQsgrwx7C)Ks?ykK?7853r&mo zLguK=P0~e$bn53cBVC$Ay_2rh=S>RwYqc$f9e^UXKOO%TW~HKfxMSN}>~~?QCsMA? zAhz^%*l;2-`+GIu{MeNNXWNjXfU9F}aCSO@@8Wi^Ed~MZYS#tTl}lI^k;f-@s|kVa zUY(ce_05K$$QP3Xzn#Ikp|gJ=%`Q!*D_Sk$!KvY0?U3e}*U=xG9IwV~pu?cZuZn3I zK}Gh*o}n4D#^j+yH2?`CToKH67DM)#5dDgr>W@^M$n%WY45& z>nGa_ttJJ;fOfYa7bghOB0T$mAS%$!)H#eIhmCH7$4>@qEA~j0>pp(_Hf(OeZi$&i znYo>)thGt&7Z@jy;cYWeDAYabw~j(DAn%Q+`=H2%D-gU6UJtUvw-;|GZwI?acXD)8 zdpi-|_6MK;YwUJliV6y}Ng-4Z8=TV2MZ!yYKaa|~wE|K6P!okBYxTodC?cG?5o%kr zN+Q>miB)phZ6;SMKem}*)|&VntCAb$StYrqxweZ7n5dEV=DSHyz~Q2DSh_D*$IZ#{e(E8lle+5U7|r|O=d~z_SyS4z z+HBN1YL)}*z{^HUsqujF6_Rb_PUqk>IXDx%Q&B?=uJpdTs#}$P$m(>}-cEB^^Mfq{ z$-=r?5*j}x?%F<2)6D9Mw$Nq5Bg#Vw48Y6x6owIHp}S;SG>7_rc%wM{ht&TaSL~7adi3q90o-@t|<2!8^vxX8@85P7q+{4c4;~C24m`DU2o0Ke0+r z41~Bd(O`)$Vz|V=G+o%c`4_xQA**p>3gZC>jnRDoCSKD4eT4-Vq?$OpvshM>8V z;*(U)q%zAr_eiu!9jr2P!g>i0O+iQ7Ix{=YfGGb!zY`MDiaWg6#e((SoKZkS04^Qu zP=EZmeb|CejX7krMZ{PQsQUv^Hk~{lr(SJ_kok1_;b{p-O4p$vc6vZ``R_|nd=>q0 zdRBnIDE7Nr{_z(%_#EntAZk1`jydVXak!)C(GK3m0I2}u zMMD~=peaPrgHTt+teTLU5m6RHc|!LNHP@dV@LmP3Xl<-ahb_-4_*K;4O+;-=l}KkD z^;Vj!Z8{^8@8S&~`tzqJ-#p$*t?6rUenk~KE`csXj?TbC#N&nLju(^i)2rjP=WY0& z-`3Zrc@m{>GfAD4?0K;Fj)L8pcJ<;{RlMV@uYMEdJ0`Ups?*&+q@cnJ&azgX@9dCe zCv^W6l%h@i>0GlK97yCua$S*ht0d+m$LV`T1U0LAkY1K zQulsJmF@3XXPd>9wgHF!n3@%Lqr4PKUNw*Ed{1Od%#T(2Hlnn2XtWMYu3DaAZ1QVT z8DBwX?5m4AU_EgO$_tdKh-0E&Z${v4TNCndib3~I7WEp+-G^U$xT!(mLQ&!sG?R%t z{`#bV8Pib!N9DKx*-J44XrAK}n9EC)#=Ls0<3XK@}fee5yt?BC#b~@WRU!+oR3RLOCX4-=RpMzqFh}Rt4S?| z@HqbP8ig-nXa>R2lLRJ(VbCGZ#i%|UPwsvj9v?|u3UAB4W=bJ-i)GU zX+=y;vUFUry)D!WEw$PP3g3UCP+9*Z`v2h&)QZF5^%()Q=>Na^>MJ+?*B4(rcyOct z|1~~>l>Dgxjc<*(Vt@YbRgyUYJagE7peX^e(`zvp5StSDQucdRjk-7hkBaf>1~mhc z`IF$dAns&=r8L}=HXZo3n0!Y`8!ZNgLtwCnD4D`gqJrQ7H;UkToFRoblou7^vh(SY zGCKJ4xPC>?vc(7(7kRD?i2|)auJzZyIfev>sj(O!PhiAV`LM$1OVjl-WrA9@1$~6X zmy*a)cxhEU9#LxKDN1{>sur6%5{tFwQW1(SDo(_DI4{?N{S!mHhU)+x6tapul0&0J zH|8PoZN^Peaox|{>N}{RyuPcG0QFL8qz5{+Ea8t7>v4Ul%Y$VF3b}6OodZl-9WPCq zk;F&DQnRqFdHjF}=w?{uxB_jnQR#Ox(P~kH}+=6vK5otNJwLPr? zUP!+?R9OKvReb063x0PG$j|}O<5#Eq(1MoQ0aMUv0oLvqrOs->q-jyMfo_N}_ATwrK05z9U3Mmtg62JylZbHMOAUs?%jiX%HecKTDo<~h^RAEq3I|RNQ z2015KyD3@T2jP#0>fdoW2g#^h(ZLl0N3g=F}lrl*>h{#lnv0`lzn)1Q=aTI4_z4RjAOrR~GUSA?w@5bwR3;9C2_lH7;UP6GME$$UO5mu0;;le?Pmw~IJV2}{r)gPV zz0dRDG|IQ0_C-G4R=A=9UZU!6u>!bY2eMV!{E_X<=u*ilFpEuUBUrDF86KB0NV(`8 zl8fFuau^vwk&xvi_@93A%ccZOYv3wrrAtZHK+3+FZ1b%`raO)Gda|7Ekl_+&CFyatai=9d8IUCj`lTTt_p zuvE>=pSZmasJxOQ{;;uQ7Hn8Qw!bzVxQGAVkM!d^%9E@w7Nmbb(I@n#0?Wy2Ef!UE zEXD>qG9Tm9VkYKfIu)}&9}7mlsqvELSYr!~$^k+%{O*2!Wt(u`fY-%osYni{s}*}k zB~6mGxPc&YI+@{t5kpalg?_TQNC=letXZSwIH4uJT!KB`bn0=52=gtgprAY|_>qyN z)>d&I;S;&5b!0s8hsZ2+ddR#dZc_yzp0q9YSW9;Iyz#-o1ko-o1nQ zTnc^|?JwWG69fP5UH2AV!KjND`G%0p#F#>WiehrPt3wxJJEa{lt(kZ4Sb^I#(iukI zf~jdlV|GlAiUdhTVJwDmmyAo%a28g3kK9dq?k(%}YEz=yKacu==96MbkmO{v8BhpT z=ZP`(w2SU1s8~+K!Beg-#7Kk(NgE;^VAVzqBAEXrJjGIa@hgzCg`6_&+~E>h;D$nY z-D+tJ855(9G~4vgvsvThpBLkvV?jH4U>$GQ1bI)55Q_rl10uI6rVR*I24;Az3PieaO&H)Q3LZXh`?_Yg%Yg>Utp3vrZ00$L2?;+D3a z*aLfF4Lr$GVX(V&&}Qu2UWIzj7e}P4dXr>nR_91q`$<;izzT>`vx~f1!rxJj67xi` zuUU%n>?%e0DG)5Xp)A@>kJHCI)`%pR)^e2Bw1O7EAnmoyyxDc30Sa`VcfF;{ zI2O_%?0PMzpqLn>fP#$5a~O%^?b`MOiuci;dVe+r8C@n<=7HFB4S5jxRs+oE1_KJ z#AI}2k=m>teOpjOSg~cgfMZ3ewQ4|o1TdZ>&9zS4c_fsCL%#0rK-hs5yOxL*@oHjK zv>CI>`^!+>Uk*I6wJj#KrJdE(Ex;4bIqx&FnCRZjp0}9BBo&*K>vDAlHj?TNCN3ZP zzM>+P;endT^WxQ?pXc#)jkU;f%P}Ejua+(fb zbE{NVU|i)`vDO)l3&K{KSnqO z*9ig9V*hdPi?6`K5g4eG$*BBVu!_@m(>)c0Ebkd`3$b!yT~H6nZjCBh<(4pfA+LysfA zV;w4)L3Y z=TOf;%D{UbP5*5$8on>dpNuV^UkjZ9mk;;pBN32DEUq@5Lh<%U7?J-Fji+UiIXSEWXq{uovEyd;W#j_W~ zZ{EEAY53hwKfd_k$?GSn=cIr?#}^Cmsy|?b9Hx+G`14OMAHPbE6hzD6z5OGT1CjmK znV0E1$fY1$ETN7(KY&feDi86`u4LO~5VvQ5(1}Yolu=&0y~QbSDSQS6p9&rWX#ET< zuXGvXYknY671bz$Ti8i8nUr&Ck|zte#cJ^TXWpq}`0xVjzrc!Vm_=3ilQs27F-#3Z z;FqmAC*G)pqhx|$!p_F;-1V{?qi$Ky1#uq}OLm#^lEAobzDQiyO}|hy%)so9Wb6_g zDaFEJOt@PuXo8XHoy{&2O$Ly?BvbFrT$vxajvtYR=nPVA4AV->$6|taT@Kh(?n!=T zV_34X5Z4b(-GZRWFs}{t3>nhd5Mb#Jz``SZ1x8j)Y+&Bp**M4EsCUYZQ|=?NFT>Yl z-4Jz!Q3d2akm(vV`CvsWW}PNLXBX@qOaT~QfCS2;x9&|%XY`xJ$EqP2S-XK%G$i)z zY65GEt=$8An**2btQC_@3$DbxXW|FmA;jMyIgJ3b3{U6e0u~e}i!O;I_O2e#aWkOe zhqF*Glo(zV5BmoU9~Ad6c=hJRi|EvqTrst7j%-I ze+|5avK-x%#gv#I$@L%>Cc0J3OW;L|)n(vP?2<^}T7s`U^2twL*h!&{)U1;+o2cW? zx#A9@kxY}6OyBLr`(CWu(E91~4oYzkr$NZ6!gyzJK@{iP5GJ3yz#~;OuY6}q>+J!S zF20^?rpxAoIe*emWF9$iWSaobtk!7bIGK$`OdXPt!Zbz}cu42^5oa~+gtE#KxRosZ z@5LrL6E{Y57y-WvNslw|l-~iP7$|QisY~?LfMZ~x{ZH#$>Mjixhq?e+kRQ7InvyAB zQDTH{B~PFIpC6y>CnQ_MHDwxs(!NJM$LUp_r0l$i_3rsX=MrQ}d*$pvJfk7how_IjZD82^IEt~f<(%9pwzW+lOrGjwMOn9<+unAY~R`N zad;?y9QAzv*@3r)X>q|SWaPWoyY&$tkvaK!RiQEQbXArgO1#k2+JXG(YVo0*zhp8} z?L!`O5?6i_zx1`WC3zBqcilmjyT0Pgwcmaria`1FFZN??!g-*}w-czka1L!EGBwX&@2`> zCW03sq4K1Jv#OkrF9k83pVm#rye#;FT5jM43EaAN87f9KDH4I1449R$p*TFU@dxS# zqyqauVFT{jh0`2e!D81^GXD~Gc=xeCG~~Q7?q%j2dc*`JvweUACf;&n6g!@Zo$%Rb zNyi$}kTT;JC5`vYeLbHaGorSGm@iI_Cf%k^U`cD*O9T9Fy_Ig)vvQu{OZ2+EhsP2A z7BmewQMl3_IJ}UuOFl3u?;W`*w5kbVa%c}Kos%rUZZ2*>E0f%kjk(CyT;_wTjV{Gs zRrUE?Eq&jjJxj&wH0(lW@`W!-kbrGmmOhJePNWLg7W83C5o`{uQ(j}cA6c{!>CfV| zI0p8UF$0wlg`J(_awS}}MS~ODw(WGBoY=N)b?h&;ZQFLzvF&th+rEA4zQO&uA7EFl zT5HTPv-BV=+9M_JWYR<6uV}}iqpuuM6j`yc!@+m1D$#LZ6Nz&oUl#2)k3Tu7wdmjJ zSIuQ2E`%96)fJe~THQs7UhsIwvHtqG2uV4YqK&lVPxr8hmHgME_k-}|`#4}v(;Q&G zfeyg@Bv4o$(nyVV1kX~ss5LBje^*ZkjwREH!`y>ff}uUO(2L0-TdExg2akk6L9l9d zPfJ6Ne7^#y{w2JWHl)STaB5cwib+eLf04zDcQ)FLZ#NAQ+VfM&RGOKmj-udT{Q!N> zy-qdX@x&cybN2KFBNS-D&i|Y#u#|y>d!zmXP9vDBV_KbWjxnFK$>J^qWcp?0Pl3%T z)nErQ{)|OWbgSdB42k@Ba6}jDt)83K1pcq4R`Bh4`o(uJChe)cVBr4COAWrnWvfHx zp43M`JbKU(CQWlk8=UYUB*6~fJT2P@@jdghe&tB65||^6GhY-%jBeN+j^$mBJG{fo2w2D z*gJ-0^WtX+_Q({$fq;wJrWKOrghn0F&*L#iZ^f|_FZGA!rwNnN8qNM60rnfA&ot++ zVYHG|^tu;4lLspjM6oU@-tr5Oq^Bq}M>3k7w1ertL<`l;ZHR)9h7O78qKbg|O^TVr zf>hnHaRgGUvxu;M>^Y{O-!XEXSj~w=#o+b8U@E^c$)lRRo4ABA7u=R^oed+YISf$ZJVDlFM=yMuh) zAMt|V*tdf`g5)E|IXH?#HfacF@*qO=?YyC)%K8jZ=jipv!bFhK5W|%B;DjArZc$4b z4yyMp>Jn211^-iUGiv?9+N>mj1l?cP)xmx>|1t1z-)Z>q@_5-B#QUf-fcg1a_F~IH zMbrsV=gvRT10lb$Ei_dsckm7vF$xEp?O%#|qp0r^)OZ-*FBD$@{F$Xh0$tQ~cKqxa z8~yK@+~i5u7HE#Oe<;+djumG5{_kL6zAU+}9YL$6ba*}s%O)kHP4W#tK22mWun7L_ z$jro~xd_T}3-TSqjy~OfoVK6)3ddWDGVY+4ixPazw2cFCQz)NJ5)6;3<~Q+$R5)eB z@nyU7^YX8N>*JO#`sa4Hs;<}LHO0g4<~z+`t84w|PvOsha|?^1V47A@vq&i+FvKHq zKf1YrcE7Zqms#)wn$D{Mk4K%{_Cvl@(ZQcj1dtX!{ncVXYlxT{s6s0At^_>8M6C-& zRJIA_$Oj)z5AD<>tW=ar&w(0EDZ{cWVTnL~O?`W_ioXim)QdIoZAFU?}~>czlo&T-+Y1HCTAYG{Dm*D4-?%oOxJ5k7Dd zV^{exuvd`jQOSy5s)A(cDCI=8AMo6%e*u9q$nLz8xrs2yHLL}G^`QWs(Xazm$}k?S zzX)ZacI#nuijl3Lf*fzG@>m;3UDu5Hr&%e-L`BFtM|yKlA`RiHBlQ>rAy3T&VoY-i z<@XXxftuKLmowD^B1;`yOk7Y@>}8Q0N7mRGTyX{Zt5kjyyy9}cK~6rWz3Rjf-|xE* znCNGrUi0A|S`<8F8H&1HFSbyAfvqW2Kg%_UiC-eJy7ChdJBq%?-N;eUm0Gef(+zCV zQlVgvVtN{LIm^bJ;1m0xjE*YC2LZTktBT;FoOtJ}b0oxxsNuT9=AjxczXl>hwN*XB-Zh11zat%ZSpM~)?5m0kF|386kmF*ZgCzj-m8%gG?EVVz|JT)Tl00jI zWtX^;f2i^IGlfnB$hQ9^y|?nce-=K_ph!cvmX8)gMhBA88Zpo`MyY>6e@u-#C%zH| zl0i68tuaG<`gwg@)~h>SKPA5a`K)!GhcJ6#dX=waJt5F%7S!`-PP2l+sh^Quu1jmO zDPBQL&i}!_RD`Q9m*6i1I{Ni0{ZW=3wc9aIkKek2Bt&l!44nxyMc&~x+YJsL%O-LxsPE)L<^AE=q`&OV*UZpnnFfk)iW4W4PFLy1}`;*OG}e zaQH1U34Z+3?o+J~VT%JEwK{XPf{Owt1I2R1UWqgF zdA$ps0Gj*ZSK*sdu5N+ggvSijpRL#)yRtBZMelyp^kX@a+e45!0y`nG9kBrlOL$ORcpFt&@-ItQSSW)WsP*TImEG zojY-_8Q;Fof&h>ja$4jBek`r6gL_p}bvxbI|8Va;WFxk;LiR`+2G^B}0qh~dn8vD< z7J*Z+nS$=t!b}Q~lptuNwF`xO#feoRTpY9KyIUGjrD7-n9JtT{6x)3{q62#Gnkai! zp`~)7!`hq}%+uEO3*}S6sFhzB6B{NRAK%{Ge(AeH9vgG?g*hCs9YKdunvQxBZ;PWRz^-u>6HFPEj)Tq?G zvo-{(_`9Fh(WO;u8g!z6iOGUi7S%|dfwBNS8)0~Z%sn>CqRRCe7||6-#YRC9tFx*T zZ$xBhVOEeVjyn4$z?RwXoEcTDFyI@_|LoS{Cr{+377a5)MZ)E=C42|Jv+9xhOLNag zrwiz@OoSO(A&K(16d1Ot-Z0(6#bK& zQmKsc%b`5NE{d3a#QepTWXbPx#WdB+#$-<`zkMOs50^BUVqysED4$(YlOtr-@b6mW%lbh64k#_qQ> zWgWgg2Kn2!QQJ0lct@GN#%`uR3k0<^BAfMz7=7&bhig7&$LTXJektN0S&I8&GtcBX zwZpcW$`nYw;3c<*`5m*lc^Og2E{e;DU*m)BcJ^~}dNr+@t$NK5@E7-5Ry5*>A(qQJ zpoiGngNW+*JFG@j)eQFDyw6yETiE*UgT&hg znGE&lJ*_^$W(0w4v9-X^sNC;~Km?6~`HKFJ{#|3`K#c2Q5EZkHAqSMjuhr zB#PZDg|GN{Lw11z$*wy2suHsfaxul^FEAzcJ<($Ff`6SYkb3GAmMfL*o1NIpQS0V< zv@*U9c0dt76j@jyAS|R1$&sq8XiPdc;cOKf%@Dz#oh7~_GGwcQ0D%;kEOkLFfw4oH zC?B9jN;e{{!;WSL!SJZ;8IkFalB3io{K&7p07aWXFU$v+`8kL)Lb&~DLmMc0DQZN} z2s}+!#8@cbz&>vv>3&d2eKPfRR2*%s2A?d$ zF35vreVdKhb$Ly-Wl-0#56Mvy9&kOQR+mW&r|u*&w$~3y_M(J(yfv?PyH(s3S~*~K zj)$Z5eA}Q6@l2w5H3H9kD&)*R-%uZP1C8PN)^@ag^>fBO_>6qI^9tG{p9UeIJc6Jp zBX0%^>w%zz$4KwA^6~{AhDSL}9&#@5o6H{hFVsq+CVpCFQ4(T|>`k$kb0ORuqGtDi zC1sliFNqDW%~C_I_+;3_9rEUAGDrIve*fooKNkZ(S$cRt;>aO@EL#9#My$<%}|>BTm-8Q2_%|PI(X!hH%L9!93yv2pbKihO*rT;YBEl z1rkT-w$3h(9Q~Tv43rp0RKMrU1ymN?U%S0WH$JWjF3s`@s&CVdlF47;>V1HUFlyEG z&J9|t$eSA3%{SWtxt1NYWy{`5e{1Ixa&4{I)ED3@0)y5it=hvO50t?`8bL1#Y46CP zO_4{RJh?T#>13}}GPc3I5zTd@4n112BR&HYQ@WJDbeaTsTV=hlRNDKjd6I>*^MTTR z6bo}|{AbT7^C#lRN2U@?yvcoyCa^|pNMNK6EHt1J1-VB8|5{y|*`2s=H!Y$0VvfpF zrtUEwto~~nrv>4 zT{OGLQ`>+Rbzv4UHLlO?JX<0~j*~08%qG=FTx(^9tFAUic{8}EE&9D>4i8mvNOzyN z)c8ZEtr9Pup8E#E4O|%QSgDFi_3VY)Z>gv`5LKHY~J)6g5|dOTM@ogzaNOqWQFwgQv!NGj)?^qcmfRtOl0B6eKb&6O6c=lrILt zBBOV85j8peRVE_<29?tt;+9357h1$DBam^qooW4=7;tV$#KzlNKkoFnlKJm)8L8s^ zcjVu|PViBPl&gse$U;^NQ*gO3N;7-B4`ctAKKdQJPW>rvc#er{n%$UY*?4M--fdGV z>5ntaJxd_QFCgr<6Gq^6ZZ2~&H-Xzi#q44Rt379v4VPp#x6}gF{@jqswcFM9DmeB+sz6#6TT?1A>`G%&1p}KN zt?#O2Yrxd-o)7(J1kAmpqq-pkF@=m{<+E@TnrQdX;vFAGfVtTW60`_Q-LOwJzK5Wk zwFxnCO4&dRI7`A-IZ1`9c$?^sTasD~x7)YXag^ucre0Iml&8AC(o<}kR~)zC`PcR5 zqIR3OjO{4+%D9eh$CmE#c2}fD)^1%$v?tyh0^;d)gg<$3<8Gc(CKOm$ zd1^#LHJIpl7Mx%(Bx|NR5X&kG>(eAYtv?gavaN>jRn)G4!K^x%fdLmno1Ml6%rcQx ze_+6xdgWrIjTGxTyW~;BTGa~Bj5}kib>s4I-$(5zL7^|X^Ejbh_00a)grqeV8#Lm9 z^EJ;pf~rlAww5^Oa6M}8fJ))N*W;(8QTeq5>t%|SSh_!m5c#^}*OEb90>5}!Q@xFT zK!pBlqem)9Q3*QB^{T?u$l3|CB}Xl&4f$yE>Pqrd{Vupd7-?!uM;aC_FGr+vWr$ew zjVNZPvGvQNvB84HrO0152cAw=#J(^=wj|!U86c4@1TM$!H01Yx$vQO#AIdXW4_y%!a6-x5ivExrxKJ zUpih?U=lI-klMw|Jh*mTZfuZY_YSFh zS9mwU{%YHq$N4+(xzKqjUc&NTz*=?!k{Ymv8l?t3<*yHKarAddDuIzA2^*-aox{#bsc!J zRlS+=c~D#UU(@7Pld(R28k%%z*b2@>k$#^d95ImyE<`9(N^XLeT@x*b4`C-+L{YcC z;-eb}nL&|7zDIC>vPcP7;T*(^akZjiAg(%?qDjDUq&A7@M(Y045f1D!whw!J*+9$d zUFj#{+h&EDvoa>y?b8`?Z)1&F3oJ(3u19M|{tuxg-Qtz0Q3R(V7W$Gz%(T;JaL2TR zx)qaLaGgJ|eN>n2oEhg~uw`70j4>&RPwjNmoa+HJ*QYC&ZDD$-ett~_DnBpY9*lB0746ONC+e$zizWD)zbn>dt-A$$P1y? zUcJM8N{Z$coT=tIuTkm+B?8CUf}8b(AXFhPL5#|i<+#38ZNsC?xr*3)5x_BDQ?_Pd z#{jzkW}v)3bK*Bh@#pt7$vTc~>Ts@R=)U5ZBKW)H!v+Z9oDA!?;r6@fK+s4_ZHSVA z_M&c}or{xtwR}ba{x-Z)FG}b)i%?VV4Vvf5K81PsaIJCCkR94$+C*)Id26~=)_6gj z82atGsO_D369>`SkTX~e&?g|3iX9-|+1+7ef6mBd0I3+#aM?O-c^&c*nfonm_t)dy z0X%sxVH1w|P@WGn(oh^i@bi>M5zgxm=tj;&0~w`PFS7fqSq|Y--Bdlm)JzG|T&FqE zymVMM_=<8oi`Xluo`WJNb^JW{=ka}g@u#(Xtdb8B@Z#yzF8$M(Xk&lNt;@3TM|Uj! z;Fb4lQnO!vd?#!tCJu8_=81d&Pox82!Zf+{7S)=7@AJJ zornABmK%2OC#uTx6V)AWNSO++&}8Q95D+U?1k&Uc>naqvdDl zxXfArQ%TAIUYBeo9PZMT@AW72b`d!C5!TG%jZBvQ(RAGf^o2f3f8=4oV`l$<h5ibtYQ}t0>CCs#(afP1qqAi}ZS2=J~ zaPoZmI#F;g@$RCc#aaY8^#Te=w#w-k7HTSKLBU8HySz#erS3wGF|ZLi%pl@{!Dh zjw<+h+`o_CjymXnuO_7p66O6vucu!Wc0Cjp+xUkdiFYb9>kp{N(@CM2>!VRMRN--E zD60Ki|Dgch^k@02A6AHS4~m6uALUxX^s!1p<6x(i{O6P8<6|{!9lEyY;ZNEeoJ5bJ z7iy|}ZrOp81~#I6;*kge2D($AE^}`jj6(#ur1}s8`wVd!!=lbO7`UK_u2@BTkEX&g z4WzZtxf%>J&d!=(+OY43DLa>|-8#F+!+zqZ#&Mp?KD&^TgRv&T?4QSy>)8RwXPXlG zwt~LAs1ZN!zsxCqinuiAZmcZCUEia2*PT z>NlrqXLWUEiwb5_rYpRh%e1&{0zHDrroAT)OvtkZQpVZ%cggo^iba~!8YBcreS}DU zvuN7_MEv_n)f_cpw?3$)a)~9UnYrtr#;?hc9HMJ#51WGebUEjPMRLC+AtD!TrgJ#8 zZBmD3Qa7noXtdKFFb*%{49YqWu$){~EQ zp~VYl#m|K_cxj}QITys28zros+p^X3mNETD68LL6Nq6Ir@uSSlH1{{bW|S3z#}K9^ zTAunK_b|o8zFbVw5#7lUhmzu1x}>jXQxW0IN25e{4J3(ZiIrL!9QEE(|!``>y-pQ_mK zv{GGvJ<4by;}TaG%?)b@=85AMY?X{DvA2_qwWv%>ieH(KjUyr{J^p3e$YQ0HYFSs$ z^aZdNBWH4hDtd50$b~eEeD0}lbc@?_*B2M!6j)vkv}$+Dn_UI_{J_w~*NmyBA**bW;$)G*5*bR(#GRb2n+|r5+rNE@R)2y|9@XNk z%G?EGlD%S+mF1Ri*;*#wkjx?KQ9eh{?f)X?;aWZ8k?Wv9xkG2Pr?y}DZIL+KyplSf z`_hk>m3ulIG#6N%*6t?{#Z-0HUcYw#haV;GI~NiRfqVm8n zoQlJOgC3N)^TF(ErdobiO5{r_Uo~9yqh*8-sz)G*k@R1*-Y!Vp&+$~uGHgQVT44$4 z>2s@e)}G#}l(m6f15uf!*D4>U&^GE-QTy|6ON`D%qH|W;FjvG27SeODVElqwsJflK z9(8kl{DtF^3PbRi$N^R-2B7v?Di9G2cPSw2WT|Q%-Ss#LNI=w3NO2KFg&IZ>ql`FGgcNRRZ~5>Z+HG;xchG&TyA+p#548>|Wa?Kg9Ms|U)1`@kbN zcf|fOTETDIK7o{K-<`+#x)~kK5#a0d2KnasLD_H9-3-WYe6ZKqWYf1CkM@ytZ@nmb z)ypd1i-8Sd3wKU?wA%&o|8{yUzGj!z*afQ#!@F#a6Y#39{b$el%h29-WBAgv%P1rK z7S`7^rWAhT$Ur>W^(3_?`fKMxksh3^oML88R3c8|hJT+`=TtZ?0S1PMC4Z9BWD7sM zB7_=S60B;fzQnw5c$-eKa}#QsZljU2!{_u3Wi{pve93|Nf3iSJ1(=~8Q3GEo2{`;ZtIv( zT2v#d+H);pc3~n@_okNv`QJE)Pg~q7kRE~JG80wpbTTsa6=zLvo-9?A*?U2+;!=>` zVC;o_jVY$P@ixxt&L1c%me2o*;q|}PD_XYGJiztlLP}qs5g*nEi!8QI3WmD=&9u9B z_|qPmGvq)Z;?w!dcJ++fmafty*|CW&IhU9vz2r)Vb?@_AejIj(u(Ra-hUj+0Jpb6 z10Hi!IQ2hY(v7I{T4dMCbQnaifV^@LOfuzEN&MRa-wPfmnG_yRNqERN>w;$00*&Mi zBDE$;q!of$w|Vj#*`%^*Ge&wBXRb#Tn22 zK?NDTHaP%uYlE&avM5TQiS(5`1qXFTV+f}7hdvfAEVO&erF3H#i;yccOma`$(DIjk z)}r&MuJa!(kXl1RaXNk$JAfJtAj9sN?C`UsKUgvhdSy?YqDgxM3USF*@CO1eGN~Nz?3@CGQWZ4NnZrXCNbVu>uyDMo{PmyH0WxDn0Tp?&N|DqncN@)DocS;ir z$8z zKaUpoa}so{I2ag?V{7`0q%d5^`Y6KPG!gq~#0Vi#Eb0`UbHC6Xg4@aU7^_&MNKeL9 zmcvt51gz{&G3{Jh@!`1|uHKBSuT-JxRs;X?6O`}B|FB3i;j8ag0oVDv-O+jIMREW0 zFNaUt0M&iwp1Ae=2--BMSFM5z9EcK4z$8IYg<|50+lM9?JQIYIQmE*`rOX-h55=&ra)Ihh@xxBsLg3pWK!?8Q_FPTp}44*u{Uq zYJB9E)~4>(hIJ02ov~4etgNbg605NrKzF;{v5vQ03BBs4;ria$UEeb1^x{iUl$wQsMEHTt^*{6?Iv9bVtr<$-=u)rD=e z{vN$S#tqjOZYJ`nzE%MGI7BV=tkQJao~FqCvv!PTle;E- z&Tcl3@>_w}TUCDICF#7qdiC3^f97=^I2gXcw-y&iM42w}Hy2lyWdV(rUL{gg_PBD= z2_6$I{mSiYUA}IbG1~M$b-a(x5Ks4^fJdGF%nMAqCJQ%d2x zwoIy|4&@F<7w$H_?~f+%EQ7xe(Gd`_)}Pkk{bqKafkzkpOgxCM5eZr$otQoT?w!J6 zfxM>-gh#PtUAm5OS={gyc;+OmeZZ)_72!)wL{8!oEzJoWC7d<(T98FB>OPLG6+G$@ z>L%BbIyN~Lp&r)%x`gumRBFj^sbdbP;y}-T_0k}h=e@rd2DBz$J)IYc1cn}8S^oz1 zBo_7qhpVqg!_neY*7z`2(e;?wUusD&O)Nnr1?^zMG*N~V9VJDd`JpLn7a7sg5=TP= zT|Co*CuNj%KPuD|XDSIN>cmMCp=O1lYb{F-zH(>!!YurRJb-ctdu8?){@pwL&m({= zrt)6v-p|b8eWO5qF7n5DY~6ig3L{H@awK-}dfVcR z_?ft2mCOtvWnBwa09_DrtSgBU<1Q}w!6kk15A(^^Qv}n|NpM8Gp`{WBKnFXhx+)VN zS0MEm*=y)}=vgHz6`w?31jE3LV@leec>h8x^OSW_9a=PnPK;Rb7&GqC7T2 zn28bBcjzu21ZEn}^4wtU8DSc-`UN@cNk|AD(+dD0oU1LqNA-f09%_#!^)&zcV&1t@5cT!4oZ&ZKfgo)d+(Y*Aa8ACdhd#wC~WxN2j3Hw+H z4=H#N&#et!hC zG6=PE70Onny1aSMv~4h^Qvx^m3akJhG69TGO3X4%LMMHd&G(h>NSwNuU%c`<8#=yd zPc$6ueX!}?7T^v`yg$eF9)pWuNIc2GU*7aN7Ke+g&`m_yR^570coX;PH{F1mD2V668wUvX$^dc+uzZ_kFPO^UUl&HjaJJ%ryMe>)LY zPv)-|{q4Z1_iTos!IwWtSK;%>dcRWHB!uaY6v9h0z8iN=eh&_G=lA_EKk zDLbl(f;}BF){rNf=LD)PL>?0P`iPuYH-Ty(mG}-=Mj7&(gyWPB4(pnZ&_bB&o#gV&&LX+&|{Pey}F1JBY=)*|poO zQtz7cIz*vo?P<)zCBi%LF|cH;`OB1Ig$}w2bm6Z1UlJvVVrv(GmBAE?d+Ig-7`)=7 ztNdsEcVSMl$XS_kXnxtn)h6oevA?uk+N%6L-7-uPEB<3BA0i$Sy7I<%UxrA68O}VD zEdm#>BoFu#6fUy-3V4lE>cA`;U8Sx@5u7Zn9Wnyz0}E_BDybd{XPVKZcZEHqGwZ}& zKY`EeS%|7CPr{j-3B(c+ZUNR|HQFjSgt5OW0D*xcP1ArmKh-t4isTbBYFb8*qJ1Yo zu2rFVB-L;AS~&D~A7P0(A0?s)5INTCSwi^Ia~X~-V)hEz6iLabI$DfX zlX^#-rj6}Lu4P$WTN0R;SbI1B0Ws72{ii%($T3~WNAu05E>JtT!g11G1N{D)!Foj5o5XT3=9OZ;R@Zt|I z+t$IJ#_LF9Q8VEF#?JmKYKLmd0AGFK0|UbM5UbcI1sX}Ot4w=M{lkeJ3JovDbx48B zm|}YtD;31G$c>ERC?XAN)xVQX2s~I0NTf3fdJ5$q_e2*YcKc%}uRVZwgi^4j+!JHi0X5rV&AdxXFRzdM!IkjgDnJVy5=z8xnO% zy#)kQ6&n*LqtrKaVHY6e870w8!!SF&p5L!wRD**2Z^w5@X|(ZVuO}MRMzqY1WW3_< z03-_V(v?0nJz4{`VeyF1W0_G# zKv|(VxDV(&ua@LYNHEc#Ax~;?e{Um_vT(@5KLf8{j3YCHp6wt_NZl6kvWRsh^QRDT z-R)t@Bf&8yfxtBMc?bout^Z{s1dZt@hOy(M&aVCa)Hji;8`ctlmCc}R=0zhaoH+fo zO_fty;gPo|$b8_YfxIuzal%$Z=qA`&zU$?aW<<~>Smn`RH&V7h7Pr$2kcZyjk7e2~ z8Mj7#rXQ^DiXW`;cR$!gP7g|Pq#!*IkH#SaK1%iO{&XMFV*WgbQbIMipq^dl#Y}oI}vvFwi+{xC-(?@ zx;&Hjt>YLNsJ#rAK!O2}Re+3`eb7|9@y;6a3=!&#rB<2KI?vu5gB`H$gmjnf1g?d^ z`eA{&E(D*dAAtZN!dExa4wRo%c5J6Zo|17>XI+S@(1E?{e1HK;dWirh?RNt8N0TFe z194Y5kne>g} zOPxSOtO9dIFQV%e4P}`bIGdgnbuTdPi0Ul}W*5a*DZRkD7^>e`GSU}qL&IaCeB--mu+&*%L8X*x8pB}yVuylxy*$G5y!n{r6h!`Sp z9c_+g8gIe5yK1Z$X66|AJKD7u?XMhjduV$Htzteb2RpU`CIluGasC_%=>)e?q4K9D zniJv%j2b9?8hl%PRjb>`Ya$j_r!cj}f2tUBS134-%f^&ykf{gK)rlKV0=5oi0E;}O z53#?z3#R>2@_P`f|1I!VfC;t?S>@+3SCOlNdm}6`Jo4`5Lw@tz;3o&zS^mb;a6eCI z>@=8Uj&7G7hP|K~UC!*y#ve4uH!4D+dxa(ITg7+%^r==G2_q@TJnq@y>!zmvB<`CbEGL)X`)DUtV0O6vb-lkK zG!Prevfvk1t49qobuAV3`5dqa)=uF`b~F2BTo4lgZ|%)9>-Q-8SmrQTm8NbK!2amNSCL5==O1 zw-HC(%3uNdmfX<%2qv*KbOooPfa4UHvRL)RSt;WnQ<|mh=jxwzg#yU@mHjvq4P{Gm z0~rQ+3?r(rN}4bUS;!7R*Kgv1Mx$jf#frW4aQUC_Ir4eC(Q z#o@>RH;}NG8O$VWuXU<8)5gtq)R|%yHnc)aXY-|la&YpVushsy z)JMrc4wBCcrM$AP2IZf%BRRKZ>thwqmNl@bigR4wA9b!z|b zYgGbZdVE%x*)Bf;UERntwSmy0(xXR(s8s3yun6Uk!#QnTsl2%Gai2^b*} zt^8|1eLym8yzCJK1%^tzWW|HA^f0!V2#lLE$kH@x;C_60CcPLspJc9FQjalG?hWW- zVU!}$D%>5yaH~6eg&&J2BkKY}Vp1CHJ-tWrApX~@ zRYdIFcUS^1#k-VOhFknU`9SQlJBtodmV3t-9TP~DUOoEy(Kg?I$;BYCPB2qHeEv}b zXX-X%=O^WDX)K_9)9_m8uL%`Rgw%h!s@(XKnX!8x_K#DykD&F&e6q>%!QTq$IUv3I(M%aEb+bHoe0DD@( zTEWgc@mhBBf2L6wiQLl|HVq4l2=_c`o){q?=WZ(6qbAXoX9ub^6HgQshpV*8&3bGI zaWszdbTBA(#|u}7|GEwR&|vQhHrXjXgmAz}+|Uc?nuo2&7cMa>!ev;W8%ML4&uE zJT}-U1w5YDXab97?l6b*3;G!metlWSVz=^|K(?pmvQNI66+MKi==2G zP7UINy7ZNn)(~v@uTfWQdKj!XXk&(@QldY{tE1Z%^+I`)V1k8@5tM*5E1`p6iNSje zI=p&Qi+FoRvCT;B+7L0^MwVJ+V{h53!KW1xTmb1#RVVZL`{?)~?kS*ZWvgE!$lH5= zW80HkkcghCt|PW<|KTXjpl`?9fWLe4XW#_1yUYEif3U9C=XE%!i*&08%ALsXjcI(# zzyySo_***hzlzAWavHsjk3WlX#Iki*QCcxB$Homj%b2Gp%ho+K=Eh={juXZeN^7a1;370B{NDB2AJ%x{Hb`L=Pzm|QVFW7?q z8~ZBDTiR#F#!cHYcGbnB-6m^6#VJLb8rIwt7|MY&neV%*%Y=)hLM&?${hF7iTKC>| ztyuhOY*7}a5;Y|WPrUHhA4#egSL`Bfc zyk=|+OY&WV))nsy%N)Kfxpe#;M=C{(wIe^s-p&f{2g9-Gei8d_~rC`&} z82KxSeM2_zuYOVIU{fNtct=6B6DAN%DE0=K%8-LnTuZj@FJdFlRFP%0i78HCV$ zw7nH2`LK;Sy?As!ev_VHe-Y|)kp+=n4(SeC)_{v@kh%eE=P7-$8X?4Xk6;XUcXsc)R@5{o3E>d%9*x)C2NyNtDp^DRCxqCpURzI%3$MprGgX$=)PYo&J9h_bsm#`xwB0pr}IS>W=NL*Feo%mVx~($C_Vx fS+mn8$IcHOZ<{{$0{_3~+YeQ)HwlOkB*^~&m`iO9 diff --git a/other-licenses/virtualenv/virtualenv_support/pip-1.1.tar.gz b/other-licenses/virtualenv/virtualenv_support/pip-1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..57d1dc5942eb39075d45f7529644ebf39360876c GIT binary patch literal 95197 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�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%0DE*tq%`GAqJ zm?~jSOFo=qzEV|YEclIcj+=4{-QD=BVENLVyM74!oC`Tr~O&|Jp z<&7@)6b?p*W+TExU<_7d=A8Np4P1BUEZ&Ep+0Hqj#(6)+{TUo2fgo^}@b(a?WHon^ zO5dFR){06@m;e5c*0l{m2rjXwbm8eGph&_m{6wS~NrcrVbD{$f?njfkZ#2J5TLN1n z9#0$l8x_J#Wx+)~rd1Y_B<7bgYuw*293|y|n)tX+O?j=Ek;cNlWjokV&H9Y9!?-}P zs&GkLV=w?3yMvirI_9yurf*r-1gWC7gYN^W3jCplz#Yb+2Zsd0U%%UewkXZpIv8P7 z8evwIJzd|YW(=nH(u} z8bXYWees95bL;6r{> zZ;+^iPe)H4HDTLUoW>7})QZskh&h*x`g4(Vopl_6^y^4BjuAkzz_&sQ)*@JkyIBYd zBJjma5!}PN+tqD>xr^J<>6gE3ZKLZN(l;IOmW1xkX~yT!3!0bDIK&(S{r|f&%%@>@ zA#~VU-QWNJ*4+F@yVTrbw(^?(;LJ6&l4~(3(t_#H=Ql7YW|U2NCo&o4aCV!~n>olm zG^QgT-|d0Do`N-p?xdFWXZ#nQ@?XNvn8to-?tnxi$0|2&f;ThFw_Nq=B}q&!qC0}Z z$8F2JKGM5Ox~qb|N{^vJH`Mu`7;B=4mXmH9utiaTQ=F#YI$K=OOjCH(6ctH&A;AlT z;0-*9jfe>)Hwe2eRjf26G_f49G9#`?Y&O+xTd~EJijh8QYtgc8zRXaKabRzpMFQ0Xv{!U)(q^#08=ncu#NZ5SGQWp1!^(QS^SKbJQO5NTTeKS z6W>)AO-sW<@+t)A6tg~2LmeMpH>O-^>ao{sMXv?hRv%}Atu`)4S_io=si#Cc!%@Gf zX=*9|70lTl`k}&-q@BUyW`vpS;cwZ@<=JT2)jqO`4%JJ}m<|nW^b3Q#HuS}IET8E> z!$HscN(sUk8v8lqG-7_R_DV;t&AeWOuFvS?l{j>@^O06QiM%ah*Fv^8ZXYyJ?diHJ zsFr=kI&m^wQ6Cv;t5#ZE!>+wJ94QAlDNBsTfJV!rEHp}N4ccc91WdbV!?8EW!WwS3 zb@db6H?6+`HoMq9Uu4Txyt8-peQFQ>-mBkT+-hLF_NKbK*X^~vw4(OdYp~Uf6M8C6 zwq&^+r~7Vci|Ff%D$hP_wdhvQ=`1gTPrfi~?EhTWh#;k05v@(PZ8<)IWXrB^DT_RK2S=(x8k4%L$i8+DwBE2vm z!v2WE0Ziyxb@1nIaCPY0yve)iUw#_gKkC5_e|LR9?fmqv+v~P>s&)?jE#{ZG^ImJa z=ijnpgFq4tr5TJMIu46JKjyq-$n(UE68y9V9LpVfAnfiY|KhzHI9bduI>u2t*4WUKuu-WBhm0yza zw=OKN*ou%u)jA8Yi8OYK5mRK^eY25F*C@-YT zR+4-yGFsMigixQ$)`GWiSmDoh%AQ~isg@sJtcU`0@AmyzIQd*r!x4CqFRyblf(#-~ z)k2vtx`lg$?6I<=WN4q9b24gDy5`lnTCExQlDK@ds+Z-=BsU=-ej;rev2Rc#r7T7> z(w_J|oV%cXttfj92Ng+8#wk|n)nrnP3UcTr{f?T-H+oE~6?XgLhERkf8`rA~F)!f! zH;sAFi|MvA&l}zIm1Zx){LE8mQX+k!>)8bxrB@|Ii$gkgO~w&|(NB?$>XS3PWQSCD zqZH#o_7sNT{F2jRoqO_$H1GTyaaq#3Y9=W$>S&d0gm(hs)#uV}3NU=S3@m}qeg5dd zbp>1ToYsWrIa>hja<=x|f3@_DEKXy31O^R{)+k&cT^3_a_R7;usw^he+5?dk(2oke z35LYVV(3WyjS21R`kV!SeY%?KcJU$LHO8bAk?nUL&2_<1@HJkIJ=E(Q-AlRf5kLZuZIPzn?xic?HL3=YA)-pZwlBzK6bpBSu|u@X?cjf0+b( z$NSs3{uvB6Ou!5Etoe}NV1Rmb981nex@Ux|Xl*6My%7JL!yo6-l)x)%X_!|d%d1H8 zwcEPdm09WPi9RhE5Qkz%eI7bc`liUmOUN+kv5;H&1`*XIC}i2Fk_hSDy^meC>GC6% zG}y7udB;1mLg%_a{0tE(Nv_K4z%$4!lFni~@F02_*+YQQ5I}j6XsLU&c7xpqS{kV5L$`9q`+q`w@Ehil{F3MJW1Rfp_%M9uTUv z#r=Q-cR8=ts%^<_(#Pxy+{safr??+R>hDwiqm2 z21rV|8I2mAcHdMOc=qVsyqi2oG?I+glL$F$(%yGZh`y|^PT}|(*FDkOsk`fm1_Y*% zjjiS8^MCDv_mj(Vy~%XA>OoRKRL~>>eX^QPZ**y0^acL3K~N{G=Q8EB zh!DMPD_X^Wp11dHdRY88<+la+pb6qZamBm~R_E)YecmA_FdU-J(Bi*n>4~%uxmZUPR`ZaFLpNRoffDkMC@QO1 z3=qjnoxF3UxC2A7dFe9=o(Hn-KnU9Xb8lX?(%7UP2DavJ%_x%u_Tt=*#mB_V$-rLT znQ$zeW`V06-~g7F%=ig;)bWbT3l zaPTu)p24OByfH4_cf#@AB)(Tc;&a23d#>HUeT|CXmL@BOwH)P_| z7zJ<)yW_^W%`wbu7836COJRg9`kQ$}w{?C96YY+l@P3-s&84Dkgtj1emsck*U%YxV zeDVC*e-59XzIy#;C<8-O0*u$(QY(tz*r;DQfrF#M`TI>-)zD_~Z>u856ESVcioe;= zkF~~!4s#wR`@QDSeo)6$Lu$IU#;6SY6%$<}c(G1O5SS7B8(5;$17Mp-c9solt~ceC zmZ08xgRxfcf3lKvwAy-GwQda&p`Kh+%pzR+pC)+_KJ_^@qa+XU`ZqPw%06diTP)F(zBxZ&jmkuRgmse*cho z8OOQw&F*gvym7{cu?$fchN+WMc2U;rw2`LE^kC3U&!^#}6-JMD;i6Gk!~Cn9n2}}! zi#A|<$Zsyntdewq)e7@Q^cwgOvFvnqf-p-Te&quJc+(3Y@fBI#!-{aPtQtr^c>cP@ z4tX}4BB;aH$DLbj+d>}apr`k%d^X0BmQe%m9P{N+&Er!%CywEx`C-t|q^L3K3Oht*~!LCnR2WBKrMNT1KcAZK{)T%)dr!q12*E&|C;bJPu_(adH;c)!rd zy2g6`qq#5ZHdbj^GzXN_z)#Ek)q3}ct@DYeSS1&i}KMGn%#?GIqHbX z^lC)e?pVc)7c%)0n8!7}j&P@^e|-Mp)rm=+^5oWKz;nfQ$IV9garGToAJ>9*nG@|pDkAjKey5lrxJ7mev8^E z48UOlvex}|!>$eZMbTfcQ|30PQ`iSNCVp-oRIR*KAMoR(n--(o>>=*rpWD5t;y2RQ z&%qnhV@D=GXOyv10ZNAM3e^a}zfqVhq7_Jr zSx->p<3@_HEyTm1L6V8WJl9()M3|2mGDAL;;fR7;>-D)(OQqO&AE@g>cvf>qdZ%?N zd=c()itF3d<*Sx4Wd&Xj81Xr29zv~@8!pmc%x<|nZ&;13iGzL!Jv($L(`pH7BPPoJG&Hjzl4 zAt$|UnHPmtv5R@@v9}M;-d(>NynoR9tlIC+u)dcIAHEwu=)HUY@YkZiW=vQwj0#qG zu}DJPNK~L^I9s1nEIuW2hAFr(!x$e{nobPgcY7FKhv!^Zt(jDexldb4G3X5BOP?dr z&q24>3%NeoDxoaM$$5AZ!dpep64cqpJThtC`vF#em{pgQ8u{Tt)E{jVpmg25Z;{Mn zE4cQ)Z-eq)4W3p@`8Jy7SvBN{#v1~kuUG7|ib1W|$dWg&$x?1xoqQO5w5hqiMPuy@ z@9=YOM#BnrG(1X~Dh7e8~CMz{e-|J)o8x6mL0Q;$$p|>SMn#P^}#$8;ILEY}{{LlIGl8 zajd`5Fd-PR{L34Vbm#6$B%$b<6<;|8xWEGihQ!m>c1TmQzSKy|Vm+!oTA>Ha9)~;j z=Y#KOwpdJW$na9HDFTcU!=1)u5`}{$E&P}<(a%tLn`Bk=g3T6-Gmd{h!#KmOIlAp) zYJ-uN1aHDWJC=Cb<%`RDK?xFG$rXIa^EjmEsox`pTOuODhN~iq^AFp8$@Z%4W~Gt` z!M3j+xC7Tz^#m6m6zq91z93~1N!#Q;B3zsS($>TpFjgm9vXLQK*e(&xVCT}Mky@OZ zt{9apyIy&&$EthCx!5l*#uh%#(T_)6vprt#(YA~i$m#j6f5 z$*fIt7p~)RL|w=oX(2#6EUMMjt9g7g5w!tx%_^2ITfJilX{PehblCqjhi5cAtE<_5 z1$|WXE4y02fn~9ZyH%FlI4#GM|pmixF&Sieiz3H}CXV+w&&AK_dK{V7!CaS2t zYYW4{lpt%Oq+0;NL;3T8K{Bzi`;2Q7!u-T);I6F(1CBAK38e>o~LV5=edOMd&|+W-G5nw+q#b@)rvD) zuIq*!#J#UHR4iHRb?}Cp0LajS)#8!fNV7hznZYf9mYeW&Awrz9qWtQiVLogc`$d(D10yJry4n@M%8Mv+O{Q=7vWNG94Ve-YX;OyC?UnPLfnQJsTanZ}&; z25l!=4F|WpX0Jz48XSqwpw~%I_7CsFCix*@7ZvPV%r1X?fn)vWO)&c#?%Oxa@3q_s zw2>XZ8Eco889G{zD%dZg`0>?h=U$B-ywZ=*BNQ>-4o48**f7MeA0ttr-l!Ylx;60* z2ObcGE(iX&LN8PJo|fY zCi^<~dPV>ign39xVolo)T{f?RX$vJ5iMLA_g*$@OsA%?hO497rIAtQJL15ZZm0 ztJ82UFjP-AH~#g+?}+mBaPU=_VhJN0hvo-QUOay@eDoNN4~B1Ey*(K|eer5|&?e$3 z?iKPL!@;H$EofPLNe%4J;Zx1KYnHn3;!fzkl}V`JeHE=waZMOTpFD zHnYzEwnAb-%DCckjuufiRgX`z-cMHZsrm=niE+&k_O->j+o#q+Xbg_b7I4vnv0%m} zOvWoQlY9?Div}t~cZ2onBJHN%&3b>ihe67|`!yPL!gC;;*& z4ah=fp0s|WY=t@yy+sAQkbDbhO=nM+A{6v@*}iqoUgG#RAXQwY;pT4GE2G|uM*7Fyyet7ik^naZUfBe(wo0HcsA3bguk?@pu6LA89 zpL`3MHhez?gIq!U9WVLClinCsQX?&eDWB$&4_LQnXD}Fa=wgq~Lj#1*8eAN}5RK`8 z3Hr+A`G#rIc3ZS;m`|t0qAuzo-y%C^V0+5*W3J|36nP8#CJc@C>mlPaB8^ex&f@&nf&I3&)e!n7QI1olaW36YXPN%|3bZW_Uq3SxwC-!wh)KvIG$w zB=P2C4cfc%27;CdG+wshEx@%!cMVuV#XOWxm4zdL?6?*XsWWb}l4GCg+r z8_=JM4mGatrSiuNOlNx*r0 zKtE90_#n;J&53bv9Jdp*x#AAKl_5`y3!BojsNy6=<|Im1-nPjKeu#1$Ya@fzoNkZ& zEV`s;rTaQRK5VPM1rDa*O7VN|?C|J4GSYxk3%7?84jRy^{Q(CC{GBu}2Nojjp4-|F z7+FJWKsE%9jrZ|Z;}u7+|5M{tKQupHH{3~yW)BkH_OnJFIY6kw{1Q>pkNpXuP&xu8 z19L49JyF!I1lM6^=;dEVyQ9UhAVr8jm>1 zvq3dKW>tZaMKxgP9%)RESXCq~No;@SAu#HJlmw6*?1QCz>5r5)!4tGR&h;9PM61?r zL>Sx{N~mS?7rgMs&&^O6^qRR2_}3c!!-kcnO*3j^wB-0T0}lKvi}uzzg1GhCe&t}3 zBd<)V?=^9K{#&h~`lTER>F^zzl%Khhkx)oKYdMWOq<;N*3;P83l0=RUuJHsw1!F}E z?r}MiEBOm?Va)>{K-AmTCI4NLMG*#X^8p{UH>in>qd-!QF!vP&Z;hZE!V?E`2g~R& z^&X^et^d49u6pJer$ys~7Dm%HGqNU@wu{;AgKxj2G%0B>NR-kgz%*BX&TlCH&b#^7 zhh3w>)wtWYeE$9qILjv`W+T8qgT)Pe+i&(LFdJ0JYh!s+32_pSOt^C^ionE6_{RL{ zN^^YiIz;V;m>yJ!N_a{4>q9y-f+`04eQntV;bPL9J2&6`_kJgy9oQd-?`X{I zCElpzKS=MMEGPQ z4tQAlOFk3iD+~x~w%5|zwQCA5RyZ+dlr;`uzpt7*VjBdv8M7QJW93gt;JFvRi#$J! zJnMET-)S84w?O@^Fh87)4M-p0d}9tJyCcO2K!f7;(lsadGq%ek3}^~Cm^pwNfb8>j zRIs5!ZI2+#I)Im@g>zux(9MztWX3yM+z5`8lS?3bE0Kz3nomff0IfFL8s}4E@O#!B z4lgkJ0?_v1u=~D^na$W5fA4H!Ioh zf%|l{pQMM*Lbvzu7g?G^zck;Azr95b^_$}Be5OnDlJV)zDbvrSHtW|*5@KvICw?}N zn{+(fU3uWO@`4O*4b0b18f?xc`}~M)zH6HK&FU8jBg&gDCXB4B`?CYNa+3|AHRh>* zhsk+m%>dnIJcsi8;S{BaM~D+ zIQ_VE%PKQq!-}}%!*V_(;&Uuf1%f=2A`v*j_bxj9IsJ|IQ6WXTDgw3<&B;Wu_jpy8idFl+K$x;C6sZjg^f zek~=VNgz7d=Z^6krZGs^PsR+J;ei0*1=h@^H{A%G&|kr4yo!8(tA=BSr(hJjqPtFv zzlAcE;zO8bLVF;lJiXx-$tDr~hD}0LG91X3jptnk;}DWI zf|`hp$O^E=Bxf7P?`c3d30SncY4~Lm9J0h7^9`Qmx7anh+8B=Z`x`wud76+H!wv*Y z+p3nZv1}@V`ArHmUHp3EK!h50Hs=bFw*=?&(}i^QK6W@=NHa}HyiZJgJMDyI;^Ldb z)+KcEc}!3huH{9|ZA!C6iaLU!qMF4a@3JQI%WiFb1_$MDl8dT<^DreR63hV3nT?By z_rwt|h~CB_nIohFq8ZLkdC8XPLZ&GP69|dM{@W%i+K(;mSMczq*b1vHY+4(OVMKb` z8a%WhzHHoLHTv3Jhr72i(>eE2EnM7#HLMiaC-hzY;KHXjBZW1D$OKK3X&Jc_Ibnpi;w|6((n_M`(09&&X2+ z_R&W)IWOm&pACaHHn)LtC*zOEFyj=>C|7HBbCf9WOHo2x-Yw#(G242;XA>01M9`4l zkmro(_lV}J?K#JxAo`D-+K95&NZ=S@;kmMJq2a-lBtQ7>gzvZ~l9P=yqbW0jhI)OZ zSQNt~o68Eo>4<|PGoAUWhNF}<7B3|)nQ*}Sr00?;!EnK14$kK;nw8;5DVoYSpJsAU zaTpoRLC2ZCkOqG&KeR^G%JbOs`~q~jOWYIY%`L{`sk8slYaf|8nFV@;ETrXI+j$p2 zj+zrMhF{VSg^h4EoXaz1+15?@P15#!;!j5-!2}6IIbCRvZoO+-(L5Wkja{poAF%dE z?wh*Tb4(UJB+y2Ztj0_nnc)yU-jH9D!Oz-$(7VZ#A0H)q@QPw#aC{9w70OmoFmr{# zIZ80D(wNzE^#HLEzIVmQ9}O4Tqe;TE$^AVp`9YiRX3TL$%M3EGJq3oj)2~RR^wJtpe|&BY{1aD0lf=sHs3Tg;V3gGjIZ2AX z!`JT!YIK4VH4;+{FFk{{Od?IiFJw(Y=$+SewN>xoZbe^Av{~z$IWV@krYFDcV9a5R z3I)t!kiL{gUFVnBJ&B?s5NsecO5=)tlyx~>X|1#vBH4>w2Z6A;DNUFDLf)ze0f9fTrJgL~W-Q;NPr^+S z)g}>BP!P6U0F%JS+}cJMNj%<=)rv?$@-Sf?C#wXd2dy&KS0&jc%ea~W@>n@VAh1)W zAe-g8!(Ap&*F^*5xpri?L}J=(*eouKuIR|H3&J$pZmjD>&3TNA+VN2;;Bhx@?EG!Q zy8lz^y}$pXrPd?(d<6betru16{ZoVYe}@KdowDwqinyW2H38A*CRIqzv^Scx3Y{8jBXojH`97R6LU{jAJY0%>FqM-5q!H`O(~) z;wdBJ_L1CU5!`t^K@|5WR}{LZd)7#jYHDn3w>LQxn+dh{+Ox;as8@2b`;b>WFl&f! zk?zj*sM{6y_ef>&rWYCD!fjTBZQ|H4D{Rq2SEF$i zX?wKw1tjt~Auk``+ZWtEl6m0h!xZS+)OwdQv!^E*JK)9{9YVq8{TYvIpc8zQ%vSZ% zDXtJQEGnyCVr?qd@hDa(nyXKNtx{Y5kKc*u-C4>CDGeBxAwD{ zPZZ9EnFZOg!o?X(*uqJn?we&$(#o5cqQu*EwrdiNj{8bZWbRgn!MTD!x+%(cW6B~v z3|q8?0es6zhk_M%99QKXwBub6wvl=gOe9Q)n&T5M7F_o6=4eLEpHL828~L11)Z->f z@wsK;I*|NlOQc{r>{rXkkmjtUPJ}a-a;)0z=H9MUG%MNqIfUIUlQ?dSvoUqTV$Jhw z&+0>S@LTL18gbZ-ZLElT<0he8P1nT1mv_e!QmQcu&NRsDKMOk@4o+>a!vX%xF^M_% zaWdYbU#34>=5?^J%$i5^HxBZq=*~?zT$ZCa`^R_6R{iTBc?;(i;r8p*f>JEq5%itm zN+1temeoUIpXEl(HWDk5+L%SaX1~S+-)xg79StMRvh0VV7Kk<)|C3h+D3xC7WXd#i z3^q+DwB&jOgQK=e3S&-Hy(}F|g-%}B!f_JqwJEiBU{-hS0`P5g4qvO-rpTS0dXOI5)x|jUw zn1{Pb5xi-7fDtgVEMbO}zB!3*%rLVoD5wg26}P6*jkcGYH_DW=3QVTw2V@1e3HG zjlJG)K!CF~8?!E56@HBxK?U2rpVm=_hMuV$K$Lp^PApp~GFxiU#M z13l~Pb?*OuKPc14!t8YKBnPzmD3ocnJVq{-Qv8Ju-wkK&+w;8+UuFk&?qQDP^)U&jZv_5=m0Ih=Ve^LkarX&kyCzCKqn7!K9PG@r->sum;VVI!0fleDRl{nyeR|+J%#(hsvMo9(vs+C>;TFSC=?kKc$ zbZM6Uz)6{)!D%2V50=HS4}fh)LqI%IhWMi!17KYlSmndW6?mR5gD9}AaSo}*4$Z`8 zufAd-g;VK)M^;ucligc25Sh@x-UacsRKeo-1O+RcJ8a2|@5xjcRMURGeySzD5!`JM^@~ zh7nsK@tTWV^v~!FP0jDwG>Eltv2+k3@l|~JOmz&f%&>{JSh)CJ9lu9yH7y;t^Smef zudb`|Q9-4^?Ls$?t0K0g-?CknE{C+UaH=7@BjiQu<1rhw(+j=s;dGH0VQ!O}CL5)l zr=?|rSSz}~D_gSWCp zm`MA0sH3F{<(kC!7K(}8O0OA*uZF)PoP{7Z*7ymz3o`uhylmlVoj@)m6o5Qj4T(nd z8kcm6+WujA0ons~ns^EqrtcQlC;@2m)uX1uLSu^^avf*vbveD_XH}7Px>(~VX(_tI z1}Sz;ei0VK(x4l8l8B0)UgA?|n-U5cuETlupW`pfwt4wdw2wH(V z`fc3{Tg>R{o+f0-unjFWHEg@ifv`K{)7>TT`0W^o zOY4mhmJkTwk;e(;DUrn}V|uYc>SMCL{4|D=5y%P*D;Kt-*Gcs!2m%_9=9i~AuS?@~ zKvUl!4XiyoOsNHPzmE0MauCqK>9qK4wt@#P>{tod?L_?d5G@Fs@UrZ-NdXfK6()j9 zmT67Z8ZH!FE8>IYj;x=^`j|dMbQ{I+&l;)*?59~$%D~6X982v6$`Bo9@Df z%#qRnveNu^N{0Fc@vCk2p~z9_@5E5}8|0>JDmxZD2RYQ-opX`z22mYhYKUy9Rv%GYlc!LLprL!4@={W{Cc42~g<8eL zuH<5D`OJ&|szKi?sr-Hu=B%p&<`pSR2&?TYOF59$jnKDH*s%kk>pT=R9%7`^+}slQ zU|xrV6z8{^ikNjkXK{NG6lS>Q%147#vB;6S{h^^^43T8Ua{hd$U4Ng{SuSk^r+TCa z#qR;8XSEgzx$~V1xrTdYw@4-FRTpcBfT0z~XqU&+Vnbky`WDN4x<$`(?eUlwv>Y2+Jx*&nNYDr z{SBuuYe?21BGU4Qs48K@tz~3EM-QAYCpHU?-!Hr)T#EP{@5(dEy0M)FuiX>uWM4+a z9zGi@C{T|undQ9^*S1X(5Ra5lk=ch83ks2c#y!t;WNgjLmlgGmA|;Tm_JshAq=|MO zg+g6uxlp;TCb8Zm4G^;(zBp4cHQ=Y6`{2(p*7clt zXH2`z$=E@9$^*|-Mkux;LK=moJq0;@k-2Qi)%4hii+FL<67gQ$w(<~lpY(j`cpJrC zW>##lRcAM4|3X|({uIDAy0cq{4+W!tq~aCJvdZ?3x*D@tM=!u6t$fC1bT$buV1sx$ zigFPrOjOgkcJql*3!`A$2kJqJ*(wq_uf2sqKGVqJ$0&9sl~Hxz$!!tFL#mh6;nv7e zyd!K2W7H!S`WaE(5|*?)u@wh4Hc%W9JjosgN{pXLT?9EUCTTcqUOA^v@i1tyzdZBn zq*ll9R8ChLbpLqfor-@?7}3BZGNSQopM2A8^{V)dx$l1@^Z>K(j( z`i(pF0WlDpdLb0yg4ej&gY^xp*Itn|PFX9O%W!>3@ZWS!})`R_) z77RTK2M=A^wS7>4X|zJl-d+wnM`}n%_6R`>cz7uV6v_5vG2Qi@BMLtkQH?I~25_K1 zVp`Z4>7`F6rSw6XvrRb7nAW+5#eR}d2Jr*^-w>k_4A->da&6{R3`j>o9ZWM13|FW@ zXMq$d#7;G*!%QE3dS}l_baW;~7R#WdVO*quZu35JioS0F?CRZT$y?+(# za`p{SGzsf(7kC}g(N%!l8LUWVt=43Sn6rxY>3_xNw_GRp=H`nb#Gj`!SJd_k+ZqS7 zDdW*}VCK=h##WDw3J14e#r~Qgonp-}_>m^8q)lM@m>jC&7zl%fKJoCh;9o(sZ`gjb z*)7?oPpA_)DXH~B_Vfj{0ci@cDR2Y*MmXSsrh&L@kuQ{tLmTvIQAjc?Y4v!@Z*m&f)IaE12VAUdB|B(0x$y8mO7bv4Tj4^X7x!%|LJS|0tBpAd3qs z&pYDr{)&*D@h9T1j(CBG-e*$cww9~Cl{6~oXdT>Z=XL!2`4C!(R#I&`^7>%NzzPSK z><=`aah0D{BBESz;h+p7t7ZEZgXupzPY8f;n0>stt4Q*S8tYZKeHnZz)@l(&aP>JDe4qZlhHr6Q_U`iCc?HG@MB_sN*~SAu z0D%!ax5g4Sg5(XBs(pDfu!iJi5d|IEFQ`{#Zv-Q=9ogaP&YO<2U||+H6K75*o=>bs zJk6|j++U?dk1C#Suyhs?o70_RclsRRu=$&?8H5=^JcLKmYv(O_P0nT&QKa{jFyJyz z4pV^t4&+Qb?${p66uD-gpMN{;@enpJ^XK@B^O78byo7$lxj}Fk7%7MK5kc!?Z3KHI zP_!9*vQg;G_ZG;qZW9UtM}(I7s6dI}ycQaHgVCx4|Kcp{!)!UHEAbpDOUzv87E%4u)ND5Pl zX*N#tZWqKU{ALa-T-XJM$9zGr&dACLkEeZbN#UFf)%+X4L$jqwX%XHmw8(aKF8KY& z;vsE692DfE?OHAjn08JH)~1}VL#0E5i=|)*(#e<~7Sr+wN~EWQllt-F6c5kZU-77v z>&W@yeJ(29w$C*E7N`6;@A=8c829X3LA||ukaT{~hkP87m`GDG#ZDLW+7`xUCqKad z$sG|bIN?6SBynH{1pr`#1^~eQpSdGOb~ZK!w#IahcFqRQCbae*Mpdd?w%95N*$q}) zu0B|7!OX$&*Ptq_MGhn+nzWih1YIOyutfTR6-_Uz8fGt*4JXt#<%c1+aGfA_y}L36;B7;1 zl+t@e^L6C)7NrT@TWFw!OJ4O6#T%6Q{7VWi3FoLSF}Bx@xe6HtUJ%qwB4fDUtRnN_ zBW!W~C!WeN_ae^X`ET3L8FQXCYAz2f%70TFeN?!SPv>w5r%uiJx6=m$N0MV|k$n|5@h@!?q^JgM6WK@PAPjtVy-;v> zBnl5}y&@;QNpFgP`d9&Hg>icsS0TjCwq(ONRM9(cj*6rC_&K|~4*?ZsDzL{=2tiq4 z@$SDrs`v7t;wm~Yv%8MQNpVSPpmQ+snDG$aJd)@`huNUhko?q}{Z7z1XkM9>TeSjz zi0ic|Ez+m07P38%3*P?9MOX(|l$h`mA^V5>L>bGQd9?Eo z^EAN+)yxl&6?7AX14pi<3?|1WHC%Zktu`q%MJW6BuAp``wk&$j$_SY$g z=Gh-|-;?Yu<;ZL(*^Rf}Y++?VQ{gfpQYV%C_s(AMaK0ujdof%1QPb{)0+a*=c9!%A zzA8mY&dYF23l0F7kP}tp6T`Cq0k;+%F_+Q%ogKr3oy@|R*lj|ydeSwVfl1gr(gR~> zyl?gNc>2?db^<4K2S#aWHNrscJRg~99plQ7}E7Ow+M-B^wRe0|T8QylG zE>~Y#lRnKTnRRyvQ?0LTX7=eW*oEDOofm{A5aVprXx4Nv;xF1*fGTunzX81l5kv;I zvz*{-{S0-XHRg5RVPuKw82D`!c!`Xv38+>jRGr+U&TP$UNCp$|;2c%&%=aAFrIW)f z_4-kFkVY623#Esm&SRm2E*w!ntgeV7pNV#;=R>~N_KIhp40H#4*#`z^r6uajJ!aPx zz{JC~Y$=&XFj zHAaHwM$VWy>g=K>K@7YQno!N=xHi+IncNdeQ~uc0bgO_SJK#sZ?Y0SVvP;(?n>yNU zB)zUNPc`sUNHYgAo&&hmeaA?$-c$Vb!pq~ka&tL76&N1lu* zh!LwsK+aN)oyjLg31_b~H4B%O>O0!*ZNJ7CIUq0hJ9}YQeGWat3&f*l%f0n3$3JBp zR?9xo+xAG=tF^wuC`_K`8)L~1y>nd`Gv{S?N$t&O%tcHw^oCfNc&bcv`9Zt zQlTw;lb$+-L%SxztM za_fvWNu#Z&%HbN@ zi;x>RmTD~Vu|zz%rFzD4OF7Z79Mz|lz*{;y0nbj<7`<{h_^WB%>U>QlTDhG7oo`8(F*JQTR*0I4F%9a7?P%1n5o6AvKaDy(yS6Iu7Q;P|IV>ex?zVf^SCj4rK5v(= z*3ajJ*$=m=`hp8Q8TS4@hu7dtwq%=nqcyCoe2X_>$}wi`85`s*(4{ntFl|0Q2ZW$+ zI-WUb2}OX1R(fkBJ4~?gmnUYJsm3#ppeQY*s6K@MGKduldP#gK4R+%mu~SOQ7J#E2 zhQ601PIJS=u4t{4iLXENeh#U}fdf!V(#aGb&Rp237s8^MI$X*9>AK3moaK_Co#5lz>3cI{@*x*Q8u-d zo$YC$6@6a6-NL-I2t3qhuZRss%vI5;&?f`QA+c~lT0c2?eqPF#Ufd+W6JpKmKV?KGtpfyAeKjl+- zVdsph2p;$;5PW8E!qr>?=yDo--46^g@Jtd; zD)mTq+S2b3}G2BC>&0iN@RX2ixu#B+bIK!Fri_+GJ zp6j>?QqDUPc-3PAQTYX17rNS(8aN;aoWJR$P-uR5H=dBgJh@7(mjYjf^I}q%!QQ#j z7f-l0V)tGn8)qaT!E*NsJ3bB(2_H&)GMe*7h>UTzx;7qhe=|b_e7%NY2OoQiy_Atj zuVL`@IE1wr1>W$pDbD51&9yg@?mAk&UgR|f=_t?7p)a^Wh!~Nmff7(TLK{q=`>WWw zM&y6XuaEyJDuB+DugZ-yr@QLdlP&3a26@$CGHIh(8A#n3Ns|e%)jGEEP3zHw2i)%G z5bQ$`*Wo^f+eK8+&7lt&YiO~BgTR# z=byg;{2{=fA_jnkL(HP=3f5@$T7hriBXXS4#4uXkUOL$CLLwVQ^Hw2^`gi8Q<5^Hq z_2h+A){xRupPAekHs@*Egz;&$KX={o*k!gO=OZsUfzE&3=M^RxFE|Qnk%L>`dePx= z=MCqobT`PxWiXG+dyuwD>s$)H&m~C1pZ83+ycgjLthhC2d9>ro3C~uxP69rkH|!3{ zmv8hC?%^m?3Dw$Tmy@Jd7$sx0LY}}>>EjJpY$R{X%gGiE(QF;r_{QdP8e|s!P0VR5OD`iuT?JdoVbO0KSMm>`-GK^Fyjw=zDD+ytuIhNIx8!;(i!E1 z3@*-yv#5y7lu{IX@B(sPYL%-4ro;Hb7%EDB2uzdxDa20yo;}azZ|B5+cwVYpGc+tS zN;DKS=2+`5z2?4yj>rC&nR*zVo2Xw;`d0>OOT@c~$C(@?vjKl;Db)%IBgGkJu591V-4X7+qliREA~66Fi$=$C+t zSAc>{v_KP-?Z+Mcter>;l*I8J+L2zAqwen$&MxS8g?V<8oPjFb!*#)x>?J+UZ84mny6Y$Wta$ z9}QSMnt0yolFIC>g!V76_f%ccNqhMKhEqVubW7yb>cOTprI-I9#&D>n!q` z?jQ7(G2~|=oA|zCRj8b6XHYN?t^yFYl8%!_(V+kj%5BgZP)BDoaLs5lam!bqh=IGiD@gwnhGb)`GL5XLzjn(VY9V;OOY zr^vNhv|*izYXQ!>M>qC#WeDJtgt!hZ{zPtg+DXtO_yvbSbCG7Kl8i!)5w_oLtIV~} zAzr(w-7Fua=3r z4mO^YO7&^sI)z(tJ;3mtB8{xX8~_sbyTJWnv8;{xl9UU!1>hi>CuyjQ;I}dr&qVTK zPn{JZ`cQ4Il&dNT?z)~hHYSVDJEt}}c$}LzG3J`?Ni$Tvuy;8iEsWu^H>{6y0*0Po4RVJG z+mz$>H^ijI=tg%ME!+L;w3%#|_`#m%W^m-~>%~5cZ#^ zWQUTF;cDME1$&6HtVBh+7#~Q7;zPIT)%4|7Q>TO&iHGkZfw+Nao~wfi&yhdT6m+I0 z9K`(^bD)gGm>~k#N%4CddD}#_3t|Y~ueZ}i?k9yu()&li-8&^>;00*P9ea~f62*Mt zG7Q2FYV^DZMgDg+ZX-MS?Bl@0frJ)g2!_=@Jm1TTh{` zPKu{5klF~N)Lc$b+2^)nK@*CbAKTUbv$z+007=F0RV9R_nE`R-rCN<_;=taQrEKE zU`O+LsoAwekk4MX%#bMd1NS+VPGDt{K_26}93-%iyhM>y&7 zj~nxGf!N;iydl?|V^1o=D`q^dQipOSu0V38?CVNuO1gGx8WVH15Il&^x~Dn?o1(~P zn$?R+v9ujjnhe&*L-eXHQ(3FC6IYc~ZLfEA+CE=SYmHBaF>%21qgDJW8kYb`H3Wr8~Zp@_Sq4f0!AQbgPN5eyluTQ7eR;G^LmhPs` z)+aRkAFOuwxBAT#BFYy}wL=BMmg5Y~Zm8xa$|y=uoEK9hU&5qL>crXLO}euvc?q*A zqE!+lMQd>>p=;!B1C?_0LvbFk!&5(r1r4#zbyPX0F%`&k4vJUh!_ESKK{9^oXJe(J zKMu~q4>ju{s4zeMq)#RhHZjfR)m5g+*23ecoK?@JMFa@OTDIPhME;(L>$V!ZJ0BM> zgH!n(NGS6Wm-T$^`Cx)tM$Z zfl^;ZNcU%D|Hk}_WD`Ro&DYECZsI%7X%1vl4l|4X&2LK{Bo>A1bfmzNoUh6b7Lx)D{ip7z?`WUX1^?9eAG3WDImvMGVr$ye$HhBrw1G!w%e!ehDzd01yanz=i5? z&|d9t5%E$?{>&w_Zuqm%iU}spD-HBOV82#lPxP-21dmn6ZLJtF2=^cnawE>C)GEAz z@t%G#6^euG&*2^FnMlf55Ah%7w#cQ}TM9=l1hELgCBPp)9##x6Q`bJ~bDy9eT>3VA z7Y;G>MlDru#uVQj0xKs($RD3+^-+!9A)ySw6qdGmDD3yjyNr~trbn6;KQu6b`-1B29|M)@UGdhOH{My!@fBVK&}v_P2sORjw>tMz+;#c>13GwrF!T8=TG zc8OEt^m*l4P4A`&3e)rjD(>rI^>bPS80a zL-mQ{K2Qti=fQ@37PlK^InZbE`44M{WKvD1kP`jDvcjfGXM|e1Fq5n}n_lOS!Jh41 zx;Xh=f3wL4Rh^SH=CT%0xK+d)+X}4`SpRku9Xn$eqh|k^ov5rQDkEs=$2)Jq3UDD+ zJXLc7aJR0|4#a8`C?&Lby?3#~YX@ZamM(!tD=_ub*_V|VX9yY<1t=&Y@TgX7j$z`+`u--W8!{ryRsrZ&OC${GcKk0*vn03@$g z5H$Ka0H&}ztwDeJ095J_6uFtp5f{=3$^F#qehg~ZdpLN2sr7WVb?9^3Bf)KP;Xf?T z5|T|mzd7B!d=FgVpY-&6ynb(8Wh^A*O#A*E9K3~Q{AN<{<=_nLWF+Lo$jP;<1v)OF zKL49JL19y$X|hNn*Aa}p0mTyF8YUIrzwV904*Euf&0;O2lcI7WICv(?^I-KG#m`Nc zL1zDCYITV~0z)ABvzvVKSup#{MfTAlR1XpzO8hjk;Jd+xXWm|hVPBZ+@%I!%Yt?evELKgd*fGoCGm4GV;>}|TQ>URQdd_qWx4kB| zeLqo0-ITf6RnBZ|L*}}bJL!UQWh|t&hLLP`E}q9%5D*s&5R9kmDr~uA-Im2YiGCO} zHeudU3Xclq_FdEze_=?7Q%HMmxM{qJrKq1W&_8REjdiwJQjgn!6TEXGHi!=|JAYlk zzgA8jb^96Q&;>S#|Ry2;C!3iV!8ejqef+@AhtPuqyFR3l+hxW?e#^DN0< zbEg!|!_Vu44a%zRvH|qH3v~1XeA2Cf#90&nIARN}D~wUu=UEUm@ybOBNiCTj;3^Und^1dLy6g{eZ_u97}~_`p@gv*ZDWZ96vT~ za&FCn@LLyI?fq3BumGoRZL4knio^@~Cb!h3xGWPQw1E%JdYS#3J>gd>p?8bb>%v-) zv74F@`MAf%D?96dYL%UZ5f;2C&Yi=Jw1zf_W&+dL@il6g8N>z~P5s;%_u96?+P&VW zu#<)CiVOJ;|9(AgR0V-Ougp&Sg#S-x^Iwlw{WFJU^RNH_`@gHy|D&^UGPZE~uT82^ zm4=KxjvC^1+Sfw0Dqk}7gkz?A70EMaOd$v*p~EL|Gmf}mqHz$hJds?qtEn1sw5cjn z!!uMNG#tCK!X~>siV9Ave5PY=1hk6%C{M{hVDjn1!C>si6}#<9 z%>>7kU=c^N(`13~}6Kp9g{4)s7OJ(CSWD%<9 zNLxA43u}u0>8WnXE_bE(#-F%)Dv+hB0F_{qO4{@O3D@tact6oJzoVdb2L4DtDE5s} z%pYnhITcEHhFxc~h&5lx<@rvXo#&mC4OUfer{>bOOkX`gVAD-~FS{YN23y&dYu4h4=d6_&HM3)xG7+3Lcd5+G36f zFwR4@vE$0?Ac)AkxgKxu%1dd?tOidS??_;<$fVaaeNKM2a}3D%0NWy8jlKIeicevF zbD=ktFim9Y`isis=?)wK=FZMcFrYzhefkxkozcqrZZ|suW>a4Z5Jp|yCHNt-PBm|e zm_3;Ph2%Y1UN?80#3(`0yQ+kgu+8SGn~#eAJ`|FoXid?5B(yeFzihf_VuLO+6GPQ% z35rMs*>3)kcToaE8OG%>7!l~sbT1^3Mh%4B=7Ynz;i=m|^1!WEm5kDhAV~U^p3vY5Y^g&tJE4!91J)p%5(Y($@aK z!Br7;X?-;c9e==3WNlhl1t5QqBqs2r;VmAEzCJUe$2#KR5>mghAdE`iG*P{zk2Y~UKD=ZdT<+;@2;S>Z!u-KbH@T^ z#*HtwE^R+S+JabqN_8Zri{yNWrWhj?1fyjQc3-DsLQ@)9!5o33T5uGy%C3gW&HeLv zjvh|^xEk5|F66p#p52{xrOKl}l|i^_=#t9v3wH6HYN(12-=2y~D+Vd~)-;VLmF8La z?w7ELx0n&Dq3v~}aGAh@@?6nyKx3urYhY~3d@jMy4;xFw!%x>j@YW(i-jC; zEpZ$UX&MD-6xNeK3D%n^wa!k*)3_9EKwD78wJFrba2L z_MUcU$6~*M5uqJb^SUQwh}8;#x_XMIRc>456SHVQ!`va%Tr@akCXA0tJrA;pWacm% z>zZ|%+^t_q7vK3BWb6%0YuTzuA*z)&&V0)giwu1nNON0qH!IXM{PT-cuTpCz?$D+C zK;t0&l|&FWE<)eh2DGRU`?XBczjHPqMJlvQi_Dw++5>GebNNwUS_L4fML|Df8Qw-r znsZs=Yxa{vhkW|gFmgxRehmJy5F6<&CWQ31yiJx-)JujcQ+lugGsYJAGmB9cOQpLU zbHH?pB0Yhc3cEiKVqDEM1AjAHr^DT#+2iUGyrrgE$C>AuXQqoWqh8dM4q}*UO^x1X z`xU<-8E`#~PVoE(HytR@SYmRa7nMSo0uTTj=pMBhH8)kLe+PIks(njoun##BiWc*n ziE>Hg$UC zogslS@ywmsEL2=xrM(Y8+rPXT|) ztCsN^`w8Vq6!a~a_5JY21T@hxJ__hE6{c+^!b^(8(wLBuaH+9x=$vY{3#-RE13Q4AlpnWPn{&1r)F<(cQs_eG>TPo^0>?z9l&*eImCA);jt#Ibg8Zv=i)n}@|vtB zQW`XEOB9Qxy-PX!u~f$l`d-t%0lwb)ARb0Dp%J=xLTa5a?yx)~v8evn57OznGm4~% zwq8D+bSW{nQ%oY0kwgtYn-Gd(79TUvij>c!oC}(QS~{Su3UKsH7ik~FaUn8WEePj? z1uPb9MYdlBHS`i32mNnXf$JrlFCuF^b~X?RTN6yO z>dLDAyn@|GATCs3@p+TTDgKhn>DV zm?i_u0JZ{S1oQev80r}l9oWA!V`cMd*ekn^GY?}kVJf0A+g&9_(Y_;tqWw;OH`@uU_;SuO)=?gQfGD*sA!0v}x&ZMa9VMX23)h_%9R1 zgNMOAPB|_GyF;!-_y=#CQ zrNR$q{oPQL)TqHKTZ77lxQ8-Ppta0-=&RIM&|GCEy=yngccrl>7O>;Ki$R`4PGnl&)_mPv zR#qH1L50yBS7LuHo*i*nzF!n`gZ9l~0%@0c+qnk+15SZPe@d=*_tJIPLzvd;nn&EZ zJ0^aGF4gVIkcH~B_0!rD z(giNWj);@cf~)FZaGc_*NCY%6Cq+|_GBs8lSvIdaGdnR`_&Q_Az~P3lJi+>XlQDUQ zOtXu*wn~!+uaOw#=z%op9xolGC<>Vjew7p(m(nv3?Mwr+EQ%&?5lsd3yFSRnzj8~i zNSE5wCwUeHXE+)dy}Y<9OJZ1Kc6Hk>dv%abL6J?2KWe@s(S)*^6~m1j2GZ$Drdc<9 zefJhlFe2MRR|BCp5M`6xyPXvg53nj-rEHuA(TwDD}q7e2_@>SR}BjQc5=f zT0b>CpT9780`U8wDxq1W6NlQi;05P0ju^7u&Jm@b0G4w@3=;&5f}*92idVcj0!FhQ zGn7$w_ta#35Qc8`YQ>(_l@ZG$YBJ+^$>k{|q3o#cG$%clii8LCeCa?~8lGO#wY9@w)H(sym~hfSWX_GnVSk&0V@VE4lT4KF#;` z{YnS&6=|_PVJwp1p^r+$E8?Laa)@b4YyR9>aW!`lAQ9{D0;;=3LphLM7XqG0QKb?zrY2#OCXEIhOslc&9P$?Ds zfc?)|FnzI`&IJ+xKnDH)6f!!QINRC(_b}L`KI23zhI)qZm5m;fx18|WT%b#p|VgNR!ZiBsw^UpET97d%Rm|FUCu0GFY;Hi z6*jMQd;cAEv@{-LUY}}Ti7*@b?%N02vV5qE4z-Iabye3ai44a_AZIJ4&{DNvUw{$s z!$F@@QyC`yw@GW*9-M)bu?vr&z)S;+n7WKW#0e?brjJ5tQ9&@}Ss1%Ajt`dDy!g;G zQCXETSxi#Fu-O#@=I40aJpzXKOpCz8zFS4Kz((85sN0+ECTAp!DP(uFE+VO~XD<&s zK^p#>Ev2UZ4o@xITVULgBkyO!4Y&JtIbW~R7F0Q0^xfkn^OhpC@9tOcHlnj*Vev)Up5~ zRa+H)yw^uujYDcMnF!sFvOIwmxiD4Rh!?wZQO7+2Aj6Y^AOv{B06O<##g|?#W|3Zq z8#M$~`zL`#ydDm16tt$854J$RBzCU3fIge|BBaIF*-I>1l*@XIT7syHiQdd$gx#tntw5{-T})yhuCWR^pRw3}*POWPxS~Gs~wQJTA%II*ine zG;^Y%J{8e-;uM$R>#%{1G!8KlZGSJcW&$3^K^4(Vg`pxKa>OOh2j&9FCH$@d3V0r% zx2)h75sb%VOKf-H8}|2eoFlq;DJ!~Ua7%DSquJ0{?YK*x{EobFl$^t{fWCtG(Tve6JWCu| z#|)Nrs63U$o%)^A(kNX0{?ook&g(gBGv(r>#5w)lUia_(7PZ5GJAw@G5gr0dJw4u8 z;3p2c4clTNZV>S4+u5IKr#YykVMGr0)uIF+`(0j8uQ4s03MJImFQwu1hS(gr#OYu%vjkv` z+Ja9^ku6j1FI7azs*`8?*6OjK(RgAw$lM5i+&_na8?Pxol46=YF}z3M0K8_O%$OY) z>7;l-xJ1jGJvuA+v=W=}7(}Y%6O7C(@vU`Xb=55^E_t8B`&2C1#wDV2`RZ*MBrPdg zy#xT9!F8uJe|r;{CwJ;oc-F48n-p9e#_;}eyK31__@B!~m&lI6Y@(W4T6dCHPA1Xg zkqufyL?@J#r_96*^}n2EDog1GPJebueg}psOhj)B997>oi6xSgvr<`gJW z`bXR^zanv}4@Ya2ROp56wl`^d;xK;<)0UQP51BLw~FqDI)LI+uzvN zc9;SjHet@mVCj;i+|tjn09Olv4B1oZle^W`s8!|jgRgpwC|u!#a@rp7hsf(A-spC zAd2wC%RJHpIt=4%49^zAc5!KMiH}XwNq37Bc))kq?IX&odsv@c=kiDI=uBye=1e%Q zEoiZ|54`rCNeNcJlbD8=WS!jp`c@P zyX6qo;k)e+y2Gftccf3K5fG&gL~>`}R45pesNOlh21zxFC0nN=|I|B{D8EZ%c&^l$ z7AY#tb=jR)-EFM)oOg$BBoB!?aPjL;_PnZJl&56YOT7P$BLD`y_XBM&osnYU{KIEo zDaquKcCWcTtMHCa%&n;OgUdo;?OPXz9H_obLVm4&xgHJY<}@=|rWW;dJNg0eWzOewXeeDLzhh^vArEJ3+9V?IK=FrP2FZdxfLkpO< z5)moigv`gOwxY<6PaUH(Ol+=0Un48zAOn-`GbQWJ=<0~K@_QN=TmE8~l!@#-?0ZS% z@$H64)9E5hq&Hxb%ep7j%B%u1lXG7{*{l>jqWG>ju_6)Q-MY{Z-|OB}npcom8n-@D zj5d>=T^^LT8hJWFK`hbLvdzM z-_qK)%>ELl0DVgd`Qb`5N$kL-e#EI6ex|@>A*64kuJOwnZHY(mtvZj>vf=(DIJJtNzA6`m^1Z#8GyR85=9 zRoE@x|DW+hD@KVcYvQx71qcA(;#ZkK{J*Ob4F79)ujgiAYhnA}JNzycnb-_^gsulF z(GE>ON`WQSuFAv!)ax7CJY^ zMh}WDRq`s`2NnAiNy^Lq)?79?K`H%$h?~N?G8-_LW1e%Yo9ox2TyJOq7olY`YH8Zu>uG;VZ3-^cnJbclt zqEu`B`zS$|2>JogNf04}AUn+UtBcrBsx)&Z5Ux9H2P+C48ZNpJUZ6qoeNMiD$~?+U zN^I~Mfk%h9q!0WZCMk;z!YLFM8EED{{3KaSa9*OO#Tt!&d^!?)1s1}_1FlII@9}dU zYI7N^Nnd1e%b)AkqHd?s7u~cV@PeY54y5twhOvi4vQH_a{H9?!Fzh9n{R?Lev~HXG zq5U>a7g3V#-DlX#R`c`zj5jjV92;2!1atvL1MmWl{Pe)o5d++;4kvWXPLiyH1S5?k z?Oz8L9dulo$=3bo6xKa6@GbA~s32fqm$Xz@*JjB2VHGl1$#nPrVA$OybK7^jl_D3Fk4$RQc3&U+uiI4yUt3av3eAOGOtM;pYX4U>EzW z#00Q+a~kr&@On1QLhgmEk~cBECAm*AMdbre&s+*3er$8J4{VPOkH$%~erRR--8#j_ zlz&_JrBoshXHO`R&SY^&XyJz9{>{UH^%cQPGnWSd362R#8c2#HCcSkaMN$n~78sd~;f}(f2?UF~mJmC}jsWPU!;c5hFf6&g|lz3ubL~ zr8n#taS?*pT$b$eHo30I5142+nUn%HVo@^$BA04-VZ6Ni71Ww^7(Tmtai^}K?#JjQ zlo_u_#XgMj+5$E>6kk_YO6YkHjFV_I0d}3?iyn*GcJAq`5@_k<$pGm&_yZBw70a=M ztNO^srmN@1O?>mm6ebm6Id3*xdouABk*LuSSqU1;%FL%T9dxt$r{0%O&wISk}^E!lFwGT>Ly6{pMZvBK6$n zo$>>9c^sb~v$3GkHw!}gU**`0gi(_bR~W1HQHVBed8z*vsD!`YC4|r5%V1lnkKZ}C zc+w*;kRamlOEqY$%}OJb-XE82CTsF1iVRjC{qr8#iW!8+&IDvC7D#_djx0>saVi7h zFPf|P75mFzuH#}C{^T_c8Q)WDyJk2A2++4HU2%_C$n<)mFDEk{=aAmpQh*fG?j^`X98b)dp9 z>;fn8NPP?pkktRaj))9e?=q720MFq6hdsXr0pFeS)U`kF!fJp8Wi1K|@mE02a~NmD zMLl(_#PA&?}v&Gr4A|UwOO)e@O0^ z0gEH*n6DVC<8g@fjtAK8pl61Sb{$qziMvE?1}6oFZ(d`u)u4IC4oLMBJOyIAWT_a@ zr))5kBesRgbkx%YK>eye0YjUkK%0|lcFg7Qf?Zy$bBTE6()1VAsAG?B_hcE{PdX^_ z^+d66jQ^vILMuVTJTOG%6w2DB48`AXiB?SPeTGJLsT*CMc)uCW^+2J=Oz9!Kv>SPo zI*^MqhBROwFzM;mno>0(J8g1g4k+)q)JyD+gf1rE^wk`&?X#2g_qdePM7SD1DrB*m zs`C9qnJnBUxOvca4j@J zW|7lT9NGrK(85cJtDhAS=^5dRnU!pXM4fnO z53V@_h2P7OZ+g`)<)bIQNhF)FHl_vH8?3)fVAHqfDpd>xa#J&?CJCR3^Hj~#wY`eS ziNiXhHp#lW7w4HeeEgNLdieO4Bcx=TFP``>VQ)IAD@AZ-m4#JN(6i%4-C3yj z)-={e{gyyU@+ui`%)fQFL)T$;2H-Oa?b}^|>O_>m+}kcs6bvbsQg%y5%)_I*{kQs+ zjcX!o)YBt4->czetFyysGvqfATNxU*!zi#5yXdJYq!6(d5~ZYb-IKB^o)6H%iEBg@ zGvzal+jV$%X!^o&0+EACg7w-{<9;2WPxSGnmn4)On&gw33yY2fFqimdEB%3xsYkS# z@{wEcE$pVV&!vK?>1v6S#TsP_`)TV0KGkOOCvoo|*Odi0l7#vEaplHe`VeGW!RPhQ6;r==36d}IT=r`C4;s%XXG7<16m1y+x0K~B2D zAjl_{W+YfA(>dgUm?x)A&SH4jDE!C2;D{)2QbWk@)f;$GU+~iPxX~U3WzWYrN^O+q zbU6<%@-KBSFHo~Ithc_dDktBLl967N*A0ijO)D@MOp`sK#4dXsuW5MX1-u%G^#@pE!p*(O%vRn9*nrr0!lZ2daIs z$v3QZ17)dTo`DUB%FJr?u=;8u+G^vxY^g3%qlOzBv}{cA535 zH|u(3iDaVlJyu>A{nU{%)WxhA7Rm8v{`XW+?FK=RQRsL3-K27BFH~cy45i-E8e*&n z&t3A>joAi4tZe0rc$`tsZe8q`z9($mcKQxroaGbcN*y|J>L(=0J6v;ZM70y#rRQ|x z4^9yY8pZPk%awBaF;6mRkjG82i8p=qqd~0D(S?&Uwui=7B7Lu`R@-M5d^e4VSn%cgKu7ZfYEwV}^%PM-lqDU(WT!UeVxgFKegoCTwECKG8e8e$Z0=3t%Exi| z&#aISwmJXK38}#i2*l!`k6J%JJ*Si&zL#KQ1A1a$F8j$l&-VZ^b;DOef~&Q*p6v#L1H z#cO^2n=LvW`iErMH-0!kBy)0fYv7?W6SZCYMttYH3UV|^k~FcPep^d9^HLGTK>7qm z676+08wu_f&)0sz#(7<{?4+|$EbRL5-x9cwt#H5tN!lDWKN*kw!hnDu`jIB=N%@6V zLUO2pCfHa*0c;I>>#NMn#z1vxEVDJ0J3T-m3SrJ7)^=!YyLu-1I)_7TZRgqw@gu*< ziC>XruGaai^83GP%>N1A;ZWd%y#B04SR()d5&WOY`+qpQv5n1tI83vqvOTUiQckz? ziYq+$=0kKFrMzzPGJD?>1%(#g%-0d;|tZ`9>u6a{a-K+LFNG z#L2yx9<`o{?u<2p_8_3nKjIdRm;H@FKiFq+nMTBMZ$bNH{Urx+=mpQ09RIv3{=<6) zi)<18TwG<6-t6PHxgH(C;82+C_PGb-SiJd9>aBMM%$%6rFs@osRf~2uA*ybc!k**F z@wJ6#&i|ZJ2~f{61&MN=HTIE2HX+*-mL7?NCyG;ut|3-VW00;M@Rwds#8BP5Rv~s{ zMb15G(0k@5LhoA_Ia&q;-8`Kl>s5&6VG&5R%n(~8d<-`s+s4_Der5Yqgga;s#ApN; zON<5=aic~fYJv+R0tv-|h#vGTJSzT`@_8$?U#8Os>vYPWOzNK`*&);lFp?3+n1&~R zh^FYyXq0;SW2V%dlUt$|qzgWF&Nqj&*H>n$rd2ns=iG6U-mon8aL}VL0<^IzEs~-8 z%feAZXr*nFE@sbnN4TJ`qJ>BBqA(c4>6U&0;<38U8?DqE+ z6CF5I_Vf$Vh?CtcrgTt`?lv!SzBz7!^G?Bd}<@%_?@*HbnVEDQBcQuLLj zQqU4;Vg4qFw1hOy%k5L2I2O!oYr3TH&x?SB$5`&WpE2}0tqf{zg$Sx5-v2WCoYy}C zhEC(Uhuqz6k+ljUpLhdZ@nzgS1C{E3OGe^md#U@Kgx+7p#KGi@KYSoQdvn4w?u2f} z{TCZz?{B?={$<{YK?Lc-otE_MI{oa~_8^fbEPBxz;?aAh zX;E)J%XwPsGRo00#*)m;{Qb?WZr-uDOxlhsuWTLZR-LyxQr~~>l0+E`(Fw|ovzUP} zi%r7l=)V?a5e+=}+MpLGy7~ZI20@epY0!Kxgw@ZKg2vjNt|Y)F_R!@mIprUhT@LVF^wq>)pnGd=44w-A;AWXBJ|`Z z0Dq3PL^CxkFusa1L16}nc6jR52pIWAf;ZoOMJLWZp%$QIUo9cEpiS%pjENcx?+MkV zKWB9n?k={`sdnKdTf|9Q?2L@bnBM~DFaCD1Zai4& zSPbkSMi{Z9(I?J81m$FX)xuqF`)*Oj-_PHoPv^%19Vz)1xu|)1?XOOQI96P-lHf-y z2$p8z;;h)@`OLo}|Gx3Ci`M{>AkAuv` zl{ZLO*SuVGS`?N~;EfGb)jbS2xr?L8R$&>R50eHzj5AIH^^BK5aPzcDJTIsz$kUP_ z)@UfBPNB{4(6$(i3`-Ur>5pp6V6JqhSiXB3Nb22ZY=hTQ>+IK!=D&A%@9+I$jI`Ur z-NHcp{&20Abis;)zjW6QZA;3cDN@r8rmj?GhJG2VEI5tqiwUBfGw!HLVPjpQoRAxF zQF1iHhDw*<8$>HSit3j%g9zbB)VFIev>V{9x<;w=%=n6Dxo&X?rF7!_6}F+T zVn@YL^D~|9EzLPd%uFib1HLPT!~1n}W(PzDCWEt+HXQg_5!sY{qMvMI)&J^T>QB)fQDIln53q z0KEU92OScES9_a--`)!wtpD#{>W{saq$;~VzlYPiY+uy-IkL9yY9PltCf=PuX%PW_ z6WfIE8!g6$MZLV#7d7bozW@VZf@_g2=A`j*wLL0L6@VfHDNu|yq-rdG1Fnf<@1<+K zF3<;*e0ZYIy_|q=4xqkUe#}o8k9OC+7Qiqq>>BRt2P0_DwOuQUUW<49LqHt^YQo@& z-?eZRy9|pl%f`KW;u7E7ghL(}JK5!Xa6e)-;tm3NZKS$72VRTs#^e5N4}GS9F<@pm z@*qq-%+RRaUQ>#6e|f*o({JoY+B_1t5qEV;&`eL7)RHI~CNxBW22X9L;$=f{o#FV#D$`)p$Sz;TuLGQPg>2yu`+hwM~{G2zX{vv9BP| zzVY{xVIUdLvYoacteXsuarZ7C!v0V}(Tp3c=MJ3^1vv~ZG>S0`H|c8$RobR~lR#Pk zz}|3>c+$u2`6(2Z@HeoNXcPE-MAUR~-il)}P`fe{A0vadufEY{G<<+W z&5ythl-uVWs*5#$(1)secuNv_MMuu2>OJ0Yp%=WD{v1Po3Py_-ibe|d+q~Ap%DjL7N&_$_x>&onKAMCH9+dl%(Y~8@SMSBIiE-%hcmjVKbIa!obW(KBz1v)K3m+6_3O%P9KL~9#W%alFp7ZzRgkWgGm~F}*`7Tq4fb%a z{B5+~Fy(`w1jR-}Iu^3`bYv)QFpw%QO)2koWieOIN|^YqYKmo_TNjg|@n9WjO?LU~ ztw|JL!263KTF&32d%4g{xjSyAlr}XjJSt`c8ox>AqgU$6=YP6#NF_z#RbYOew%1oT z(iLDQs90UL*TS#Eht{TKCmL|bY6QCmUR`DuPL33yZpZnaF{okjdoxZK9^8kTr%bA$ zyAXJ6oXT#gNA7DewLnG<{n2>H#z3LIpY#&25d%zC#Nz9)T6JT}A2{up!HJhtY#syH z-gDRX~R#(c=9vixP3-ry^4YHMc74~wBNZS%Y z&O{?YJ!&5w3)dW}tFBJiI*<&Dqm1Pad=|ZtA~u~H&#;OrvDF3cc9&0nBN0^jX&(Iy zUyv>pwYyaPqfZ=7@d{38Yu9383B0&XLyMOp-RH6CTX1mE!2$tuD9GQ;Zz)o}pBAAv zzxK@g0k}wDI|tfaQ#)`u{efJ693xk0=rby96(@hWEUbC0edIK6wvfs5r&2tZ(U3sf4L$z6R7okal#1ZHf}CSI>5qs`DF{o_1@aj16QXQn zLLd7tMD@$x$o|rDpGiUCzu%J{rqZJ?>}NdID0wkxFg!!=v1Rn??M+f_^F1J?IgnzV zS&DpJTG(?WIDph$@&_2Cl9!CKJivjU8~oK^Xa&K<$KWODq}*pDsZWLe6iw=)(EPdX z1ZpLLQ3AQ-d2nTFS4@Ucj@z#Ti77GJ-sj)Cqrd^j5U?32pKq#{_-P^2dM?QjXv5qc zY)93DnAWNTeZ+LWAJJnaHedPGP4f>her27~EHV@n+Ia!uz9tk_YA^W9-pn=Ym3UQ#++vBaiR|_L$ zFSDeV%Wn}PrjPs9D}Y4QDJ&Xy)Ff5acz#yofcu9svivvI?&P9ce*+U`9pYR6H7U-F zn_FD(Ivz^v4)(PZSZq^8dCYk@LbG)HDC+iKkvQ}Uo3c#<@xeMsKCMYZTY@3JJCge5 zW~xJ~C@LD9qrV(1^hgn?I?e7>XvThTI5ylky%U8w?j1HPFmil;X?(A$ODf%Rl^Tpq zekTCrY|OZrJ{O>94MWGsUm>6q4zvQ0^grz#oCzTF<;S`q|DZz~z=6AU8~tQ&p5?ky zWT@y+QJd%@7~rh?ava$-A`Q&*k|d0gICkB>M}})PQ#n_MJMS>+4|F-aV|sHz2xb*P zsWEc?#AA}M0fl4e<#xn{PtZoI_Fp{b;KF9~{-H3Co}{@Y8zNG73YS>OPI{!<<3Pa^ znM>46B1fW`CDMp6*vBG+`F<3Pbv=^ck>{pDRv>yRNw6U4RbMgg2+HdCV=y8^qa_Nx z-P}+_@fJ(?#ggbMYzMav?&A84r7zqUeGV)yhf||0ZbpbkPUST3$a$iP$*Br);!J7t z&V;niFK)#rTEC$VP(+QSdS*iAIA2Mto*0%z6p_7FG<*-Ed3I63zQpZ+a9c_0^%u?q z5nMSJ#ki>Y&iLEea1pAD%YKDgbmX^5cQ=}Lyjf5y51@Bl7Du9_izh1#FSzY!_w5?1 z#a&s306ore~)7*2^Wr6ZNX=Jk?8D7%l9Ot5%QSQA$jNs5Cuma!wPBVmo4`Iipo)NB$Uz3s)^mw(LkdXR*q3VdM~ zxn+Lq5y0CDT2#Js7Yb`L?)UF&6tTAFQ%YMVoBb$dBF9OMHAf9T-i;u#Hs=rTD-TCc?0_y!zE8y` z6p|vqx$UxPGB#zrpTy&ClyQdG;I)UK>ld-Du^%L=u~3=+D<^MH?^NAjK5s67vAq1V zSx`7cw2b&(NdujGM3nZr&k&5H0>L_?)&RX|3)sbBrm_WAB^Jsh(|A8H2Ls;^LN;1%i z_vP%`?!gVAKn9I*`GSNzcNZLSaN|r43rH$AkMJLv)QVV&W(Y~3%MTP)w#4cT?Dc)P zzRI*0`~pJvx?RL`^9^nZ>lBU6a?H7R>R1Axd|w)r_Zb_52?J)iaH^5uFLP_jt7ICF~dsB>EESGQMj|yKyFLnMK>aL z-EuD@$x4=nmck5{RRkl$-O+DnfZ@875?)YoTwu z3u<{slDypMaFI~_2ezv02BC2%v3D5#yukWl3?d~VO3==JO7*pRpp0{WMm*9O5Zm=L zz6q?|K7L_*7+&5Hu{|sk>oST^!V5zvwG^9m+Yx+^bH0SB6cpHQGcj7s({J63K;sga zipf7on^P*KdZR4SQKl4V?2w54_?Tnvv@hJ1ze}WeF%}dG#9_MZU1R zU3H3<;h~C^d0#ai^t2tS5V2O^>tacf@aL`L&j2pIQK~^1Xo$9h*oo9MAGuP#$qcnL z%vw_e&aQOzn3yxBrKrc(nqVxMbcRr)fiaOFkU&qjg0ioZ98T_0C)8$tN07VSF{Dhe zxczV(H5kv%qB8yGa_;OeURGsj0uEuDA*b<%b7Ed8`Tma^!Jf|zk>@aLxG$Jkf)211 z`8?~ifGsUhxM=zh3$)a7LsBNdlD_gG*F#!+e*&lIoFj7f0B&yDC_-A`{`;mV6yj=E zloS)NhCI!I<6tE01?ik7f@4)*T4*+htSt-sqSCT5&Tx!Ui0 zk5%DBi&dGv^C$xBw&))OWhl&QiXVxWELt)6J}HVy4^OJ~>om@m*&@^*M1YD!Q&aj? zcC8wTN^bV4dbU>QY7p+|;!bl4`uZHP(l+^uVzLZ#vA#v74MVdcE}_zmR2MIX&onES z?LCKaIw-gI?e_Yr^M*mY3~|^%+R`9rwhu#v=ECzs{5@=@Z=*!ZH;D#y(Ukr{NWm9D zGkdJ)ZDVp&o5C%@fA3yKQg1@@<4~6+7b;w_UAu~K4T{w704PFnV70DU%Q??1}OFjt-46@c9 zYnC8vY8~ON{vY~v%KXnTIiPDc7U>Kl%y?m@u}1>JZ~^pexR&7Pe&~Xrb&GC_M)MM! zBPy16l-TZ$LO0GV_6A9B_EgmT)BF+E{Svdkji}zIz9w2Ul%;mYJBZ1%$u z-5=L#VZb#xlFAj;eLm@F;mkNJIQ56^3H8#-6=HaBt=Be_PI}d~ojMd+q z6zZ{ei;okegSlN=QWDMQ(h4RRs`JTF`{~SkNHub01>0p_yHyJA^K`P-iD}OFP2h87 z_kBs$qTg$|N4k>c@G^m~MaemD{0`#`r|}fJ;R_3@Qp&AqB{AGEp#@Rbw4c^BbKknk zol9d4?cai8)%fl9)e${U+dE|K2i7Q&gw+`kQ<3)o8#FFzIDtI1V$e^Vh+RtYIl#LK zvE}h^dc%L1L;OR#Qw^4h_J&>wq6a_W5y=Y5<$Lgv@r6Xc|4QejA{F$Uv zTXTua6QuPSUR&=*?ZZ{pxr=w9N+DiR*R|yfz#W-W8U{9O(W#%+;g+#O1U=CmY3lot z^}`FYmCLMDmQ{~QWzx0jI+gb2y`YmDQ%O|EcuXUtVzEq0AY&sVbowUWPyku1qAtRj z^jCk4BWwQJc|hC44K*QnwDw#c!Jm}W|AwOmm0w(~p>rA%<9LlN^hmbf?^ZF`T^Rhq zP(hH>fzJ?+iXxCOM?E7!La}Og@!?cxexX?=Ce`EwXI#7h#X_NKsLY<{=8;&E~atVH@q!$ ztZn^fg|CX36aTywG3@P7Xun8Oua#|BZfn|;A-|}U9uFq;$9$w{)xv$EuyhzX7JFTb zeK%Rfxx$&W3v%ytF{S~Q!=Gn|^mjc`3)NF|ucUl#CxML1xVB$JnCPkG?jga9gYjL6rS9h(bMHVK!G89pt zQrH{$LHOL!KXa;e3pBbTd!a)*f*KGei!ruv=cy}V;vSh)(PEO}ss1A28b=(@p4x;7 z>47a>i>GEWu4CU<9+@5DU6(S$;1t;k#Z+io;_?zfE^{o_gb+wxUb5o zcGT~HVq-J#JF~MWiSA%QsXMwzC{f8V%~Q`XT+-Jft8Vb)ZnA^gBhGRpx1pKX*!vYn zo2d?VgR+arpF{exp@{{0T1{CH4nqggIBuLJv#wzrfE#98Al~7T?V%5G>=gErf_x|8nMFx~FM^mTSmdf~xE7xQwu&e+x9GEBt8(@;>Wc z@|vY(H?yB3&FCZ>FsdJa>r-HvD)|J%o%$;sXt@cdi_N-gyH$LrD+a+@m)zZ(fM@_R zZJ!o#0EYiq?rj!=EI)NaHkOwv`i*1=t7~9ISguzVI?pO4nbaDf|79wAH zewIdmjWZH`ZP&Ni*AcuaI|Wq>+?xg;EckR&y9kC_FjOf_u-a{_9tYV<2lO z>`U>~W>$ar=OG_}YM#8zxiKL;ixQ)uMWF-CnZxZ^L~(^0v|=HE2ft7e zUJS5z9RzKwtAb?BgXLw1d~(A9+G`1BN_mXu-VVOs+ao8gyh_*Hb_fd!z9+Q6oq>LT z(Tm!-D!>czXH_AOlVZWu*5K2AwVzY$KDYR-0)$8w!W+RmD!1kQ0`ramxrU_Ljj z^zgg}RaGGK+%G7RS|9Rnm(6*7aJfvyL3B!yni>u=Xk-g!K_GlMgitHTY0Vou1G z5My09MAoZp!9t=VmchYY$fWNZbyKP2ZEMTkx7txU{K0di-zc=+bJZbxRGqD}@{TNR zbxmd0KnFvd5xMS70X*B_A{Ll8PeW3PAhv4k8imA%zxU?sO3R*Y-Cp_jjF4UlH-NfL z2g05?EhLtJ)Lw$GTiOw%L@BNC!+$Zfz}_(zTFgS z)_O?^%fMzyy6|vs5cT(&^q3F+uOlT{!bu&`yii}^`Fil6^m$bYp=c~O&m%&r_S|>X ze@7EDnuhV-xWj|8QWLFjNiM6J7_aQd=Qgl(sX$>O2W>6Zw_enHZ*#R13{)eb_QyH} z0x~7Dnxk75E$(fZt-8OyaO_rYZJuvgVxSRmp(}_jJpKPUVAVu3_g-n}{%M5PP76Oa zdMA7e*ul>BF}RIKyo7(d+=KRfgr^TsYyC?>op4DZ_a$p|F=2kT5@o;LYxMXe_`f{2 z|6qziwgFJ-A52m31LOXOu(=b!;-_T+aQaVBqdLA{W{3$Xl+sFnD;d1o>sAkJW21nG zByxqniP9UoQ(mW`=&C_lxPRlFt0x<=Zn~&?_qQmE8AZBZk6B>u+vV-=H=RBv5Ix1V zOL&}!!~ozj>_fb?!#u7eI5QwaAaDOxylkX~Q?S|#(3tSO>FoTqav9xHH|n!5^t=NL z8ix=G;5;B}JCHHZim(PxD63-t3ywrDtR)w~_Mhp;?>y zFt2X$B#)u5G-bA7rK`a>+{V_1myBq}3d(Uz#&qE|)9Eq9ITPCbU@mkM^oC* zU6Z{ytnoSDCPO4gA!NRJkF@r3FUFWm`hLTxUuMcl>*{ah{um9`%e3`@7MH99+(csV zp#F_#QjgO(1c1%kOz;njk&8jcz#|p`QJ8N6grelOw-8@RV6o&sX^bwTlF3`vzhXCU zY|NGQWq~xfPd_3>d#XIYxqOhogOxi_)N3y;J!ZJh86jw1op`BnO%vaA3hGCJ@=Upw z05S!7Wi4IiT@g*iGZYU0Ep#7hkf}1f_`zSb5wkmQhVDfG?OwZz&`(S4aM4*Z>(xdf z2nGFMhnQ}uiYRGmi1Umu%VNid<6!MK&kA?@6fc61D8OOp~s6uur^KDEFMd|<4wC3iWdaePcg|MaI=0z1R9tRsH;4RCQNN%yWz_+mwe z3z!BNQOBv2@X=pgztlrmDQBX9 zL4t26u~zjyB*-stefS7hm>8>*En%9bXi4?D-joI0DSfN?gqa=X7=MrWr{$Ker2dod zjx0Y$I;dtYHx(VgY*^SzN;Ur9|*jioISUi#tlnFn8fnCT3TP zrGURJ0l5tne5OspX}owQr_|FYM3J-&CE!##-goINC1X!A9;k_a6+FPcW9hvmjjfI~dJM)$)LA);hr)!xrKT}`0&u8buEL}N;s@*Ie z{G>-$3ors?>Cahf=KK7qP&xHJ)V2vJ z1M`X2Wxr&cjSZIgw(MJHoOsw2OIKJL#c`>G3jqxWB%E=+?R0j&1ayK5wcG1VuTlhb zc6Wbnck@FE6M6L7f0UGqb=bLeb}`JWD@O_(Y+RY#t^C$Trwh4(BXm2m-bt0G4^9 zgZR3W z`Bbub&aJy`K~J2r^`OuoNy}3C7G6|sUCxPTJqf+`0Y7#I6HeeLG{kCbJmU=Wp4;~k zwFOL}bSzP=Nque58Z_;~f)gjsH|4$qiHcL13KRZ7I`94B>20kQMG8{)972uk9TA@{ z9avH$otetBA9wYRYu4Da} zp=A~-EhbQMkm&Ijb-!r^aXf#q7 z6(X$)U4%6YZr;|^cF@Hy>P13*Z7v-!2&G2*+G9CAuJc%@r2r@SJ#=5QwgNuENi>y5 zs%Q>0)c^%lWk2D4U2rlc%=~AY2%@hT!^}_gJy`8ppAm7>Srf?};4N|K5j@0&R0Rz` z4DaAjyQ_NlD|leVIRMvNr!Vdbqi5JFAD8;Z2$UvgC6VOjzQ5l}2anC@J1BN8xGEZfUBzWkM0gchR3eF5wa%g_g5fgJC_ z%osuhX?G4sL{98&6Pf+ZD;d@o57P>NkPDxJ%R$0t$rz^n-54cu*$tMtA8Ib(Dlt4p z%yhhfo-bz*sSXjZ1ypy=M_E_8sDQMi=;Ym-FCdeg2!b236E&)4kDV~E!d&!NLVl30 zFQ0c-#C8ZlsW2X&=pyf{B`w-H8jD9?NYwgk)uD*czp~<1_V8G7 zw;GakR!y9xpLsL2USZULa)lGrT#8c2E{qrg$gLRxEf1|}5XXcSFGZ*XbWQ*oREmfH zPwIsIv?K|*^HYgTd@UG!2p%~B;&AMCn>d~*EWfi8NrF;?MPv=m$fI7LV_J`1haSiP z9HVNU@XCaq^}6Q`EA&b5=luj@ zlxARVBLic9o8QZpyJ>P3ax9xYaS$!pFG%44o7G{Qgcr1I1vD!BzB(~utE5Xcqt~+v zaXtw^G|k~J%yLdF3#2)ALjhSWNbD&T+dZHFmqs2ru0NhzK+LU^&@>rra-_M{3A?{$ z{I|3k@rNAsKrqs)9&*22UX1!-0(TpF?60|m@Ii_L%iAvtGhURJJ+EK)^3RA`u3FT{ zSw6ta!BAu*wHqf|32O|#ZbhHp?>~ntD+zbLGrGGvyuSO%N4G#bM3Pa&tld~fQQcj* zz!Z%4#Z?-eBd_CJKX?{3WWMl1b@OB8;Y20nMI_i<;8}p~M~4LlciV?a(wLu-?bW;n z+`49@wKxHk?{Cc|1@)-Utdh5rZXmP>eEX9r#tzm#*`n8f#Tr#R9AP6#=%lU)^iaj% zkof1k8$u{D8!%^|#92L6kZHBu1Lwf~^pG9*3xUsepKLUf@-+s;z)6O48M6$1)v5<8 zl)LJu$(D;FIIYvJq_=`AHhf?JN^KBQdqqR?nK*bkbzxnV@k|pIr1PiQr}&7W$fdNP zAjE5wrt&r>IMRFKNX zCS2e1GW>Bk>?ff`3%)`~+>9=mtU=&ku`e_>^3g+wwBSC{=sw*L`40YsXCn7@y*r*- zJKDJM!;1t2b&O^F;lMQ*vZ3NSY>RnaYfMyPMD^k!pP?s#KaBqzXDR5__ToyOvM$qN zi)S6=MsB&R$FWW~Y3#!s74>Q#asZNB0-`L>jB1@Y@g?Z8TNf?))LZ66btxBK@UJie zAO7bC`b%xy?;JF&CIvg|532G_97X~VMw6dV*k@vvB?jIekRq$?^sUbT4!n=g=^&}I zge2y&#sOodyG;^9TV}Sp!g;W1*3^`8>UsUQ=3&Uw3p>`zl1#i zhH>{@wRuIHz&|j8;`)kg;_|eK`GP$?ciiX3ddc#^ncI6J{vX25sYwth$kJu2%eHNG z*|u%lwr$(CZQHhOV|yYtb|xlfV*kK>%bWW09Ot9GE5T)w`#dTs(nuFv(Sx<}i1n+N zhU|W!u2s?j-Z~6C8}$(!Lt4t60m=9=a|Cyuqh*}zNq6yJG*1HzVdF}qf{OMlTouJT zc5R}23!#RdsIh26e$QVg0YuPR_u*z}i8U{MGkRZ#DLxbHs;@v;H`2-lM}a)kkZ{d@ zzUGnfVtjSH)E;Gp$Uy9r1R7{&wGa_CbLb;o4r1HT**3-ER{Um`prmfG#ifI4AllGJ zNEcF-Et~oNSaEI#5dJ%foY5Nzf~$cz9+{K@y;N2(v%{)WJXGF1+8J%yZF$3WPJLm; zQ10xb<7Yq8s-Ov3id_(kkI9Mujgy<>F z>@gNE`NQThqeB3&mh|#w&F1UfAo>rlyapUVQ{j7;-nq4P$`h>f0Ok)`3fJ&&HfCx} zSTG6+$&3MOk={D~`;K4*DsxT}fHAu)-3myoL``ue~q;-cf?0Yl!+PB3QOjznBm>kn?Kh?OBC_Kq4R zv26u}?)hoeYrd4ZZj_41 zKXX#VN^T@KDuHfM)I5X|ji`9l_tX>7y7*y^r{iH#z{zXaV@#wSPoh~5d_p#{d5_>7 zZac}J&>2FhDkK$|L&qOflB@tNuZda`o~+toJv>f;@cfV|kJivL!iza7{P0j7RvZW& z9(%$p35&=|x@?VGyb1dIFzpRi6fY8_?Ew?`D0hos2+_zhgX+T3E!Ckz}$tj!pGM63= z0DqUayYqW4+WIh^Dw-{?*3a9^pp%hF{NU1wedlUhdM4STeL^g)jXR9a00wv(7-z-sRyIAFT5|95+VzPWwhqM=xDgxrNzk%ZXN zMs1@x^J$<;VD~%5j-Fg+EdyKJcUM0BaZu3yyjA6<<+S~WoR|UyPfg#ynl}AUH)8iQ z(pNEN?ur@45&Be+^s`%4)f-jvao-p(24@mB-Ev#x99DzNu!t&hn=+ zTE{-9jHEKGI0z%4pMc}1xLXFL0)~nr=VglRoM&jJhQd?qdl05zgc6hXS-g@b$AynM z$O-g54>$)V(034Icme~wu@^N9c9;Fx9$!P84j2ar_-OQ>s6%vP+ogivcB|wlar-3DpEqB+h)j zglH!nnM2Vb9>t>8C^0M8%PVI)%Scly;r?y}GAT|uQ3b-MGn+yrHHuuq+R;BGq)z8N z!?e38mM^kvCM5U8sO7~yyyB@<1+Y`kh!nfH5ra0tqkcV;pidoA-BAcG*qSeiHxF8& zA2X;gIi?slFg?5MBD&GaaV9g2fr|Du;iAo$I)^wSoI7!`@;y*&oC<$2q_{m)Al^0Z z*7lDwSZ{0)VFA;*!iKW{RYz< zJyIR-wAEL;3IRQsgCt*&AU;-H-->Vf5Wux;M8Gc4flboyT2p%`4h@`sB1+EfU8Wj@ zbVC~537-ikUEI}WyTzvg{k3NQP}GvPYJu$*`9jXfv&^_Wa3ykcDVqd&eX^bN;{ECB zF`uQpi%Q=4rsdtc5mY|_%FDlSWcc(ILKNk(t&$#L|B<*)?}8MKK}x8=glXcb_zfH6 zU8qE4)JLev!L;Gu%v`?hLv#Ex3Z;0%b?|m4yVnBsFA)=0{lT}rxXyp#V^3;PAos}3 z<4A(=$dRMv3)D(w1E(2{OCB(9ngkB%CD&YIeUX)STp?O#&(R=#pUS@z| z3G-<&KH#hz;*xt!<*v`Ie+zdDhamiXnQy!7KnAVa;!{y>7j0~c;l#AuUb3z_Nm#%y zn{5V%p!7_S=Gw5V53lC*umbKZTbBh()}V9#w~t5(YKKTC;gBR2{83!SP&-}Tlq3#j zejErSfxpY`%W**G<>H_UaR=;x#93cv0`2(eVq>CaYv%>OD@z0A-$l14d}rP+fRwJ~ zIhFv_WyM3z=A1`snmH2NDquJ3+S~=5qtAqo*CUoOr`DDjg+qsET+;}OB00Vw&Nl0V z6?y1@s*%lTuo|2zK{*q#7X+FLbrJ2G0=uL=+;WTKI$QO^pRQX_z(5@aDFPWLVdelM z6GhiqiHE$pk~%W#zLFwRso%}lTgN~jIdeukTw^+ zw7c_De*5FnkoxQ~%1TF|{Q}k-bIvOw5~&v@;OhfOUh9~yZ>uTO+hPI(uQ2NnwT z&&@{e=hozfGdcrO@R<{FvTu09`_Hvvm7y$q;bTjf`M-r$9Q^;Pwfmpv-`T3WwwtU7 zKCim=_PE5REh<+Gehf`!3`XcL3&?|V$UrpNR|sZ9 zC9UL>%b>zjh|zEh8qFNGIm?rSuft7Q-G7k0UP9j`khD|(rL{#0#*Dh*nh_&dUkhQ2 zl-LsRVw^{Om;?OlX@};RqiUs3Og7zlHG$o|M!`Zc(_W0b2>_Rb`xZnE$j+R?y*kK{ z{+dK*ak;8GdU9+5h2;Sfzt3*ijNZ3doZ&yg9VWM5%2p4OsJ^iz@h-umUQ@^_IGs*L z@kqu7O6EYd!i`j*$GY0vgN5gI2ZQ)}&_tT1=U1m{I%$G+&;IgGaq)!e&z7sZ98 ziC(GlK@JM>qkjk`*`rIqL*tGO#~vKV9vF;Ni<3-72)caV-rmmd_hVz< zKjCkAzQIJTbNa@<`?s^EtBXE(3~TYYvWa9pIYlg8dCOyNTcVK;iNl@wyp)|PVusjP z$Qb#0VsrHJr=g5OSSJmAB&M3ZzCx%+J%1g zIYoHZ=Aq-w38@)c56X80-e^HY!OvG-+iMt25!W6;2mh_3Dc*-mCXRHR3ftt8XuTtF zTiff!Q9!lFI^?m@mcy9!jE@0+T#^52@o`BxtGk1o zfeR&Cz#Fc@SFbSa6@FVL)@CTQ4JHM4D?0(;5(U3!Ih%or6^|}z)*n^GBFYOI3n9(n z6O3xY10Q#f-M3{9Vn@0uYIJ4lgNRB^K%WB}s^kj3;D^UW=q|n{x8?jFJdb%2$0_=1A!~yEb5-r_w=(6SO@&Xn}YZW&GH^K_&rO z-3LVybxGWe_jwl0K19}e+lsDW+#SV#$Eq|Yy|t+~q_5uhkoedx6qmo+xGI<7k@}e_ zYhTTR$oU)#u6T{@gGe>}TBDc!HqG9LEf7kpar}{r1YJkp`hG%-=D95mR+2rrs`rii zHFy289wnRq@Y?GyA)+=Bg>RX&om`-%WA9C=ICY{BO~7m2H3&nu02@$g0<&kQHqSr# z%V>8`OdY4&(sNeK^;1|!l*%c&^%*_fmc)b%xOTQJ1qx*@*%17@Ei+Exz?Y}LLHMM0 z1tkV8Mvj}OJmTc<4M$B1^|WOy#`7T?-MWYVUdVf9Rzkxo69Cr}Rb*Tv(SBO$2aYDt`3kg6QM?OBF~JGSN8kO5r-WjOiR1DF4TJ9CKQ4LC zH@V^LRFmd@E!m$9X)*;XvD5IwIuT?o6uiaEC?T$E{mXXv(sqgC&(RG6tf z>b*728A%ylxfxZ z3u0|n>6Izr{U0xYrE>GXkX;)uO&ygU7Y-Ln9B-d_j`yp%yiw!6Kt4SuqdtR@6THG4 z^IG$Ai3942xO4RQz3}Gf3Yc;8%<@SgPcdgHXRY}G9}TN|OzXT~=M+2bz&ax4CfZ-3 zDn`N1fe<=)ZK0;05om%SOf*pIcw0?-&p4wCd|FrLYe8r(@cNUTcsKFpiRW?~d79EM zXcC!(yQKl-9aq==hGUY6cpz^yTsj0i1?dGW^BJnrmwq;a3SK$pS+*$KL2|P|6+Tay zSdbxuYN5=K_)&tC#C00YHd~4;aRbKi?knYgtr88E1?g|%Qr`giY68uu64{Y5Ee~bh z*;!~qXvZBDhZCvUgc;c$8YC&rcGD(IjQ3xLbrMD^{FFAunACZqFSps1_H$!dbt zD(cmMB@&HuCIMGP{f;7%ck0q6{`i7d6^GeNah% z45C4nRJ6;6+9mWxrzx>$a4rI{lG9UdEzA;!2awI-!-YIEBl4sM;A(W8+5nwZ$2wm5 zg2i2~)A5s=V)eSHR5o@-*au#MB_Dv$Ld!St+ik%dj$_%{2+f6ydS^Jn{xKZ%yab zN0PlY#VrGNE+hJvvT|fMpL{nQDm+AF^lw(q9e2#98Run~vjeO$B4mGEWe;;yYoARv zG!TB6Hc!`dxOg?I+$JBD#(Lrf@PF0*poX4FP?^ypx{_q7r=u`plFTw!4z=x}5)77g zI)d!KJYGXAUGIf4a4m~Q9p-_%BFa+3VvjN=AGqn1OlHN-i^7*AOevOk$thG2N!ur@ zNm1&DxphtIn})~b;wOkHIy<@ccCT7DZ;DFDxyo|Ya1l9fzPfzCUxmeUPLyIXZYFPg zHvwI!vP7Ys!A8!-E*pOT7l+{Ym=;!FGIdt4e}Ba}`2T02?qFyAZ=oLj@0-}9hw*+@ zMW6uMEVHhBRvsAj2h()I)pu4%&8l>ttKgKa0&%Z_g^3Fn}PI#saMFV*Z- zYY}jmOE_J*CJtDjB)h%4ya|0C$-=G$~R02x8t2!ztAxz8$o^*&0*@Le{?a4NO1iC2_8+^;Do zlf}(d0&0o*kebzgM-=Y)W6v7So`0C?uds)y7;czXfcJc|fAV3!ff8O}mbQs3>y)1$ zmp(X?p#J2_NbqZ(k&|8;xFhya3Ir{j_uY`_g@{+fa1ZmqXRI0c$;NkU%d36WGM+ud z;mBUR%p=E)365(#om1ZgTN6@(XMa(_Psn2_&p%Do`DiqjYyc;+T}8hp)-pgmb4X2l zSQshb59vDOnjjaODzLw5*${R*l!MAW_|}jaUB6pW4?M|$BETE9agzP?G>ggkS*_VP zK*vV!`*`g(dup4#`#QkD^fz@bNxZUbH(5w0CQ7vBoQ#^fqlF>^r`up2c`Ya&dCEQU#f{;$}D*mhFHd4Y8Ff06b54DoqHKFG-&~LRS{1ih&w(uSaNCCG;by* zet%&n_|2hI_ZhPh2tx%+t&r)KDfg(ntwNfC*AY`~{qQ-hs0?<h2;STCWE!~JJWn3;^{3jlZsRu6*zryfasElbb9nCK~jJ+32ZTt8@QNXIR zHJsbmQ$PC)tU`2UVB8O{avik-w#FaqVVeL)kOfZAX#gt=??da>7MrzZrgs;aV3*(1 zYtc+K2|jWh7;8f+E$nU44*UY(a(vs@hKb?znwP~lf?qr9uYhAWUM32;g-ltpBGhF7 zm#?MRq{qaJe5U0oq}SDO;>%vM>42scISAQ+MdAh8*pX! zMJoBQ2|Y~W(qMUDgj%ZBuGnsCbsf|pX13F>Pz0;oU(k+?)g)xPZBSomw)cH4&^!bY z6UDIQae;lYG$XbjeHT242$fGJgG1D6gnHD?Duv@kLtNo@9=!sOOosLH!p^*Velg=gsi_XhQ740*L z=gZN4jQWre#3I^E3(92{9egHe@X&2(a$%s%1$b-4m~Stnq21Z3^W=Gae)c=CO~0W1 zL>Hkic-LCAZktn_v8U`Bxc1Q!jzdsiZqGhjt(ur#4kk6iJJlHfg?`OImnj^9&?~ua z_U)w36*wrB8+zxu;)jE*HZRwvd{no%np@r5?9eXr-7fp@MlIbMHgJa2V1vu|wYWo3 zru6B58C?8Fl+J&hcpCrXp^yIevo=S47vp~}L5}}I)L3ECCXgPX>yxVG2_cRg4A=ze?yV|Hc+Gj#qP07oGW2$Qluer^Yrk5bCeZU$jb z%ENVVZsUemYrI{@emq*=xDrl~D0_LW@eF-#{bVTtQ6M7)qKuo0RU6=9gN%rs$^M-ELpgJ?(qip)w7O zcRed}=&pE$q?d*yq@0#e_14&c8k%_~} z&jpEVXWmUtR6rYVfm?Dpr0ME^G0baFxGEtBfUmiM?8Mf<0ZWAW}bd>R$-jnAAGhSRID zWAW5yfcZ6}W#?3~_Q;^)d{fBOMqN8&)vR|(^JZ0a8Wqup7Gt%1W6P-4y5Y*mR5F9~ zHCuJJiFIy!gKRFilx45_U%eV^ddtI;i8l4WW;NJLu7M>i`YUkhRH0ApRvMwx8-E;+ z!_+$`wb~^WT^XKj9FJ|haT%)%O{xuQl%_Tq9FNmV;4)W=+ObimCb&(Gb&xzvj@#Nv z0$p<`)#mJ=UX1xSNJfLg`^&82HuS6$k40YNWtpk9)yn7)> z+#mfQ;T}$kAW7Yr3`p(x_rFYI?u8gcawKBepu(sLR2 zKc(phO}L|n8QEAOSvdDG9D8tWm1&y}i*_uMO&xwGj!P-UOBXAsT?!=T%v(|^pQDQ! zRb(?@-FtRyoG<#z?U=$ZqK}paL>f_)I3ttuFvzgP8&PJdmk#O6v^FGC{$4w@?xaj0Kfp{tCwerJ)CS5J8q!#iDOi+xHz0=Ulc>W{J&P1Ju2i?S%F$$)X|iWpksb@b zKNty1w68>ELO%LZr7I~g5mD{N4W=jvKkO$XVH)W2m zRBdH*qUm^QWFUx?Ius{m>c;z`l^TUfDI`rQR5s?xeml5pNR+h#OQR=AHqF-z>o?42 zKg27=Nme!{!Hn(ZVJy=VXSlOXKqYFV0xMdwpq0dNtP`a=+T7(tq|AuQlS#ZBE9#yZ zBs~q^d_j{M58E~|Y&ClQPsT_*?Ga7PSo0G(91bg$b;tTrb# zXz5h(sAhV8tUu1?t|HD!PGi!Vj~>}puj^c$v9)c@KDG6r8YHNhlN)MSUgVJ$nh7^V zg@{fE!#a_fNM3O|RF|=!rm|mHKAU9f>W>Xf*R4bsolVo*GGa3D?wvLNoyXMe2o13!&IZ!zfIrV&RP1Bx8Zu>IS@SPt z=Wnbw@icTSc^~t{eKvP~8NFvP#>_fUL>XTLjT0b(;p!H4MNa zZ8Hz3W$9l{-#a9I^FZpdNqIqh250X>7b1e?AGxdW5AC%yx*;D%=l;>P|Fvgl${2^4Rs~?F+{C zC36qBE53wlGSePOYj2t#NhWPC5Tr8H?U!H&Z^RB{_WmafGRO3!Q_3!$%{6lmbVqD- zManLG9mLXW4Wv~{j^v2PB!J^2K1cUtnw!)up6xYbk7Ng%t)I*GpM&BQR)0_}yOi57 z2%i3Uz^{(;+ik_5FP`&T?aAHlDE3d~<4F=Es@r28BxYAUB!rt|20H1H^E`+osTwK- zS=vIcF&BR@t9S5ur5Lz|)%~WZl(WqRl9~wF(Suhv&0LwnY+ZPbekV26cG)7tA^S*& zR|!R=iXPvG!o9@selmKel>Xp4I>7J=kxuzpBzos{vx#d-qlDhGh8OYVnMB2sp?Unj zq98I9Fo0D<-0?&MeOLjRS1U3WiMd+h#)hqidbJjE<3g#x&btsJSaDGyU^3Rl+9|c5 zBah4L)8H#k3$&DVAVRuUYM4OJ8C|lLRvUjHIV9BnKq9>KFu$stDL`(fp$?zt-w;$x zaz?vsq?3Lox@=v#0sbHd{>l1^2c3Z4qKP%YZlvcxH1pmEKU3yYNMZejf~vf=X0`Po zT|`t4^I?^vQ+Co2RDDw)9iqgQDR@JRVu2PYi(SG zp7`lnm`mxxMN{g)n9Cu9dKG$TG&*8$YJxbTnLpS+eA-xYO}O2aaxqU1>G+8s0myIh_*zwx-{hzL zm0OkzsWQk}(Re4sO#>}^Ud*2#4vJvunSdCSH2tD!{C|%d5Zdb7a;^u~%_dz8b!&!R z9i<+qXnOHvRg8FofKW7~DJ#gdxCDSh(6u^&P7ciHbXqjn&ZO1dR#OMbtEOCx?bbpj zo@JUUf}*I=oRUC;?tvYghm5vhv8IPjd;lfsw!zVRSYkvwnUI3Cx9QOi1zVj3bwU~} zHls~8-c?RNrW)jcTlQy1UMbb_yDc53CE%&X{OY5rEU^|y&bXAhO*-`b5S=aGu25(m=HPCdaoP!wN&nYAv5G{#?9;d~nr=K_m7z=v zAG)Dh)j0C5pP&~fdpX_;ylsLosVh^F^J;q%lIsTcGidMoC3W%T5Hwg*<^dhKk9wQ( zLMzTz6Ni4jGcDY!9^j+JM={8a9$nV72I5}Nj{bKGz8oXRc+M!y2wfHI&TBC+Y%c{! zIp7l|;B%QDiTj2IBeQ`K#C@Nps=TwkB;@{k!e;7m0-`6?74Lca!`IXXb?T&}T|TZV z^2B7`80ARr=;2cmLRw{{kDO3Aqv_|-ETJdGxO2m{pirj)jiR5HiMG7fQ-m>}!nm=4 zZgQIB<a zxb|~iixu8O$-tB?B1Wld!Xun?c7fE&WT# zEz1Jyd;1tF#fad4XMu1i0SrWJ*8hC)xRk|Y^a#YFA1`N7A|62UFB?H;2Mr)!FgxXP zsJg5)SxD&f{W8tB@E3V9DYWV5OVjs#{0(zyiQ)Ocwi6GF!h2)S!5f_Z@-T(aU(<(2 zxB@S61x#XS@tn~&7h-5kg9d=VUWEnyP*+0%2wB`2aZ#)u+8axRt)!FcK^C1}r)Ojcs|C7I@Y1|@^bs^Atxy*hm%0%&eCXhY)=?3$X`m~JH5rn`gd zR4J(HGYlo7l+#7+QVH|MVkS?Z`6!#8Bw4RjNKI2q1v;8ZUY8mFd+p~Q1JN5LfBYa3 zB^1n{WkUi8e?7*LdI-~L?%I@(nVlnlxl-kSb+GCKl;R3 zgFXpCBeM2^8kT+QvQ${F_>o1X(E^b-m6KZQ2P0-G;lt%~nfA4-Soq8f%~dEp0g#6LQyuIo?m^U!?N+lAMs2Gd0oL#da_M$T>Jt+Tbw zNLHB((Gigmx|yqI`3LQ4MVq{>V35tZEAet*UP}Da77q4EiBhnEPDLxL0MvWsY(YGl z!kyoVDxTvaIkmQG8|Or}c#Tqjn98laUlEiUA18))?Ra06GFFV$I>m-@l8}67C~kNE zJJG#E9{oY|6RgKK=vRz~;Z7Xe0q+I;##1+-e0&y@URl`0g+#B)X*Kt z@;pl!eGvopc#!`sfTQsHYlH>4Eju_%pr}#{)Mn11K%~ zXGB`MB2VWvAVlMwjB(UeYK*gsPrLqxN`qvj-CNY&KE<1v>9QSEgaEMOiQ$XYb`m_B zkmzV3S1b*5N?i^cf8aG0|KNs1#WfaXhfYBbM*o?r^d+vebxaG9_2?O}rGP3c(N>5K zGON+q{3g$KsuxeS`obOl$>eA^qz7Lm6|R*>8{gI%gT6;4C1CP87K?TAbUpR-$7>=m zB^Xonlqd&7iEP2>EW3V#db{9>hy-OX04TZ!_IuvZIkC^emb?KQY#Wel3_wI}iC6MC z6huIFX0m=|Ar8%&HQ&_KU@J4H0EDAJK6(tP2m?*cWS4Gt8n3Dat)vBiM$G9M5v}u; zLZeDTx%vUfq~N5K;EDtf;>BFSan0;#Bzd*+RuBPjO*44_2J^Y|G1(P3L_&r&r?3T6 zdT=J00NO6XmBfRLgo830Cb=6~ld8rMP(RIce&=;#%}U#Y_dHE5s%(?YvV=4hG!!s} zi4A)nxzfUulEYn$((22>0g5pP@nUz-R-qdvxVd3NmsQb3Qf*w+p=0)o%QlyUyC|u` zILcF*A8GSyDLa{KvF>i=a~q*;8SIBcxAsN?C)6^@{1=c>@J0}RjxUj%&S?Ipt+ku7 ziN{2R0blwQr+|sZqvEM2KdipoyD}vibxyl>Y;Lni?n;xM^S?%OrYe$tw?Mt21stJx zSK7R6=KW2)Hm$i_6L8qzmX*eE8a7G*Un>{@uV+~A6;_K3>H%zhGpKU)4q7_0Deo@~ zipYLcLBV;z^sK!QaekPhN$Du;eJ|g_8$G@Bkis=op47lL>!|(Vi(d{f4gmCtrQJq& z@k#Z5!o!W1rQCP9B%fhm*Wi!Xajt@rqv>vO-Gw7u>3JN9^9 zea2WBJ_=G{F)J8U=VPmUHuPcrB}#D?Nt!b7JB;h$FFR#E9l+(N30_L0-{x#;!y` z8c11&qr>~)0~RS&+<=Vng*%sS*z0YrX>=-h46(`RQwlUl{2=$_hAKSyN9eCq&~Va_ zk*VDhue-3VgO*RDSwiF>&efC=j>|;fH`$Aq!owNLgpNC}1g9}2zS#c4LUbq$;5h)tx*s%NB{ zaIbL&*`X9CExTtG(xwG&pmV_=F13NUELt#UW-SmiYrmYF!zcYiQyWx-v~naf3}rz3 zTDG?MFq;(aA3LfspUngqdis7~In8+|Ua||eBkv9LcFuU_m-JS-_DuQ74#WZSYHGU5=rCJCjb z1#|zs>1-n*3~KfSBU)Q(XMe zFEE<~K`#}U-4f$29Aiwt!m0E}x>IYH3rY9BtlD7=h0K5pSa6uX#99j@j8Sjq#KeaW z2HjrO=u|Es(f0phVVy){q$W12v|FX(PK&c2X#0O@o99cp8)9_HO3`q87B#MQa+*#; zX^IysWOuLUY45l=3BoYi{cWba^AQESXqA9OnJuRZxp{c?3^rJ&ySh>3gAB{bxc(NN zh}?Z*Jmh8>d{ipAIU|nf2IYx?{!^R<8+8j+L=j+o zE7X`{y`2`ZHeIP;-`mcyr_sH-brwnr3X2$E0#E_r-1D zwut>{qK>I7!qQKhrUX7{QVt;u5PaNi2r?lt>N*r%dpGX*I0phz{x03V(>(nG81v)r zy4hC3p;Y*4NgI0W&{d`I^Cqiy4+7I_J#3xe~fS zGNo?yPhB>Wtz(Y*l6ABqvlvGn6dGy>iO=>Ud@{Og^bj2xvYd_jbA86**|yMUY&64i zY9$;G*qFtci_`t!Bix+iu0*EmE+1*pctg7dNx_HmrH2R0Cd6o<3SA4=kr6rBe5JP4 z(2K)S=a;$ay)@2c%N9XZhlkg--Qm2vz5VfYM(i&j@PLO<+&O1l^nfsC*%F_I z?;!NU1L)M-J3tm_D3~!N{(>6jW7ai*i-r$ZyLVJAp3uqGjvPDkiruV*U=TLS(qM>? z7p60eG{uDwV%zufIL!PE)*>;l6kx?~pQF#NLcj4FI$jbnVJ=T1BKk@@IsWt2OZ zi|%4bg4~LqxJjZ(z-T$`>OK{oywhiu0Zdoqjqg^40Z_h9_yn&Y8}B8mQ!!D57*N|> zRaO!S7dVg4ZqIK5-=)mEerMD!AKyMY{sW5l(J9>VX12xA(k^m#h~Ol_dC4^~svP5k zWBW%KMXyYUn+tE5A2GpGEF<}R2_l5x5!i?R=X0gwbyIOES%9htU=G$t2@eQR@#XMl zbP%2o^pQ(LGAbAkQVW^tLHk?lQ9H49b1cNAbRM zF`*uv;(wU+9Bo?{@@G5OD$!NJ*uRv@`Bk7DCT>EgzG;u*GXs&l;IkP8L1i39Wjyc~ zzfl*_q+lOrU9n2c-^juyKe5Y-6-&ygV( zJ-}R5sbvG2vgW!iIwxG2=^mXm7w1|` z+7=?VqW0zvml!<&Q5XfEtt*S*Q{Hy1b60j7Q~~Td$B9i?l;4$nUjI+`1h0bw1N}ML z#_C122|krqxRUO%n^VY!cjeqW4)ySONTn=(WyyWrBzWA>pl9{-t@b z5t%7De6;|8J#^dt<%GA4r&*RX$ITD%YN~_UKy7T+NZhX&OVvMzef(E=$)c zk|iBa&=PhwauPrBp;`SrnlZOQ3C!ym6_h0?VQ4mT{-)vu1yQ|GSWLt5g0^L{MNSx$ z#fdPgE4*EuG@n!JPn#u^_H<0%tM!!thSzukhAWu(AQ)T)%Lq*pOIE{ZwHZJfepUTy z&6o7EZQL>)2r-E!9S*&4>#CC1L=QZ+aejp*%PQA^6<{u^V-ZmISXf99 zTY(8JCKYtm=_|AfwZ>&%i!7TgTIU)>|HpKV_xrGt>p7a!ntLZm_6& z3{ser&0lVFLd_o_v{)kz)gX^@r@{0^Dz6QWr@EZKThOT%r?gYrB~6PF(wIJ#QYH;6!DbJ>{hM_A58Z!ZaLeAlSOJ2VP$iS|?olc2hp-+(gL#lA zR}QoEQ`Q}`mEP*<-DHnI<-@?A60oOs@CjJ#jcOTWI^}*6jkdx{v{ClP=2FV+Z1A;}Wh<<-V%EC?PX<9|Eg`V08=sU-I zkVj6`^)3Q&{fbVeI#{&MK)Qr;f-0E1adv^G#zkJYU4(rLD#X?ES z6wPeji*mYC!9{D+G@D?A)`#<`3#N*N*vV;kl6tUfFk(Vwzjpm1DJS54qIN#ZVW`1v zMs+`=@h$py%)wu-VS6-Xj#jAEsudm!ny`&~D9Etu#`ylTtvhV0*)}3lesBeO?-MaO zgbF;aduL0J^ZY8w)04R%#e_2@0Gdc0&ODT2jjm<9Z#}WZkyw0yW=Z`hTLp6 z4a;l*JSR8!DF}^gee7cocf{!7+s#h3PboE-4H+zT0E~w?@Hn*0yMTpVi+OkjCDapf|*MpR^L}O6@92#?m;5HoY7Zen-@f??+UPS!gWsS3^a(J zX*+Idl!x=A{twq@%stA@T{!YcGmcigtYdb?54Fxu1TgI!(eO$#XZQufChu-IK4ca& zQu7hSq0FU**ia_tawkF8nt0B+RTD5GhQ&V&<}IN@Ft;U8axJr;Z$bQB#Cx1y04Kr+ z`h{51WjDOC@vpQbK*%p3{ytL?NeG4Sz%#@*=gWs@R{`Isd^;{O1Us?Ss6HMTk>JiB zU!k9yOr=-8Bz13gZJ=MyVPj-y6Y9-W7dPy7k!9*)k=P+fUgtIhEy7;mA4Jb5 zHKY`U6l)SPdrbDUnnMv-(W}aSTt?at zn8itsanAxR>3)qwu~VBkA?T!|k8G_#XrsoU6?w^&>*U{o&AG35^=8|!tGd3@Dn_t-d90vU@`qsCJskR56?AD zbffSY)1Lf>f87ss$e2kHzmt^eeEN!(swO}oG|nOTrJDgC^x zO8a+ziAlOfWvAQ7IY(EnW^LzdSu945)h%Hu%0 zTkM=j1uY4_AQOZ4Yx^K85zXl{{y~ZnsM948$S6A-ib)kn;jf-!bth{b=1oG(8EWy1 zPQ4%P`r{8CsFUA>)c{s2w{<;lM6+*#LC>*0$Sbiwm>?fKu)RgoF2>oXp+wU6ZKZY( zsN5g1ROO|R^79hQ)w;T5)Scv@IFRcFd8nU=xNPo-7QI{Wfvwe7lXQ9^8;uv5-nh3k zv2G%m2V2==p~^^7d=YFOl|a#?;KjG)sXXK_+=o-Q&OUpsXERhu`bPACIn;~AL( zk_*o2;2eQbM2Nj_P}>M$*1{wk3PdPOgZv&vXx$KwKDc#&X-$hllw3@d z41uMky?g#nSX zTX5)Y5RifUu$Q#?n-^usYm2V(d3u^233C%ufQ-$(-8-39K2AiBF>nnqR8pI3^Bt zuT%9v4KJ>YrcmxtwUE%=+Pka`Y+36<#Fxy)y4cUlc+r(%RDu0h4Tp8MT#5xEXUhr69PP|q^oC{9{Y*D z*$_7&sfI~^3|A^>=sK*@;Fuoy?(C?h8GiRdf6m#U(RiJ37WhlORKN~%utY$ZEzqic z^bo*6$~M3EAG2J!{{o2XMca>8a(lrWaiA5EP~|w^;tVt?JJ3b2Z+aW<5gS&113P~f zZfnA6h13VE1Anxt2j4fs&4Dg$C1}Z*O>&m23jih2LHZdJq#0?~sOJbv0XYhMmMsKNF!P&>NnlF^nBou> z8uUn$6mdvZE)`%$IN4_PgH5ZGpEr;AZ`6@E1rjuZc7=H;H%j1Yr*N906IabQKS(MK z*nfzBW>IEn{s|$r(BzHWMW^yc-KP zT+oV9dDR0p5=9x@iAmX8ub^j+SHW5~{a>FsqM5X>UxJJ6 zzH%)mqUgYTr6EHadDcRo?dh}*>B|TxL8Ug?;m}b*uNzluClFgxg-T~hPiIXeF@E+t zVY`n&(tX-+Bv)1RFWmC+u+CG9qf;md<&w59vNxg8i1I^9p>qC0V zUd&P7Taa|^Z@+YwfV>3j(svh00xtnk^~38?8xjaJ2ktQVW~O>fyBsF<034py?#AbP z0#~^iRJ&AlM1X-+9~X;rwa5wGk%!VtOQ+ndc{q;}c7ltQ8$FKCRWOk%iv60o|MW&x zD3b0~&$Xz(`OCtv6eRl=JnBkw^Y|}o9chFiVlx^XLA^MYsT~%zR=~^jtE%{o@ms_9 zA9chDv_m}qangoyc;{a0Ml7BMP8N*suhhZBXOLIJ8bo{fSiwO;`pq(C3E94NY5rY7e8C@EYtGRizQ#qpy z(%|r2c{K`)Dd;$sWuSx3G9l8?HIZc2igt01Qj5Wahf z8Vx-)c7O_N9H2JXFus={@B3?dcO7HYq^@hbs_w4pu&%3HA2!kyV3gxYF5b$`h*Ts# zV*p^Dzx*m?i4{W&a{}zZB4Mb|MSSJ_`OR$K2T-Mu*z!-a=+k(I1ckNH4_7Bh9 zDK06T3KNLwr7?iHihwSlZ>|~HIR!f5^Sa(gCEFF6efrBDGU->lww;gUB8;#3F1dk) zpP=!XQ8^Uq2%~4EQ8WCZ#UUGM3{#7iz!?zz$|c_NAGOCqHVW{_*^x;N+8jAixN5}A zJ0L7kQEkUdJ%giIaS=NBIAJdKoc)79U>eI-rjkQ@9-J2le>)RIBZIQCZ0bvp6W@bjLAB@8fK#^|s$&m=(+eA}t8DJ51^)ei1JVv{ZhN#YrY zrsk12vQ*1e0FFc+WD$@qy@t_XF*GuuY+v$SfUdsXxZ)wmT{2CIo(#*f0P}C$#kizN zq=4V(IZCZc&j_By{*$~Hcc^pz?E!=yJwo99LWrsU?*YK1c+Y<@p&HjI6Mr+5dVkDk zub7f=$gECUj$watH!%%FO%BRz!Jkq5C5_naouX53r+pN6fsI4 z{&-SO@(zheXV3VG+7K@pZ_BJzGq|)>%L{P&(-hMR1PHKLln6-Y*LR?tgKfi4c|vQ` zkk%wyhoj*!+hAAlySS3naxz8bItd1s`o-oBLc)P0aX{>k>LW}Ftc_VN)3P|1KMMNG z3+z)RTeM?%pII&8osBsqlmSW~#!@0Rc&*{=79b}jKzEQ)Be?OwZEX!jk*qC$xv zZm>O5m==r*{L!DJe%7{;#enp7D8{2pV}|nhzKV-MNS=d2%nc>JvzT^O-|d7SKW1Wh zmKzH8wuHnjjLkFz=E;@DI;JjutS?(3I~GtTN|o4&PA2+YBzNDmu@#xl9x2?2$*m;X zcbtcVX?EF*>xc)@8%}^V-2IoN$+!*$kgrSCbY9fi`WH7Jo`Yd~?L#XoUMpYY~DzLk%VNc9@jdjEu(ho~vK zz``)s)Q&_bjSsi2D+afA&yMt-VQdkH@3xv6E|U%`liQ;Vs>rcQ+2!pOEzTeV=`!9>Z>Ep++#4di~qD`%DFTuIS#f;qiB@N|Mfm~ZB>zk8OMwu+# za;t0`Pl2!|)?kRN0Ic~NG@E2f+ZY0{0)q54eI43JtYl%-sggzP21H@5ft;1 zwisF#*4(VyNN4Kq8dxaQkdz{()ug-nVFZ$6!(m%)Q=(NHHqGV~MZDr74Ru~lo!TF# z@jg>f)9Kgi6vvmF2kPuy^zp)^7mlQ#oZvjq>|k4*fi-6rX&`;>@T(3z3dbX8vbYt$ z?g=i29tVaZrlLm@FdvuLnEIJ2Qz7U|n$${1cdNFh2D8RG_=F?#4>9Z9;YQGOy>Vq!W6>2SQ zc&3aotwd!F53DZ5X(nW~%2gf@WG}U^&;1)Vqz`%O!(t#~OS&2F7w<6V{)YUpJ|kSm zrjjW#ps1A#+(pp#(N9P_siQ}V-BB&n}*Tpd#lrC$Qa|~|i3}j=Kbe=Sj)2*2_lD7Vu zZjK8=Og?KF`kykpFc#Oj)h4~XW=YgDoORr93+2kNXqz$9Q3c5T8sHjYs(D-O*%+VR z9#?we;4p@~KD72l7So01w;CnT+MPx8B}VifjR|m3JUlXx>uJ&kP%qu!K;oH-NZI5S z3=KDz?HedChe6Lu>2Fch_nARI&Px}#ObS3uaQ)b%jN+L<^6b;Eb7%OH8IDn;#lNR} z@MVK$7iV}2M8r-SAqmHX@a|?1PzxBgw}r~x&ARtz+pJ|7H)T0S@#n%hBsJ7U-OKF0Lv9jOZ3~Y@MSsZl98Wz(2a0r>Ln9;pvWH(jN>Ciz9lF9pX6^ zyl8$8%kK3Kx!fgMfba=jt~>%1f5W!)q_9RS*Lp6jqrRb5kH0qY7<_=N=eyiBK<1s` zt5UPjs+5S&j-ad}W-E%=yZ*T z04?MVh|8Snk$v`zO>&u3(iJ+N`19MVs zu{8Fx8U)%99gdoUanq#)YTb50o5z~RWU(}te81GSz%aFVl5Sd9mEDB49_+wvP@t86 z3OuyZaY{B)ep8oZ31SddG+9hF2ka>K6TD3WFl#&OH)VRqULoa z?E$pGYEK5qn`Rb}j~RLyb+}doallhzf+lzDEiuyVZOt0+ez^xhc&o6c%Io1yk|dPV346aYp1kB^2^J;RfYe!1~1ex2TO zbhKFofO%;uP7|!u|dYF09hR%qMQ4ZY=|JQR|!xC0KR#@bn!>9>ZyhaZQa+JBP zjnnNj^8wRNg%RSbXv3M)mzfuYIL}{_=W??5`P8PXDGwf413Dbeoto!M?J&5UPva-S zT{T-rRY#Y1qBU>))yXaO^DTmS(QXkXte~#XnZ~a9aOY6+;kjp&*x^s#Q~ZDxJJeKQ zV*2O>gH1|LFm2yv7d4eGj@ZFIxRm^8~z;O8acNwZp zZy^ObV1e*O5(W~x*Jh-e%D`z!*WNrF+oSCv8Yd9bzGNKyNvt2!sx3{vqQG`PwkuVI z(U$HMuSx-Q0XUWwE|bOt)@i0*t$TT% zU)seHoSjz3idnPcg^+?C0OG9=TK7{9)!Wt3fuz5%_n!N+0zO*Fyo{H|XXz64!z&i( zq~gsW36xd$?F7)}H9h1F$R&!4&clj;n`Q=HVUf=sA2ra0YD-Io_8_w$?>4Q47YgAK zCD&vG0O5Q@prekiAx(KJe`?hUz->o)F3?)@YPmBuy3&b!_0a!r#)VxeK649CG(bKg zDOVfGd*}Jc0d473T+-}te-?gG5480il5{RBDe~2J>)-(m1S(#v%H@yq?HlG?ZvA(E z8Kp56JX8F^(&J5D*^30Gy8~f$HE(etKiTM~tgH3!T$;?J{s19zui>TM?c=*I`ecIP z!{_=v8>2r`@G|EJIwe($+3JfhFf1|2Dh+JLDH&|}r|$Oi(V|t}bGKAy6&%LdbO&UT zc|9Qn4W@Vp2TsG*%#t=RhC#m(2h}NKLBE{-J+nI zT8+Zq2zKATr`~mFm_8l5(o>8K%DF+8w8=vK$r|OLC`K3&7Cm-o z=k>-DwpA2+#Kz8};&OB1bK&_e`c)pKVyBPI3ZwWQYeY<|Bz9zGGQv2yP`ge^eA5_G z$bVJ8zzgSo@y@(V%D8ak@Mp&V(9vJ!0#`1Di^jS24%RSPnR&yI2TUT=OO8bUmB}*KlVreZq_A?Jp-NU)Ic?;Bp)nIgRon17%x) zRE(s_6w>_xv>$_*9Mmrnlk7tj6<AUk7>B}aV~oBVyD9bq&smlDa?#k1T|LQ8&FEh1itNsehi7uAsW7SUuqCT zk5ST`u%hWgk#T04ZHr%e?1c*G!m!G&1qeEt@oQXO!L&txn6t<}b(K411SUOAnbI!^ zDS^Z|_beFhya6?cf~+rOyS1s6CPnzm9-is(N_7 z-pEs`l9M}$T69mMPmUdPc5AvI*~oODipr}IF2M^KWEN^P5t3w z5Xv+=sV-BL29la7CfMrigW60pD71=)R%Y-iusVv{tfV2bgU^!upIWvdT>mXdn+7SY zT@(d7D|%YYFQn&3ZJ5N1oR(hBr6L#1s&{pa5mCV|ix0^;8~z{Uv;z2G0h4`JPto7( zes!Rr;vo+Pr z^-P*Tk6L8op*>E9EQcY4WP=p0@qgDdd|RNgU$t$@$)M$%kzo}fV=ld@Ra{-G;*`rw zfMu@yt5$ItDak)LzQ@ofMIdbqyUuF_O&?)cFon;e#_p?sn6o-LoZFi*h3x%(g`lywPUA871e+#3N9_PU(l^Id}wG zv`OENCVP%Jc3(YV{9d=h&*i-U zT_ewT#q1`at_K0UETVh!iAFv`Rx7;s_6Ep)elVD_)ha9ACEaiu0iWERA#odaMK z==!z6nD~1;xNdH9Z~}WO_GlI>HwCg_#h%&{GAS*{?bLaMktBlCB|I0pY8Lv&MoWmK zMzdYOzAED!?S%Up?$EyKJ{A>A9wBAV zGb4+w>r8lQH0FQC#rSpUG#_Xof&-hmt+0$W#;B)4h$3CXav}12+Dy-KEn+}dJu(K+ zgPhYj@wDby0~J5FV3_nfahPa15_(oEz?+BesE1{Qn7@}D2~xzLc>wu%mB~NsJxBEy z6r_09uL@WmxK~RcQCvuM1`%FK?tU0eMD9$CO>UHO^_&akFCD!;1WdyXIJ3Kdr2vuG zep*a7Bx-b+z1;8Yn{`fp2MAcGr^tpy@__pbL$3xNPeaG`gMkCKpY&6ELq}6fo$q`+ zycCZw(PL7R$FcxNmAZ0>JM0_+9u_XX4hP4dgWeFo5R;JOSCws6wGp?51)+5P4y(u3 z{;D;iN=Fq?Dcbd}qN&HE7)GNS@wcSBf=$H$(XznfPblzPvuyj$k=bN|%M~B~*b5x` z`!9x9Y0=HsT#bj^gyk@c4i}qFGj?yzS9{Lmvx&a})~S2^gm8hg;+@5Y=CsGJJ)XL0 z`cy8H5So1U)4~HEc5gDBzHN=7H6O_a19FzH^o+RmyP4Vk&rS|L5is|nh!QThqVRre zPy@RCr?mk~y1$qnS^M9hd`GZ>+NA_`@yWbH9)T@21Z`+LjAUQw{Lhk^C9qiB^Xvn) zAXA;0QL7R%Zb!<8TjkY1*^eb8cj-cnNJ`hIO$K%4=N;`C)ar$(auZc%q|nBjg1ue! z-N6!?lgOH55`j1d0#N4W`|dxzK-ep(tF}F3vyva}qPtfI>21t%T9fLXxsg9w-*d;T zRokGWRyN_Ym2Vp-Gz(TE{~_M9v{G3-%58!CG&g!1u7ekj(7bgX6DJkmA=r<00`b8M z#ND`MH`7n!8ep*$Ja^aW>}^VZ4X8Ru9wLsNQoM%$Efo6kKSUnGI)e>rp~RMIIv_UO zQ6}ss9VHIWrdvGkCi?wG46#DM^6`nB>f0&g421b0$&b)`^E!)Ya+}-jJ-7^2yq2-x zfm~^(%NHu-?7h%g1y8t-(Ik-9%#FhMWZ!vt6i)wsM(*(RGjQ8k{j)V$@}3iL_pf$l zEb0$_^#Rc55I>vII62a;$b|RY1C}Vcp4L0Jf99sln7zhv>`D$RgJru|cW4Y@5ZI-k zH*W}PXY_6h`FcaBvi+mK_wMj7Jg$rX;@Fv%-Fp}BNy+!Jdg*~1;hS$iT^dNdtY;G? z)>O4w<8u-RF{|xt$>A#e%FUf~-ZP$j%th?&4S53swObt6de8i37c7~~*;;&ou&(+h zU{DMG#%~|2B6LGA)x9W(N0X1zm~`4k-i_ua*{X2YoS;w_3^&q+|Ls4eg)DUTG1^qq zs_P>;A6PZyaOx9NiK;buZja0t`wB(A$=Xe3Cib$H@Qa2h#io;KMxS#83a0d?V?^x% z&=s3vxU;#O=T&PzOt*L6q#vd(5U5Yi=|ba}wXlpziEw2Vi3(Xetw|_PCs@Sow#%HF zCD%G_3s^kRyz^p<>AgFzGla_+z<(_G80d0%(bZImjSR-WUv5`-H5vF_y_GU9G9Z|m z@r3+|%@JRqYSs)e7&F}*mDg%=v&sSAv&V)5E$bfzZTy>k1TPUCB!A9& zk1r1U4|z9I&jb;f&iBzH84IeBDZO-d2KvVU9{;ZQw`rH`IFqu&-N!`mLi_68>e z;uQtn8FF6R)%R;L+%+rLIFuV$#st-gzfsui|0ra`&B1qeUu_r?0K>*=NO{mvjx^FX zt@$o>3Rqb3IBeB^Jn|c`p8oP}Yw6-M*C@ec0;=T#`rT8zLi#N>AqF@nE6n-@6^tFCVHn}8v zf28MtPo!%`r)%TuuPW_;iP3YqO?aHIJlPvjd{i1-La0FoHCD$vu3IQctY6YL3F}OxP?qvS!CrWRPfKubnfZtarjRn8jEvam z)%&^lFEIaLN+wls1yEq_-qX#(Qe!I1qrHFZ;}(BM(g+|8dGh9Xfdr{W&Vx_1n552D zv9uUyqx5yldls>vj_G?hdVhDq-U*iCFcqxG&hxurQ}5D4I8;@BKOZhjzhY&v>d2{0c#irJH_bR;1a6 zbe3X@y5dckzw(nf6GzH-|9XBs zwu@z7fbJpR73}ce+&vQ9PnF&5+P{FBka5|b1a9y6ei*3AJ(HbFIwiRr1xxP@DvH+9 z6Z>{c_5S(yiBmA2GD0_h?D)6=LvJv$pcyA+r$1OE#j3el$EvndUk=U{5NUYtmw`t0 z8_P9?&JQ!f!?wH;bOlcdfb(;vnvPSBseh%Q%b*22V}Z%PpFw94&QH*6VHk$r6?I|- zdW7W+A-Zr>|j0?V^JZJ!`j@xKu!E|MGR>whyp3MBJ zXo+JdA(L_coX=%@Qg=gVA#=bBNVWk29GD-q21>)St3*Rp8iex?3PVHSn(8f5JL%mQ zPW2VPi=IDw?fZcOV}1Zl>0ZQXv1A4uj@TW2HfYnl3T~=vQ$sZ!z>?swU_tCE}G+S)*`WRZ17EnQTboFpEkl0Vb~Z*V6pXup^) zL1k#PctocYsM~Ix(!QzB4di0XMmT2K&1tcse^PL)Q%7UDH9jzj6RaeHlx?}?@m{atizL#R*@0*lSeO#=oHq` z!;Vs90~WgdMltx>^CsBSa|$H^ys9^iX?5<8D}rH|e1(aT1Tj!b3CEeIq!h1 z$Jf=nA<18_RW%y{B&BoD+*KI@l_p#;i5tKy<;n-qB7@!Yf-D7EXxD8);pudGO+t%dURMyAyA9kiFHyp}?Qz9(N+@IO^kz>2Xk5KCm}i`flP zGLG=u({$3x{2JynJzg8qy0V#rVM_hOZ3zF_<@av=x}UNxCky@{A`S87%0B2vzdvB; zrHD~6LrL5CX(&}S?Bge&YkN<1l5Cg*f|8cpS?Q>Zgf8=;yP_`Tq3aW0eiZ7~>PC zUhu-Dt*tVju%d5L)%mZX+Fph(avIk-m1+O@9Al0~sWw4W1_uors|VB>Et4g9q|KlK z=;ITEXsYvxBX&&SO@}rLwLM*S(!QlWmT0b=!rKb8Vgs9TGc!-tWerk3#1~<>uRyo( z`umhuY=Uf|0pO>~)8OgRjpk|kwp>hFS>xo9o_Lx>jt!=hCft3_E>6SzI6 zvR%`7-e{?8zcL4p*{o%*m#(Ry6#y> zUw;`)5;0U}#S$E6PDa3lv~(-r{Ty`^R7ei9ql&q_2PF2$}&tTCQ)Rh4!t*}q4 zu<7&FaX&u4OOK#JF*`L8*2nw-dRdAT9=!U6E-MQ^v6zUTJA`^08u-WNzx)!stb z7qNVPg@{*tvfjmpxyB|P_W2IF09kUwNVvt_^3Wq_UX&mi`K z1%mvR(KG|PYSh;?sZDdezg7J}_w#P5jetzxG0Ixib`DY3cC?5elR4CEHWpHg`zScH z*dpUPYu#1$)#wQ`R;G1#l}yHxK3{tpOBkn(4(>H)=aO*$m`aRl1qkkz`3nc08Pv}! zk|SK+>yO;apJT*Y%;UnVwDwr6I=IV8<8Cwi;h4Z2SEr-X)s+=T56y=)nXQ324cSry8A(RF;&>r#qpOz>;8Njz2g zw-YwXM{w%-OuqaV`nalY(9cNhnab5yq{IpnhQ8nC2|E^iy``IHz zSLz>LhnGp!YxkDBS!vIR_v`-z@~ZG zPw6$9x@utf#tZvol=f~$M}?J>4N|N172=Fv3W)uDM-{n9!Sb_+|J)t_SmcFLz>sqQ zih8yGTcL6*EoF25Si$AZnXEQqNxnwt_Wi|2p>^hJ9H#tani!0yg3Xl5h2RcSl&c2& zaXpP+QF65nWN9X|=iareU|WpE5K+5U8RqRwBZt$>hAu6tu+gx;e!HjXBNxZDx%kT+ zsr5agvJRQj`wAIov+$bC!~Bb=dU-^G{nuP5f(w?`RIuZpEW>mr&P^@><%V zR$Jtz$9o4ZgJJ1vU$A-6%62^OXT#*U$KpR%&GhMI%iD`z=zHWW8PN|nsErh^0Hfm- zGvlgyQFIJnV91dkZf6$57Ke~r#0-F_`vCK-d(rB2jUJhk1b|A@L<1x`f$Tpa$XO05{L26!^@DV!RQ<`sTp#e8& z&Aed~2mG1dQ==U`Aj#+D=d#ga1?-i4l!+T+jyJ9d6^3+EEaR5`?2Kk%aByqSiojZc z?a*jx5S+rY;V@>@c7TfjZ zHs5()M~=Rpa#?x#=-TPM(!2+==9PTW{Ht5;QaxHVsI4r|R^gmX_f>(g{;6|E6(Po| zC5xYudf#0Pa!^#mUPDO(k(!z1eD&ugSl7 zw!-70-Q4p7;nGVfAbQ&27~~(fE7b9LOh}@bXbREA9X_)Op zK-Sj_=fiC;Z!D1$+kxj~V&ylMtLI+HFDxpb53h>70*{17*}t&FV9o&HfO^gYeCkKB z{l{ZP`?}Vgkf+Vb2y?=m8YL#`$m^SvnDqQiuX(Z)?%RUBtCr#BWL+b^w-eOU@oOi% zI{KD2nnyog0p3pJ*7*g+UV`}=c3fr3KXeqVOING_PrH{b(PVVa1;$g_e-$C=m@cG= z6^`WEyt9KJ)6HD;wWz#koN164oJk3?TCX?$_zBsY&gSItMqN=axzK4rUg_fANma#^ z(r^=2R&;tlCmWv&2jRZhSg6&r->pZRQ!{W|X=1oe&cI1E{RV=B=J9%o9g>wx*GwH~ z?Df!At!QKXljqWiQlfdH9p^BJyWG6m@r*6?ZW_auO-+lwRY86Exq3D2M@afreEwH< z(fq0P?`m7#nGLG;8TnGFc+`SDmx*n^$1JbJ(>nYXD!c^2n*ZufGnUYv>oMv2)b>xq zM|7TVms1@epTIS-F~fPo{pCoXmvP2+4t~BoQ>-YS-7hDZpS}rZd_P}ID=I1bN=l=3SetIo>GalN z==_zo@1;9q@1c?(?yC?Jbx3RoyXiOnXZn8Y39S#-5lj{HsRY5}SyIurfeOxI_2h@8 zgVz#KNR0xp+K_u0Kp*1a{i6Tocu9F=X33#&UTV@z%44SV&bd{ND&ggb%rxR8kUajZCm46Y(m<_HYDH2D$S^XGl z)K(h+K0h_=^a$OEA)viu*=jlek(x_@z=l#s#?0d&<0y#}EQ=!V_K#5EX`l~Gsl|-( z&#{!*X<~XM;l|>V!2`t#l2zOWmmA;^2XLWyAEhBoR+(yI_-b&e z`MjUy9}yi=W^liJ*#k9M>gs#g4fo_oq5O)EJ0NBk+o_s;oAb+WF=lZ=p(+{RVwlwP z)dDl|S+bT9kO`JjBeOBanZ}U_?GE&?S%Ao}%a5ldYm%O<3Eb9slY` zDgTSoq^kgl(EmILGMtR<$u;aRhnk{R*8NeoNe);(j&S zSuWt{PnkZZvQg)x*4Jxl#H^rqp^bKfi^k%ha?mkk(901QXC)(lyB{0wvHld#{&tE7 zC!b0NZ#n<>&HgsuaiM$}#@fo|8Q)pm;r75@h@Xj|K1{y${3$a9IBrCAk0Iatv&ZSJ z$9G{<%28u+S;v0Ibzd9OO8#qMQmVG~X=P&(LBAuFKH_no-D+;r4N!Pyg0Vl7Xa^5Wr5Q3j<4ee1A>h9{v8LQ8km}WNiyFB#T#<2Y1j;ov|VK&G$G=9&Pcl{Mb|Qi zeLWqBHcY@Ynyu{~SquSqNYX~$$>0E?cR;M8q$r?B$F*V+CF_@u!jcIWKD<7EUoMtA zsZTfPv9s3Hdtwsndq`~Mr)F^21ctgQLCVvqgnCY)olzLHv%+8ZArFtPmyPm4f`Wgr z$7Z#^?{9Aw@g4>F1t8xX@15~qVpP|KeMy2Uc(`0!oF}pGs(g2s@{(WF*wrr+(c+dj z_mCaOMi`FYRo|3)LLeG~VQk3=xP^mScMYRUbzyU55G6+Qoq&qPy=~Tn2aTG&QMi9s z!7n{6uB77QE9VP8em(6Bp%)@41QOn5$s2=va2yaqvC6}235c;j;eQq!dCNMJjjlsU*gp$a7(9PF#G=!w|G;a4 zGc8wZ0x0g0j^Um>M~j|&B#*#vmu>_ZKL zH?mg~6F#!2q<`VkzW*2AIw^z7HSeD|%@hs@h~)oc2{5VE*mc-eLlazgx+yE6)74xH zDgz&53(=zS%m~k*FvKThTs@JJLxZ1gbzq^4yM5oYg_iksF~S4=4Nl-C^y%>le4KN9 z&2|dENYmHbM|ghh;eU?D`MswV@U=b~ft=9~A&`Gu{O17aSWyUu3Aw=`sK5hu3F3y6 z$Ud;ekcg=55PX1n;O|Fp+lK*aJw^S)JSx|+!-7qjYet!H7T(QUiA7}sLVz?(|ClgH z0uqs31@>tYMGPfJWr=jM+ERTM*ZokqAEa@*hyMM?9uD*;TEs42cWJi~o=35-3R&gv z?hrP-s=B#uP~X|1D79VRh1tiOm*P(UEQ_8x5?F`rGcTbd7`$*GNsJj1EvOB@M^HR= z!^J@4VOKgKFUJmG>;Vu%vI1WySXc>+Tw%((185@-?EXgh)3GV!Zk}M0`@f#bqMhYb zRK3P^&~sG8E1p?Cra2TAW*F7yQT|o>JSv@4_&E{cK|a0|jIJ!w{z0hP;3e|5)&m(uv3a~XRvW7qd=VRGjqK#vF5ih-PSXvzh55ZSR_m>3=05Ky?1LD=l{Oy zxs)7ePtIA$V%D*ZT9|f=bx1_BHtZk)Nu#Obzd=C)$;97N0`8;DHllzIrfd~-yA_+V zdN`a=+v9CB{2*aZPVPd-CxQ~E|E^m;X!0$DZqmy%?^3QGP880F3Ms~O7#$8Yg8xNe zHLZs)#)vq%*Y)&$W#*$egRO9OncuIF-ceN}3?`aH!3VqOw9fa7|L#qobe$&+{Ql5) z$VFSG2`iODDC3!AmA5tdgKk6yiZ^zMZuAG~#l}H$dtsXs%O9BHuzWbP|oN9-2|khJ7mSUdA&fJ?X^wIOLKJS1deN;+ci-V{wjGU(9)N~9JMdS%_J~_$>4`&PhR<%db>5z$Lr@IX=vz)du=Gsfq1|}H^ zt1h*^KMA9@P` z?>^#wZpy@#6|zt(>TxB`O#OG7qq{=8Wfe!a8E+sTm7Cf+Me!^3j^KLT@ldxmD=@8BkTl=1}(JeTH?lEbSJi&l;u;KoEJT zUp==b1Ao+!cFUz`S*k(f`y1t><&kn3`-KwWM#Zh-%%TqA`bhgI{|u^%ap7d68Np9jG}*e@X>r>c*ce|g zf#C64n|Mag)?ZIWQ9!~2ChJ?};-G_iDCnR<&GVXg>d7iqI|@2zoZ=hBi(Hn#xC-iF zU-S)kq%cKcMeLAOWRz(l(w20>d64i}Zl2KXja?>WNjMfoBcEl%bRHD4wIP>YY1WV) zRv1@rJu_%9)ydj{E2fR}37=DB519i9sL6G8kY|^eiu0b^nXC4x-E^`yn{2ua#Vt)C zA4dMHA_$NJz-*PGW=>l15sGkl3J(~X41wrr zz=0$J{uV_Q-#LlXr7o3+*&0$aRO=k$O`c7B)Ppwy$F8B!zbl}Cy2n*f0L4CG!o831>KjeD$||H;w@NW+RQK zj7=(|(uk9c+L`9q2rSH4n&H@A%zsTuO`Q^!~VNc*}ks2tP@UvF_ z(G}vPJ+31a+~nf-5k9V- zLgx2zV&?z}Y7@v*0R-{BbxC5jIvdzn+!^!$V}be+?dAW(Ef+qP}nwr$(Cr)}G| zZQHhO+n!9Gf|dNly|oHwk3DhIcgLyt!zHu92%|8=Ovx*>Pamod#ytXJ^eCSZD+^?b z#orxnOV;=IyR?KCoU~x`)~(s$PrPmWXv8Sw=0)JDeT8lPG-}RPM!#B|9Y|*6riFYo zs?J3dzx2NSH}cwll62_`HQa~6004SX{$G-=iK&~ZjlIJ^9!-gc?SGPVe{=O66%{0` zOi;hD2=rIo`u$s|TTvDov%Aa25l<>UEyb!fT8>10%zo1Gnh zhS`?1rv_Dayc*#vXhyJFP1gF;Q+!8YuQCilofmI5seMlY6EB(W3Q)H>v$rcL$pYEa zkLo`Qq7yvqF)jkN*68T#EYmJwVf~J4Z zN4zn)*$t^5t#(??i8Aty4k%9gy09=7(GP)G9Ll|lthf=FAad@jS9A8Kjt{3J#e%ag z?U4TgTb?(~Y|Cn}dq%|0CqHpncnIfvwc&3TQ?XF$>ij7I^QB_dET{OT$s^(5YB5-m zCRVG=KMyEG^)jj)deVEy#N2(q&R<7KJr72#MgP8_nOqly38=)(Gdi##pMftz%ITtH zGu5_ONar=XLFTroHt;LAao!cuDiv^b78elrhcnFTjKb}|6l4|BZU1NA6L+Eup8?%$ zd9`h;=w$+!1egfMKG>QhhUM=U>QI05cTMJvk*dfLEc1D2eMnR%iXu&*i!e`8>^AU* zu}5x#_O0Pi%jpt#-Ynm)pA_6;kIw`8IXCRf;!Vs!`SS|iIIwT#f8C8eopjQXJ0|u7 z>Mg^IIJ7oXR|np>Y#n2ntl`I3)q7!~~(Y^pV(0Zs-%m3EnHxuTX zL!6{yK5#Vl-RKhe@Egk2>~D+iGAZFgd{4AETPJdl;t1Rzd*yd!8oX}(xh#zpRk|Eg z(=k#Spb66!#>wdF4bKhH7G;CVuBx)_=2^W<`Hm&jddF=L^#e7O>wC?O_TG>l`AS{M zwyOT4UwpR+0r^uRno-o-p4&q@`=|?LPk7}>kL}794p6t6V9<4-VEkIl&#!a?3w3iT9wl6wN5p#H=h^Vf2eqdVV-lnU>-}S9D9b|Lq zF)`az?SnnS@k|GBKQb_#lPQ#5San(K9YO>^H>EX_de|i88n3HOV#k5wqUL=86PnEV z{sR6_#SFd>9$NcPEgvBR0AT;$irK}~+2!BgXI!HpZI3gCSev`SE=l{s@DJ<7oG@r% z8$R`pK*&Ht9Bu>tCmk+S%w`EfY$#*bG^vTX>OwDrr9A3FdiDdJ@7N6F0~OF|JZ>Cc z!cHt+Mb-T-5eWzbQc~8sv#YeT3s2u?<{qEA$M5%Kj(@KIC;0sv1>Yx9Huf(F3IH;o z7ZAt`Fa=P0a6S5_FN7%YD;CX`e<39Pf;Ms_n#^YXTBs!WD;LEU&_-y2e>bc?U^bw4 z=UPZNu+qJSJKrX8Nmme_oxl&a9~jV{40hJoib-N>2X1@7OqWzvhGNLCgO!SEulky5 zk8xSWA7g}hYRgXvtEVff8B<%V^_=2L7WI2mcIhdl6k~37c3__$W~L!k8$}HOU1*GSHWvXLp6zv!yq zl$TURL{j`3H7z)@`Vf4(-!A|x2UdEL5Y8Y1D$n?%UjL8Q_+|)Ga|<{hKwYA zl3)Uzl$BLO@HQ{HC(lQ!50C!=R`&oBO)@isNElI?GM(Hxco(F3ilj^vLB6t~gkR`o zNPD8|w$4sbW+*>B%>|t0tTW_DtV+h^%9J%v886t@8VI$Om@eKH67lOJIM^3tDi~d5 z_U=QiE2=beCW`w>W>jY?6;pn7GJu!(=?UXdbIvcLF5MllL)GX^CN!r7AKN8b@DxrR zsjM}lJ<3+~L&?{LSh$rqmQUp0YWn@*}j-nkGH-!Zw)lco!q)h@P3aET5;mq z(0|uwX&(Pks#&yUT8(PlB^A3!KM&>R(XHRNk=jOP2vF97u-ALBbdaeB{NWJacrZvK zcBB&P3rAvq_iPt7CNMMWD^Tk}E$m{gVdJdvv&UFLScj=Zp1naIsTtrf=DDNYWx;2> zXeX^bEtT<>q`?`|E=r`+CGb{;K&6z6*P56z4XZnjrNzZo(`~hvh-OTN&6nROka~l* z8@Z=aTXu-yt|EQ`HPQI{DUVVeEVKJenjgmB+qsk ztNSMJS80nfh8-SYu5FV9*GvAUMjib?=?Z%^3oAO#uH)q6t1(+3;dLZ*4NMtH39Wn$ zxdH^Mh?txd`AXq55LgL@*Vdjh>Cv~u6rV<*E9`cLsC!!#B^!Ju_l?O^uP6XuP6j$Y z(mJp@uS(C5TLYKWieoiy&`wfROu^!Wr=N2+wuC67=S)_^w3>nrcxJ2U7LG(j{W{cg zz#XDQnKI-*k7UK^h?&b4W%cp+@j=u})l&$=Omyx>7@Prr`sjxwej5yQT=!p#hh5N4 zDg=)}QA(%hb97E6LVSP>AJ1mQMNW^BP*YIJ&tc^1ZM>eUMt~)npx%BpMCr$>qt^I5 z%I-)~<#n*G)e>!WUU4jOmi8Vb6i0O&TOE18h4tmM5ItTE%v>|P0W*|-5ku;Urc!APF5`GpLAVW6-ea z6Gp?I5yF;NCzyL2gs>E%+I^%#h zDdoIxFj!j-(K5@MOC~RW3beSsJTwkDVI5Cgfq7A&53Y{zq3{_zzjGfWNG+l=onl@3 zqpV5Nc9P$e8D;}CnO_ZI`Q~|Q?=Po7Vsv}Te9OaYWz4L|>y6x>p#2gZj z3{n3QRi}z3Ek;QL>zVihk3|H(Jiab@SW#7(Hx#~~6Wv6%`zdyBn>L_tSmEJtyLDUF zwJz)(zO&XI``MP^eP!M^KW8kdPv;~vB($Ugj=nPSqhWm;)-mwC99teo#P#;+rFA5m zocq}OhWbc@p6LA^wCbHN`2UhQZZ^u?=oQMB#v%X!I`98)?DM~``|iI` z!CJTi*u^&HO-5pKv^=G;jpro1o`fk{BFA zkS^-#?&|95Yufle4Lfb>s+<^bVR>M6O=kExDY98LYe5a~FktkBt(B__m6b)Ns>x}J zt=3htt7y>gKH9ZaHh&WLT3lN##kX-LkrE0IgI@6_d^sy;8(Cj1+BKH9N-45Jf`{ihHcVsmn9O08UCR zB2y>-l1+-JuaL#H&TrZ`ZJ02m&lFa*?&RiX+dN%+E}mZD_}jagF5Hse-yEy@J|QWL zUm*j6ikmCgw5sli&GZJmW=^nK*DapE8BNUr?oeM_VYPgiO=%2B|0)gn0YE^lXm(Vy z1*z)V7EZac#-XTu&&p?Y@7Ow4WB=Te5b{Py+hfzAF)7+>ER1G1mg!VS$Rmcbv31#!@g3hcWgF~2Wv2G{-N8u z-m>AHBd#o~n$%dy{!SWzgsg28da`Zx^bR- ziCT3|W!>0XgWN+!qgDhlMqUv3zQ8+u2haev?*RDsp$TzCfp)(vRIyH4d49-*Akqb! zd5999#-GsetH^@uCmU-{461FwpkX$XEU_rJyrdEVy!OFZ4MDXfcT z1Ap70S({zdgRCAq09KXVxx5=}O6wMw#RXWqFKE-po37#+B!Wb-G`GLo))bfasm2%i zH!$}SQQYzpg{6}TTK)F!&0fwzD`?L|mKw0N7#+t-5F^7lWuSIwC#Xjcm)D)zF(mT~ zmS)@@>wxFSj!}>Hsj(_p)y_elx+-Q{0{B2pW{rK553`=i7Vql#{hahWqG1fvTv~ma z71BT}D?|Un9ScL}L#-b2CFt)!4Avh!yS>Ow6ylihq)q@e0K;y&$*WL;YKWYZMuE&w?j7kBeG^XG+LV%7L50@YJ)o}`X{ZI8%`QB9AW~C^*d;I z1xLuJ6(FloP43<6G1mox4kVwf#byb9cph5)>>KX|wU^vZUVKjiFOtGS5hf2j-LsEW z64Z4R1I~8Z;dT-BkvmShv3FYnyT|wi#j6JbhJxL7T>Sr(D$YIHam}d zNJJEZQTx0P(Q=r^gNH404)yw&g-{nb9)93&gxe%&bjfpHReIPl1lavV`T$;Id;2=5 zbQi4|4IV9EFY!So5J;2AlAd4c%iWZIeg}wO>d}+)YN!dlMF=tk5JiNI{GMvpfB>2F zBO6wKt8YTNFf35sAW)iwt*Y+Xq6xIor27cFs?W`kBw*R2{CT`c2+NPgjngP2)p1mC z+_e$Ma(24nMlAX#TH8_kPTnAOPMRhsMVByB-JRGvs&#@0rrxnh?MrvbD40*Y18bab zvd!!KJO-L5YV_$&Et4xpWwWi*%D@#xU1El0^w4D?k>bciws8hokw@s22>&d)+NvDV zHRw-na7Bu_$^BWRC$<1u4(~it#IU~y#3S7gRR)empu@U!0U_`-f2<~^b3jSV2w8{< z{Y-r!tDuh+&k0;^`*c5fSbe_1??znVwxSaW%3@)-6u5a3`5DG-V6AoHux!+?QV`tl z&p-g?Dy{v6`XFX91e5mm51pwgg)#wst}=NBA0x27GIsL@{Q=G}uVDw;#^23{--GHR z!p%aZ!KVC^k!q_k^GDSf;}jHocB&G2Sec8le!|b~O3&#ahN@Lni>l2eu+Ye=BQa~b z3|=}bwRBTSNde1eC0Es7WJZe4YqV%dRn%yL9oi|GXy*Xip0}LfDF|)+!)D^cK*dbN ztT|O8)K_GxD;Y%RnV3feW^K%~eqhox>vbq^a)(uSw^pJnZ2le~FLdIF1Oh9{aMij;oAd7H@Z?a0MkGrn$L4Juf=t*ltZvv?zu)MdQ5qFz{Jx`zA=*|eS z<(OqE;=r1chXQE<8;f`%?%<=y6#}&h#pl{Ry0+jNg*88OE(eS3*Z@ERRs*SAQtVAX zkurTna9=l>!aj9E*P&}jKUFfKw4#X1{LB*5YXYgFF#8xSY|ka+*2`g)N1Q3u0*JI& zAis5UGckyzE>I2T0^fCm!NoIJ{3zdRCx;jB7e-}sr4OWgk*n&O2Mbs4p~5nWea(Uf z=DE6Z3cd(1d52&e26B%g`&TSh0Lmg)T*~)YUh&9( zE)2=TT{Yr^uyj)Iyk7GR*g5@mF)5d{tb#o8G-|Y>mV?{Z&&|`rg4xN;V!2#aOBDP(4^^I+1g(aF>?1G$`5-Tn9azu&tU9Z6|!kI8`3k;G4)ATy^!O6GqO_EbW5ME1i<* zcMAs2X6T4a3gF(uMy|ZbLi29BGbZs}LjA#q$awVFRrN$8VDVqTR}$6fb3RDdr78 zl){#H(>@CFN|H>~=g%Ta)(scFXVo>8_8_ESO|l*PtURq^!!NXni$@2e3gx=szj!70wlAazLEYA|q*Xx-SWXI+yikv|Dt_|p4AygMzCRIK0d65(2uA!v z(R*P~ih1+Jj?zyPGI9h*t^1n4G)9Gz5f?M97^A63+4I`TJKn>Cq8{;MXE)_#rAUa+ z;gGjYhE3VgA;c~>wnD4LGbY(XWdKPwE9b1zAIyFA9p~OR5!t=-{$*FgY{Qmsvl>jFb=01|CFb2N58m+ngV1i9cxG>c8|n@4ItIhO^LU@CjEP0u}MRv}p> zi^YXGPk4lhr1Pr^b$mP??3~J-e~1Xrw0|k4+T0x)=Xm?8EqVoT*OUVfTTOzIQ?7Ww zP442v^9F;!Hed>fRKnW@p-wfQc^`J~bn~Jg+&>G`U00X5V1DN!-yNJKUU5_p(xNfi z0OrvU-g;h_{gc8+5884W&P^rj0J!HHQ9Mtc#ft-|L3c1$C-K2M`0^eJ42YWt&)Npg zz}7(|W*1-dS{4;B&h{F!o$ye>OrX_FOV=x~m(Zbed~GX%1fT3$w`->*awDCYEIa+j zxCGC!q~+acvufVKD?|zB5!hF=`Aa0Q!FWlts~K5{{Mu|ClW_@ptTsADiF;m3^rF^j z2OI6UOW~$|ToH;9s%VYpWp_Xm{mmtRx~C!H(UG3U9w;1hnv4a~4;h%Pn!kUbV2K0= z-q8E@vbuX3xw>2d7k6HvoahXyAJkLXBW{+Js|+2N!7vV!MD#WFVTziT%hT-GaARXR zXM2?bvax~+kvZ84M%)r%5P|xT=(-`ZAd`^K?$FR>n_j_LIp^&bMnRG%l|WSxR>dWg zb{374cEehY$@h|ock?c+{kWKoX`y)PzO;VWY9v(6-K6&Va2J^ zL{pucgIR1Nt5vSz77*@Kn?q>T{$9kj6hHqunzY*&;QYOAq*C)NNuE~6>&`7ZI*gh;;pahoUQC6 zVQf)o@$NVV(j#@tJ2u?)lA@ulW>;VWbQB}UE>CC|>_E}Man%;>Cp6ec7zwzkh(75| z#%H-AUC+PPdPk`;RE@EO@Ddob+()9Vq!a#T@a}p}8u28dEgIGsT;fpascOL!;|1uT zR57Fh1XvFeRs?ej_86w4*#Vx5?tQ-Bzc*R#^nAW~MD!!1tBY>Adk^qR`=ecE$4vtI4D-mhc%y|vnCKx; zr1udRGyR{q?p}EeI?429xD7mGb>!g0`1X-XeaY%8@IfX?P1fl34+V zdnld7AsURstGR*#7_S%B>ZQa{SS5{wVQ59|wLt>K>DLb&5+cwpRN5;H;>;M^DY~5Y z4g7%yD}{84KbQ^%BP&OY)Q7-A)ELh38Cbl-%&JeAK+tBq4TttA-H+Q3LOrX)2#6+` zsXyJKV~Rz++FMf(PB{b^mvRN8U8(F9%P|XR7uleLgoIsiD9Il{KeEV+p32ZI)vLBo z9P$3R4g;r6JCNZmslZ6oxB9TKL1S$qu`2>`29Wm7Dype3g$e;-!57H6WuTI}{&7?- zpcVuJP_OD{!$aR`kkKFvFlH&8a1wLsXS%RpiXT)+BaiUyp1P{C+1e*r*^IUH5@sT> z@4tt8wciZOsSUb!Xyp*x9@1%7uu#k*kW826@C*v9qw1M)$H-R1NrePP2 zu;H*yaJaGvFIy`Ra}ly7jy5%YKuuwg8Wi?UqOFB`zFn2wLxbfs-(`jb4q#QX)(e8^ zjEiTDZ-&Z$2+m9@h!#_JnBS&q183Kim6J;v02uO(*Sms+$NH6KN^{)2Ac&Z~nS8z- zh7{G5o;q~Uh=alIv|_&+5KttS)MYu;j$dx|CzSa(gmQ(4tsp5E=ZT^N>}p2ao(R}B zID!2(_9sVkg9ol--zua-bJ6NK2ns-x3Q42lX0}yS9SDkRVk4x#+mFaU63>s)a8FJP z$FF6keyT)6;QJ`2@ECX!j>F&*u|O-j)Jj`Z6;!CHHP+0RXHj*9KVP2*Jmn&YbF(@$ z524NHunNXO5${oc_c=TvTxiTg1s%CSg}$Cpu*|PKvY{BaC-EreL;+&X$or2_I$lx$quFP>`)KC{k0Srx2QCj#Ci#v#Bc*3C+ z!QW=*6I>CN*-ZMH)(A7q8aT1@1k&b*;3)<`+jL;Ws=$HR;?dviA>0P2&=Lv5uF^;{ zS@;v|P!9FuIBn{(6+M-Ccm6t`+gwj$m#vGog)7n5<;2}PGh2J!lE)X;=*a`nuT^tt z82utiv8|+*IZKc5rxtpc#M6uY`~7oh?0hE*9$&AI3)C!thIP(rGk^uX;o2Hw)f34| zN&}_`dai5HofC-7H;_tt+K=g!Iio%>hsiaKHF)(+44uiV!F@E@ihp` zIniLZ`v(K(f$m8ScucOvENd|fL`x$DKIt(>WYOiVGEY;2=&g2Jgy&%P0~_s^HYUG` zBJ5nf-IfyEMctLuhm!}~mCG$(rDI~tCZlB|`p3rT#_$A@7E^28QmD(Nb4AgJ69j;N z)_3A$aQNRnmJPl1W=LR{utkmZRr$lQLbtSRu375nCEFP4YBpt&Bx7^Ln=Kn7g(Pt_ zM{&a|Puf3sF9Jm3CF6#sIYmu~%iS}pYXw}Lxh~};p5Qos$&?~p-yGk0o9uc;ZMMs~>!u>;XhoaK-pa?xg@&gB(F#V+F|+|1gp6mFhjc`!n( zCGTeAqSz6?>lM>Jigbl7RG4`$;9EcGpp-^`Q!`_GPV8SYKsUl64=dsZsLpZ z&)T0=1S~E@`z%UEorNB^CR0LPbNFE z7`YFsyL7c?iyFB1KrWx60xIj8m$h^U`GkYDosIr?z~>E!A65G}R6m4li7&43WR?L>MS{JU0y zg*S}x4v=a8%KPLOaTh-C$W|_)x{2!6;8UJH(6k}DDQ4OvK!+X-9mm6;5V<~`-eQg& z07y8`MI8ob4*d`lF*RWq7f?1eY}$F2_Y!3|Mm~6zvW&C3q)h!uSeW%vJ%lPPZXPpI z#Wdn8rr1hq;12>_gb+}FvpYTallh1ienwD;pxWjD!*Ks$ZV4*bD9%Y47i;G2cmNdG zy=$>wDS3j4G06k*`}BMJdTvXTs6hD%(SiF;b;_zX*D@-P&I`Aw#IlQf95u z1p&u3iLmQEk*aFyBqW4a^kqOY@|HS-nQ=SAxwaZKaT>{L^iW6hK*WN=`WN;T zfz>sMmwCvl#`Hwxn%!&a96R|13YcqfLy*v>vwB}Wk7Zm3i?YFE+obCV%Hcjf$tTQ> zY`$m67KQPA7*kH}74x+IRfCeWkL8#Mp``1_Yqu-Vj$yO!)AW5A3m(El*{ZNP-_dxh ztxOV7H#*gbRtcBUFT?agB1a;Le%(eg!0f7UpS{~oSa=s(D^WVz+cT|V%*>h#cTX9; zd#X3#>H-O>?k#PhC$XG_ZHr7+2LOLtXn z+&R81T{PU+u_F%gPEksw)513t*~=gThsu9aE^bOT4}U4t%tyP%hlrW7$d@`vs*cEt z!+FA8_c5@Lwk6yDk@nn^f#tS{F1>U1OwLyd#*1p^716EGX*kTITH6KFPJ^)Nmaoz8 zlp;`r|R>?d5eP@_o6 z78RZjGwdb?EpqPe!8DOe|`-*CAE@=d4?DMNiclck8j)s&k)giG5+{=1p{X zK@@qL)~`|&fNEPmC>{w(eznbF#Ug>VHrpslU2`Y(1h=*0!;Scv&Ad$Mt1emSicV4*E4#Ho zgn=NXh$EpwKyX1r^nDCf4(sf_{#JDEh!U?6TewEg_szxU^>lC)h3|{e=lQet5SDf~ zx9h_b6T2a$P&O7J()giv(+`x9S>X`t`(1jWH){rVVS30@6Ia)@cH-gkm@j zae;U(2;~z*(U)GkZ0Q7|gc;EnbJRpucIoHg_B&=SCL6@eJ`gAu0comgzR6ZDif0Fp zJxeEiu7C8vlM3h|M~bFmqS^yXpsaVgL|7WTfH_?{L2+KEEM?B3RG*Yr|FX}BvvGh# z)IVpU8s)I1VSuE-bEifSEYtdh{C>yQ$tx($9poZ*-c8N9K|+3kOAgzSRIyGc)OerK zaGc*>5(g)R^5requW70KtwOy5ib;W(Zwkdu8K?6-;B&t@2^Y z)s4$Hn(-<{d8a_E)+}s3riPUKJLkh{h&1{!XzKpf=CS6!d#}|!<)w`>^jx^z z6d#gkD>Zu}&`V{@auZ9E2px%xlw$9k2!#LOC11L-$=jAx=)Bdl$NqL0;to4( z@r<-?esn|ZcaM=@W%?8vqbMh8UI5AI2;{8LwoT1?$+DRak`(sE#(oNM_in!!{myA~ z5mHvk&I?PLS`6O}=)dvLOW&uZUxc#8bgaJ1Mi}Yz{Pve1fM!~zp1f$S zJ?$kj<)Vk{?_y0vW}a4M|MjRcT8HBONrjj%JC666u787(G_$bKMUjzuI|IX}2*R)NC~V%nS&7qv zFNrFf4P=l%TJ!sWmgv~)iGlB|g*vaJr-yZL?wcR>o&pWcX{uiqmcM5(f*3a{&dR)` z2Rwt@X4pZ5zJ8p-$(d(z)t)#oLB<7k&WAVjFymZrGxYligVcb-*lKn_yo!$%TtWTz zUTUyTUQEBpvbyGwg7N&f7|lZw{d#nCkh*@HOH)K{InHNfv_G`qa>3@ z_pCtS;4<9f6@KOB;8K{64R|W3wZHIhBs`3r{f!^Abl&Mx{}=XIGLJX*o5GIz@F-jScjW~j+sS$!FiVT%j%a5-i^qBsWGo$FYPJ=JU`#WnwS zHgfPhPF-^qxNx8i)80D~`s49#@Jcu*2^#h*gpwbhn2Y@esBG0BRJYi#Yv{uS2{6nh z$i4!;i5?d-z-QboLi0U`qP8Z&F+xEZqB`-OpqZq92?IK{W7gz8le&TvO!<-XI=4iA|uPx0lK!RdmB;&G_$( zQ}D+7V}>r@tmT2Jst~T*ABKX+60YGB=`l?u<%U<<`C6-AIXiF81_U*x4pSX*QSXpb zL=qfOtjYeQbxI+;4n5>bDjclpY7?pgE;y=?O9Gnivs-@d6t1q`z`-$rEKBjWu&rXI zGR`Evfun2LhUu&LWpNH`5iuUnzVFAVuImS?o>nMJ0u%^yFiq~V1+E3%uCwV2a82C+HvK23Olj4i}q}uPs7g!M1S~sr$=Fe zy4Kye34GPvhf&3Wshw4MgcD2d8ZAUxA&c&=y?z%$wQkZhe&j78UF-`7PWtXDG^RBr zx%gZ2%T1az;H{g*`4*|oF{6S{L^QOZbW3XFCZYj%q28Nz4z4p8$J8ciiuS3CkmFN@ zd9LR1j%Ven4pwV{Fi1CI@ibbDY27607*{B#9+|0cG)g66T%G+G6wm^txNjI)L$%KDS4MB{vgTZk)~u)`FgQS}Z@Kf@tK!GbLQv$(@U*@i39%DCzSOFfZ$$0Xkr}y8^j>$|Le=l7S!tj8Jkz_ zgeBpn{>l$+)~Ce_8|Jt`1`-s$)dXRPTJy7>jn) zTGS!lxT_#4keC1#kUC8ID0k$v!}TJZPhYQldK;Sx^G3E?+7_G#cz^Y?jvRimPu45O(517qHO) z%87sh9L0rNW_y0hWypH1&3oJ8D_Lg36XVjmugvk6fHn2P;LhD5Q(i1m(K%==x>AS{Sk(Z zy%u7MWE(kA#jbIdsSzUt=vpl>e_j?~_TId06SHGq;bmoE@rCpA$a3zFpSOOrx~CN* zfn=ZPs1xh+z!@Lda8>mZIE7_eIhp-r{CXU)K6m-G%`CZxQly3wz?G^}NzB2PyDSdT z!=Thwbn2r)kjg%Z_U{oPIKf^iND5TrERb-C&EX@kqkQ{d{zqiwrauP%p^J1{i+ewS ze!O?qS0n1H&NVv;!0T;ccwQiV33c6@@hyMvvCiOA<-)@ei3do4IZ~d{a!XV1vHh~; zve}{mq921s(y3Q(hEu~ZJJ2*3{)rV7qp-t$wvv9E>c>s^`Iz|%OxJ53x6)2AQMrI4 z0bY~&a=}0$3GxgVxRc3UmJfR1zhd_Ic%5m9 z^Io3Nxgc9l!GxjjaoubN%wzVM7a|)jazpq3VYmNUl%M ze&Gnr!S|(ZAYic0%*D$_*(0O>VUgf~?Uf=IQS(VSM0&D3TtUEz529oa`t!)CiC|fq zu9P7r$v-QcIwLEz4H&%^G0p-c%!XM}TX_tl_G8Pw15ByG54$aALBio7UkZ}%owbd* zAWepuo+YTKU?(#higIqjTu9-O!>Od2X%0_zR+ zzI902OHh9upwjU6@AI(o4??I#)d7+SOy)!5;NMldBO^{R{+>I6h$TM9Tj87Pu1x{C zHn~BtSHIGAKGFNKfO++MCL(vONKRq}A`4l}r*rR+LZ4y?({;{3Ua~&SW<49Tn68L% z!|rtYc>D0|+N{xi1fg5oSLL8`vgw)~kCNYu4^mfR`+e@e_NIzMwy|9n8S}6ML}Rqt z#}1K;%`^;C4n_{CLgA|v_KC7(cz5m{Pft)pGsZ;7VhtP|&2ICxIaC2P4mRadNbEkn zxTI2=p3DE#Ca_EYMkEvXz`!W2T*QSxjOS)EKePGxq-5D1*;MyM5l@F@w~CZ)n6-#V z5a}H(-he$tp1wB|lVSssMz~>3cR^YLr~=sUF2ImVl1&JmaDGvXfsI2>6q?6_ae|d` z+HE%SM~My-NSBL4R@DhADgg3Ezc~Z=ECr7z1M42giKYH?Q>|p4h4``lrF@bV^)y%! z%0i2HRY*ho8N8X+rmg=*b_+EUjK_+{!QN~Fwv3ogcWA7be4I1|sb?^a6gW9kZAodz z^+sFP$^cW^?FEvAeyP6URKa9x&2s7`cN^UX@}NdWn^KSEvsCUZv_c=Wm79yEDkjGg zP(})8e}qByc(kQ%FaP2ydo3+~hdh+RB?rWTPBh%_&>l;ld%tn(c&*Y4eTY-ugP9Gr zS}N$I?$>J&LU_wt(m0TRqG?Xg0@Ag3fOYL%(DWTE;L9ca24VsTOT44DlKJ%A7IVat zp|v3x^5`V8X+V)E4@*e}Wd7BtRLFr?bF~2t64Bu;?;80N{KaWieO435iIEQ-@-Sg~ zyq$bZjmAV2GpevRCu7exF1zr`p?IilfX8?VQgDTN?dTyhVL_qnuy3j`o$;VW=Nch^ zgsmSLF=%3>;^k*mQ2WZ@XnscNV#>$KBtrF95i)A7K(DnG}AHIi{fR-{Nby zIv1PY_|?Sc`}vtD#>mIlA?#Lw3Ph4K(M$(Gs_h}5v8AV1IBY*FEL;b_ILa07<(>%^ zWojdcvm=8d%8d(Y8OLd#S7aqH7xg21EK$c8;qd@n@0)-Qq!fr(k|n3MB07_iES#9* z#*90ba_HvSkmtVt9a+-?J7sYEZCOlgk6AXSsbn16Zx?6`8N?=MviDx3;$Fu|A@2c- zPpu64FAx`(moZv?ZRg@e=;I$bpp*G}+Xk=snhUV*Zcg1c1A`ZkzqsQkw`Y-8(_nj^ zt_H(_7vf1f$4pO+!x(D2E?C+RO#6C{ zAlv{Q43*f#HR;<%+zd1fGY-#yl(56+x*0nr4o+Zj@1g)GmA5Olsosp~jHBg4bwnBV z+^%0qDjpB`h3uDb6a6lK5@6W`6pk;>*;O(8#I1iK?1jSm%f5!=V zGG$3#oavEYaE6DHQ-Cu55x7envXM2CdNrHms`SL4$2s`$!XmYJ48pWdS~&ztJ3i)%RquwaUzuqQU{4hjz45MXSTy%$J%LA;HC6 zAkCjxz)KDzE@%+x7(X^u5EY8CC!i-vDx1|s=j@XaiD6Tc=lXSeGRx>OUl5cfedLK} zyt`qO0n(yfnM&M2^k>@asnRNG!BV3BJDLQUDS8p^yybE>b=#4jAnw&fXL?>e z?UjDMEA3IgWuKiqLP>*LWu$I{Z1Ak6!BZj1NODvA<-hb~ujlQ5;7vT6a z9)jpz5cG>)Z$?BgbXh55M8wQ%d+eG>Iq|vw3p!x+f|Ug{=-g& zh$ybx0$CZot5l^wXUt9q1J2e{I8B;jo(hQt=P%@a1DHI_N=bLhk2)6OWRBE)e)m@C zUyilwQ`xDcQ)Agt7!sJd#q=6ZfjKtG5iXhtuAMZP4WUL1l6!)brj@c6BUCH}PTJdC z3#w2%cg|w>XId!>8#p*Zd9C4~a{hLkadTa-#4Ajm#YaIgH|^x(^|>^pPDR9T$&H;- zDX)=-`!@)2s#kH>f`7>i5Xm9Q+yrlsZ_@@8diEoW!a!2Ey5Ozv1nU2a`OE=A214o~7WZq$Ic1nMdOHLx!bFF*4Q`k;L> zM7gs8rI-ra_u;DsvTsI`)xYC||gTctarcM!Bd<79I#5F1z?zyWrZU zD?d4GW+Lh;Ndg!>LAEnwt!-z-l`6om^qz%iqLS)i)OZ1xU+72USggH6P7(kr!8;mc zC~4!y4O%~TANTt(r)(a;{cKbmB+%#igJ(O%B@dDB8&K2vW*d+=f=x_0tB%3`dj%qJ z4V&dk$Zm#CQ{|Vt{DN!p#*%;GSjl1r77Pgk3tB;O%T*~o7{4h#H&5;I6NFmt=-gMo zy#D4I=%=+&BTOCc?cuu3VivB*Y2@#-&6+q%+y2_>)OssE%%$EfPFuSOqfWa5t{cjI z4)7*aeJ}JbYSG4%jql{LTFF)#8H!koP|W?W_NjOK&js9yQ?00771PNZhyT(GDIpPa z_fSB&a-R^05@1iNHFENt_Zo7Ev>-QBM8FCPOE4i%+7lVKM*T{QMY zy6Ouq)$`@p*Nxi0eAKQI%cQKLa&5*^Ad7`+ALA$heAz`cP|AckvxhGI?rDTN211V$ zM+ud8AL0a4QSiRN+eLvr+2Q8t&lfQkwdARuPV9B8Pj~#E%}RZ7`J9|;Ks6o(mXONj z>tR8Dtw8TwJu3iFhJDq{R+WmHPy*stuW-j{&nRtSHWk5PT6XRz6^Jp(M#q)ZbolGQ$u^buGDg3?lAcY0c)iJ?A0^2oiP z=ie82bN~Nlk*sF@!Q}ki?-BC54f!eiaBI@{B-doWs@Zv^28#g#4B&)wX+lNv@@y!n7+KFKGv)e7 zn9<64J>3{{H*-7&Zc?E6dhV4jmRvV{J!4|rM&7%L)wsN{4|4gsFeVINnEkKh-VqZyzlxj?_PR&&Z+`yStJUg2~mhN-=`%*&W;{`iM zd}dlI#0=RUyNpQ^rMWwnCPEf_I(LamnYCoc>cKl7)=jU4nUWw#m?!qi1{)ywIVD3H! zq>zMJAG+Rt6P3ay|3T4{q!x_m57}4`G(I;En{SDff5~!QjW1?0-!f?Znnb`HoqvF= zi)~ZHk#*%#N-D@_)h4CqE_2Sla|7kM>ql_M=<@UXDi|AA(ZDQvCG=JNCpdK=E_a^A zjeA`3W>BKE&2`o*Pr%hkZk&?5qiY~{%hD9Xp$uY((R{tGs8{Ye$4f+}!_A5mB%mi4 zrbzM(+@(1OVy&MS4OT*+sr}Oc*d(KNA5Y|D2g(_zv}04B;KWTP@vZ@UZ}*ufz>MUhzjnUu>&!h`Sj?+ieF`7H;4nVXg>_z~~vL9*xYn za4y*5t#us6o4R7>hPCbNUXZ>3oM1XV@nKRk$w$9hu$ADCyDkl+?cf(Y?&?@BsdbI0 zx};`GpDp+JtDU)ei^lB*{>$xHTgL4dj%jXJW>Z$L2)o5Ho~tfhPdgRpOF=5Ps54z} zJ$eoN;l=4Lxt(g5Sc7?T_4!a9sL_R`TE26I|4i7?Kt~Oy=VC>H3k*5^tm(DSOQ!Q= z+j@k|A>wt-@x6!YJi4E8K{CqRlVeSAhW>p%^eiB1iaS3jZBsUe*<-il8KU4z`#gG{ zIPVB;;oZ@b0Zb-9u^Uwp^?YS?!<_`DpDu=Z?tQ)y4Z+zgxHldWfs@H}1$T09h*M8^ zg(%`y$_sZXEX-zvJD@nfLM`1Cd~2Thx3ed0-oxu$8j7a~7hEPJ7)(J&m%d>C{?49_ zr8yqmP|}UMiLY$RIT_eaZF_uiL^HrpeWr_NaVcFnds99gZ9wmN3pe2X>Z)8^fRu%U z2Yy=2>*&4Xz`MYY%lIDtxpoomz~Fk6UJ;Q#QEak-Jd2du;-4py=fVE8pGKFFzJ4NV z1X22rL;PJxL)0DAhDN*X-j^$MhprcM=NPre)}lTMhR zB;@YD%A`9Er!D7O2qixm@s^qe&$bb`cpEh|XNDnZW=p{t7flG!x7(+kj_k-zUc2P< z^_)s|N%=70b>)Iin&WdQ6S+=PaNk3xyuq~KI>rMK;tVEl?^TK^lB~jWU&oD1IUMLg z&a4u1DM~qcdot8Gj@y{=_!-@Dr_zJ$DqY=q3MGK-xuwvY2M6n8hLvdnL^#yOL#ycd z$Z=Dh+txAVM4lrJXFioDRiW5}@r!h@Ixr0l+H28DrCVZQwhY+Lgxh4=&GlVZ)r@4g z;hw`>U780S9-glwjXvvGq>y8G zPuW8o)1W?C;fBepUp`_44-r3KPJ*pwP^_hofn&w<&a|>~EKV?zu5;AW_0!iE&5XQg zek269OT>KMVDB+p58-aU>Tjq4b(^nOab-&mEIs{YS0LqcE+|CB_Q~=d=u1MkEWcSt zqP+`O{vN9iC0zXMXkw^9BiiF_Jf3l*YapszuqBEy(KK!Oy%CLEFhEm=;s1MWwP>kspQ z&E|z&t;Y=fZ73>nCR0VH#3}?mT8aL*O1mPBDp`34ENsflSH&oss%ZYCTc&0jl_;}Z zR!mE~pnfw^pbXSLlYlb<$c_S-bWpy^Gk-O!lF%GmYZXX`cUg0XQd4osZ8yrpkk98y z#?^n-=t5dZOqP!8B^n>#f0Mvqkgt2p!cn35-*c>clGB+YoYZWA{H^liZjne;bNH7zeC|w9P^{Fo4hIPKSOX28(b$P3QsC;tSaWrM{#voYB zd&ui9gnBbRRW2&p)9x*7iLzrob+-%5ZRYmfH|*;7wMwXv@X13jrGLw+E3|cL1Frt@ z<c#}Kk<#_kk}4Gxv?m4gfP*UKB*x{j zEsj4v&sDj_Wx*ky;dGHul5sd2gSiPi&6~H)Jm;8GUnQN?rad^&@R1}_QCQ-s7T{by`Haf}hpaF2{#vf;^RdJtOZWHrV#z#WqX#2XCWl~R zF?M4JoWk%hSy$PZ}GO6bFBR$;%^&&ywd(qCt}%+K72)F!FBTg_&)GWwnN+A8^$I@6)a9-v-5qlo`G3r}dX5fSKubgOi{nOES%l!|HLaWyu!2GbT)rj(Q~1qX z2dP=w**d{$RGW?K)+L42whW1URn|ABKM{4V;cFRh$xBrWmCXm#ug{W$DgJTf{n_Nc z=$;NWmoYJ{&6r^H4;SzWqh9v_R!AXdr-f>Ei$@F2>n;H@t~!K2{p`waIeyRQpKc^A zN=)R9{j4emgO#TpDK6^iys3Ght&g^!7emo~-EqsZ>fF=)l4I<0YkMMRQru32?!}s_ zb8atOSuzp91JjdKM-QsKyKpu3Jh)p^n1JlFka=ZF7fjdV#r#n4Jrs9WP?#S_5lkZx z=AcnZ%1oU|sac?=mjoo3MI^dJJx>6e^-pk%fZ}n!jSciupA=V^}ftWUq}K0j9LPy6rng6+Z|^w&4ke~B9{QNCqDJ=!Om zD4LCS>7V6NnpI z;%QNqW^sko4(X=O;TJLrie)iY_4xJdpUkE~yCP}sBFSr6=^IYoukoz1Ry*mrXK z29NY_4$EvJKYi@eF}=hQ<)gghk>w+L=>rTX+=uitDPObs1V3#q`ZzyvtbRY@u2tR$ zWnZjx0_>+|J$mWYjb7VU)Xz)7(!-!fxq5X^8b~dTgH{}VnI@7Qd{YB@eFNq%KcM3b< z{z=CL#{e$4A;O0q%BW!0%KNWZ4k>v4O{im9?(r4_G!nf){+hTsRdQ2a+Yt4jcNn$* zdep0jApE8#(nQfr;b}|Uth^y2f4?%)Ct2aO`M5a<(htVk>P%8$OjBVDr7$L{0$M~cWD!}4Ac2o8rmHZfOt5(=qwFuI<#d9-9#-=) zKWS|8F+XiAr;|NvdgC`du>7Apmt^%N!|Fe6%ljq-;e_6SHA2$BC@n*r(Ohx>h~Q<* z&jC4W1XK0gnl*PXZaFu4hs9k2OK`a~kO3>M|C;Aq))&DZv5g2&VGngAzIpZapS{U& z|5z_^nFl*OV+py+xba-tIy4s=e0Gca@0ZY7U|cvYS1}DmRNgtFTrmd&iWx=zZBQun8U>l{i65oIWjQw5a00jGPC){)~tPQ zGpD~Xzr5x1cXnK)04LjAX?qfYA&%Tw?t>Tpt5a-Y#OPz^*d9YH-4Z66XNK8gfi6*G zi9rrx$2M8Y1U4>IWHGX`*s(rD#UflUqNq_H_M(GxN<+Hm&$EZ6&Il)DL_Z-}_LpBy zY?xB5JM} z^V@1u&ov1`(rM`;xzchqO>nhb%oip6p%-v#2IvgrBk3L>@3j^>YbXj8>39wgfdZlm z0t|O-R^zndo8d8E$gLwTx1Tw1#zQYh<#-@hPfSV;+=FdHpOzeN-!Hqy2(TY2gUMc_ z$VY|vCrEpE-V!h&qX2MiU^J?hXiKM-&st ziqDa(n_o)in;VaLdeGbK9if&m7~%gzV&nsr9*TCx*@#5aN+8as=&;qvZ{y(GXnLc(2^ILousH* z!)VVs;_*fI6F&`n49I%D*WjH5bEsP0I@C+>)$M4H&=#uEL?~=~Kmj@joMzi^Hf6}Z zcEJSL)DHGMZ_bY-#vf*M>;^!=f%RJ8EWv|B6I2?bFjd1RGHtN9FE}M7!?(R_kv4Wu z=Y(C9rGEP`S=zjImYxnnRBTb&cF?zoYK?y5=NY!!w6=9kZgK zR?}z#x?(-10Nbo`h<7dLTWYC$;HoKvTwGfowwX5C& zIZ1OJUH=qOQylc3ZBEc1^Pp@8>PC%~XXQgeGUBV+*P#hLY$GUEH8y=~0zKAZE-$N#TGa@T`6-oc9r2+%JM3eFSGsAYi z^rYD!XpU*>Bg!7S!4q2*0`zChnfg3yE0~MLNLE)>2 zky*JGFRzU~|__T=xC_ zFVyV_YJEW~!}!WCUh3@P9nWKE0waz3*qhuNlGh;&yaKu;e<3u3sb8u`uwUN|mMa&t z_IN1zKPFsO3hknyu=h{cO=_h_*=YL?-!N^B`p$)}&ob73)OyK67&?#n8sVxW)M;^L zlxFp1R6&kf8uq(*`fn`^OOTq?qT8O?Z-ERW(Qa;9;7WF^f>Km9=|U)QN#`ffGjF{P z2e;ws^d*P>OsRuNkBCRd=I%Z`j5rivu!r}A*eVGG`R^w`b|^s-p|HXSIjo9vlJmE& zMz1eE;L7wDmT=jvJ8G|v34{WAR(Xs{%#g<`-JQLSU9GOT zHy!D*3i3gAcY^!9jAZ$yI!G-(?!hgfb67+Zi{XUadsGUmQk!qXSXT{eE9i`ywl`M@ zn%B`4X{{rfK=bi~GEJzHe1PVcnpSMm@TqD80;#r;DZ%gyOMA*h1nK-i>4q9~@Udwq zaY&|APV8+BxRLdKNiMfwX=<0fqN8TRdFz2^kxntXftWArGsX~BWAF*Pj%U-*fOAI= z$jCPC9ANsA(E~``uvEF76%Y5d!4P~|L!wk8J z4^P6isatvt5X{CNl+{yhEDz=#pN(Nsqtww=nMy!XDR6^Usfbsog7a&^91;lLeJ`t9 zx7KU+16B?m-Uo6CW`}SQxm=Gf!WY@bVu2wZWuZjNI`vzdN5uN9;&z`qZ!+)!#B{7k zQJkDm{TR!G2s^jK4zAhee<3l-2E=g6tyWSm`>Gv(Z>mge#P}~sY#21QKm(Z|| zZuA2s5xNp-1hb%=dVCUN@OU7K_5OxEYF{=e1SN?OgHGy*>b%;b(w~y{+)$lYtddO? z0H>KbS#(QBZf10LDHoqC76fmBBJ&OW+>DFugU$X@9gG_W$d5RGY0*z=Lv`9wwxf?x zbko(5<)|ysc`4d1q#O5w%F$4}7JiB*2Y=K(6$Y_q7(1SeUiZMI7^oHG$C$e7;rI+Q z6#=owSUbvM<3D$mqo>`8QhCFxyz}BT0p(*+ zFf@`!=n13XM`i0AP}Df%er4Zi#cexg?2N8njxGg<@zdOM+&>km171d8kHLNj#7QUp zv9eDrCV7~@s!04&6IKyhPlp*B#}<}0mYgti1Md!8biZY4`CTUq0qmBn9f?Nvu&G%& zOeTZXh{2PzNVx7D+u$X&Nox30d}-DOS5?%(1op!dX4Kj3cH8}~oUf)Y<5%De;ya-T>@~^^v&9TsZ~&f85MbN9we(7i!e5gGYpDF3 zvO!U3%o0GFd6)j2BRm9?bXrYl%0XIXU zcJ%#$`%mLZmcQVJk&g?B+uWltX~}rl-8kU=Sl~uLKFIu;TTK zF8fo0&pv=Dl=BjQaU8%^o58kep>8i%Dbes@(Z0)%qh5~$Tj(&CJk&?bY;F?!X?h6{ z0C9H|9G4FrK(NOnfOQHCb80{=E1BcaqL5rN2T^FH_?YDLzhN_BNIad4zxp*XMb(^LMWvwCM;(THs>wK+PSH*r4Cvm0 zWYrA7YGIZrZqY8zJ0?nF1fA5>2CT}1e-A+CS zA@7dM-6eRfucE!#C!*~>$hg>(DOn!gyv!)|J=s^W@h4hCyXUWaH*Yrs8hmI z%vnUFRFz8Z7WdL2m8aGfV1$=u6zQH`KDHpiEbuHXoO>N-V<>BthUCjW5MPzp74Vc* zQcy)RM7|FBn%VeP=*vUKg#mhNgXQhGXV|u6reB|1kK@GCoCVdQgOTkYOW}Rb+JPTu;<7b9wizr!wppPT^X15># zxTl!I%s5_4j2ym}8Y!Ga5v*r`isNr6RsXN|T%@|rh3`&L>LmSbE;*J1OXP@#ZR9Y1 zsyneXvC&b#!{u|6s~zr+;GlzQi(ICMaYXx&@Pu$_)ZH&sdLJ7OM`H@N3XfGcPmgAOTkfj@;FI5MNJIt| z8Aw+3se^xb3>zrSq62C_ns-}&`8mP8$912y}bRhtw|6E|KJK0!gREnxi04{L$eq4(5fhg+m zc5c+e1WT)4YFr1rENmyHhNrBeN$_%h)9S;wo0KQspQJx>T@e?lozjVLBT7VLeeDsO<1*b zX%qLBZxSQNfa;@G;tE0OHVBu;Zt*V>;+DC1uh|Libwvzhse9H)oUn!_~`_UoosHT)ulrfR1s%pX@ZB9Gi z>Yr}+W;Ay<*nT`TJL{9zihFhy9UTkfsqDzh^!)(O{T35?(={P0v;Ui0rttpdjt#Sd z(mFL$ichPH*emRP_W-ozJAZ$ZA;-Vs53D4NQ$8@J4Gk_tQDagM{t~9}#BrC@W)xS_ zs`JT{k-iSgNl@J3BM(!`{HenH zfcWndU@nc|PlIw8-&8r5@&{RPwYd|2P6Qh95j2q)?VHL%`bh2yRrL#{ z%Ket@f^DWoxi(!K>QKdZYFoMMDNYJfU&r5;CUG&F``i&N4C)wDn3_ov7xmsmkU`f= z>i9PA9v^c70xs&$h75iiPww%4>znrjoWmXiL^Uhf1opb9Sxx!TyEpw`KAm!zjYCpJ zm6~{vZSS@U>{C~4CHN$#n&#_eWB0q#>hno+fZr$+mf(=;lcoVYT9R z4>bLY#n4{2n$0{T(q-8hhwHrDAs>vPStx=@4J4aV?O}sY=4ghd~2mnC-e-3jj?VMc)aayYXwpFdvf8cOkDXbFISQJrM zFWyAfMEZCyjXnz24x^9$9_8g7=ZxNovggDtkIC>HnkAkV-f3`9kCxtb-gu^kpGdMd z*-+x69So0-Q+EPdme&=NLcF+Ok6e;^%&+MUuhq9Lf?{iq6Ul93i%_$g4qVSiq?$r& z*tlktY%$i8;I!A$;IdZ};k1`hXQ4pBdsMfX_D|R3(EU?BfmhApKi_NW@V08&pUE{3 zwv=y%x))TkSFm5+Jl33{(M8OrHZ<^>GWBl{ZZWv;1C{mmH(Ajq+(io4-3k1BPP)~^ z*`-@`J5DIjZhT@@i<2eccauiHgR+xFb3}%cDcIZ+hA$3{=zp)v^I4wnPbO@naTdw83N_QssENE&cRdkeN?9{Cfk7C2 z_I1`m`gWbwkn%wQDgo-77F;|UU>e#tw;%3z9N|~D#tt2^=@upA4^_ld?M+N4sd=d7 zq6ZfT&;V!W$_xu-|51!?YV@CyikC;oqjBJ}*i&c3ozm@M6WhuRbF*6zJN{J96ZSJKao-Tj+S-2@HPK@hEjb?K5Em z6~ngHWnBudC{=IARl6@#3B1g06&N9;MravXs*$q~S&ulfZnS6WjMy}XAU9C#XSRCE zR=V_YEp(8c&Mn?eE=qCoBcgQuuCgjyOO@h0p&vTTuG)d9SnFEi@6(FN&AdouiDx4O zEr2=H+cjJP!Gep7m}<}{1zHuHZFuI$`95q#)AS7+Yz1ili;doVb3iEnPzdcYKn}+* z`~aBpsBJW4fd()d66A%pnhI_g4gWXK_3jXv1Rd9l82cQGM_-e6AxdRF@QP%Tn*w}3X6$6A>Xb+9iR4YvdO z?Y7G~uYKSE{`{!*s~WTk;12AZ2M0^%_mCZ2Xfk>57v4Poz#bn#vo%8GoXu))>`gUI zDTt^N_o%~s*#mWz$fqe2`U(PGhB0+Fu940?cla&Ga7P(OOYY0JHiDqbz_+rt9Iuis zd6(#;79(Y!e zDoCzCKlVcnpV5JozyQTh54bF#<&L3r4Sgz!P~S!a#bxpvs&J?R+pO-|nQ>H>K9*I7 zwO{NGOY$vIC-^fDB2lju)EHLqP+#%n0r6^EwEX0mf5i(p_GsqdsH>479qEeE0-3w( zBO9LKex02}jmH(F3SdLen$rm0!JGP6Qv-!7LHg3miwFP@vsuS*-^+j2#Q4aGKx`eI z*TE9(iAIZLt7nfs*7fVwcs2K>OPM#506+S~LtQh6?XLXe#?JiZcgz3A%q$>n(5C$DJHTaXXX{ z*r~h>m@S98J*m0JKB#)p z!@UtW^GG3&*MwZN)&!WofwivQPPVzr`za*urdXyh&dUB5KI8sQN*I=CZ z&O-w5qHE?pwmu24;C`D=d`f*yP_sf*B}2+IM%b|plF2UsYyr}BfnXH^L?k4;Ux)nJvUCY1&vu!W*NhhUUuQ1(Hs8&61Nln>$xrDp z0MvTz+bP%yKKAh)RFZ~mIS7DgrtOApS zW)TItZRue~iG((ps&t15vD$$2HGqyqW7jsOLAAZnza*O!0dD#;(GhT z=Jt8odLmKArA0HXt>-k4YQ@a1IAGO=+sC~)BM%xPh0iJ&`Md@j!;iRH?60*AhPm)s z{O+Pd7w=X}T1j&zkr*6s`f5gm#S95Tz11riAG4V&=kL9#aT-!NRMm*#w$f4Wp%JQS zWZp9YZ^@5Ri>+9B^dyY=IaS0x1(vMEWz)owXGN$UREA5&Z1{YB7Ns5}=yWrD`qgqN z&#aP5Ei+^d(XN12zWow_$t4Rk2CIi>ufqJC8>1_OInfKVHyXjb-_}RsAXI<9f z$Nbg3=q_^9yQARP) zO>80$;gNb5spycRMHs*y>48ByQVeKFF~Bt$W+B6rgB&?1F~~`Y35R0SJjNoQUN+3e zAzn|Y{^h%u5K*^Mq1qN3#u)7REx5$zq7Pa@lM4))r{3ZD^wLhSsZAIjb?OMbL%%{l zIzSI4qg$M5C9&C>CM$21h;*e?DSzpPMouNO48v}1!?68Sc=fwA;EoyAjGGHh2r7Zl zcXPmC@VS}XbZ{8o5{ct7&qMVD02gzNl#*=KBZC-{S3s*CGhnlHpBj^=MgENqI%W#O z)yNjkewZC?Z|;7)M~ll_y}lj=5A~3Pzp7vRu*EW3JLa<2JPq1UP?I^>0SjLg$k!|s zb+<6un#2@wn(8o>#YjHK7=EYRC$pm^-K8$;HwFJ1318BmQ(~m-IixIYofT`()eWp+ zIzh0U>V<(bnao)P=su%P1Ita`r@&5`3~8Na7%pgXo@=_I)DB8SxDn>8zlqq8lG7rq z*T5CU^%TS9CKRI(TH!F;c4{wM{Mi}O%q=(Jn-xBJMGZQ+gq4w6<|3x$(Nn>IS9+;5MzwkRJ{2%C_$hd=>mj8YW=@4*>K-DRkRBp!A~KHLk8)5EBD zfO6Xbnm`dwj{XxB!E)vRWWN_XpB>xs1E%-tK4edd6al_9>C->_MR`peBDBaz5we+& zV}1|r(Og$BW(mPDoF=;DTt9ada6QYc77q5vC}3=A??$O>6S ziH2J$b~nf?z?9{eetzPWk)}N_?5`7Q3-RS)G%Hy{zyfClujN!*0Ll3cRD#aF-QfgC!ye|K?q=;r+U~LRNqyM({W9T!TE?4H)Uz zWeFD5D9PM}D-+a}C?ja%2CR)9CefGJc2ulM{*;myD+d?f!#zJYh53$zj}Udotes-9kks=Xk>VdhHRe~B&*Lb+Zwa_%V4(o)ft)76G z{ow-d!91T4vWN3}n%554C2~1?IQ$bW>niX^E2QxMj~hWz=gK(JHxlzpR$M211?FO| zNrFz$K2m)5a1PJY$--3u~oN_?IF}(wDbi>H7zJ0KTUDv;7sX;zdl< z0sQct&;@wwo8c)Ta;*WcJZ+a1>eHV|z1Nx{zciv<*)GKSVmvEKqDzMQUke6`49az^ zUP10E({kGVs2MBF$oCD;v1;HUKiCVFm{T1Y*5FHMgM<(#vT>=C8%u0X)>aJkQQS(C)3)A5~eNUHYKOO|j2 zAlY#_?Z}sm@=Gge*rHJWz-?2UCRi}(H&tAf;-UF+oQwR4ViHSoP7zn;q65mMM7`~u zC;O2O+WG$O;P$|rJKv7itKHS(Z})R2SDxRyrPRQ=zsI0kl?Ml;_Al8=B38Xi;RWT~XvG29w8<2&texRW0N@v`f;gyfB< z$EI!)^$Lnq=M=1~$;N|%_U&JUtKvgnG0uq{mZud?2FVdW_#`Om7!dVUHV|OU|)F7RCjeq(Db8 zX>Z#a=Pa@yuX8A=m7r4rzv(%Yh!~GzVZ2>#gO+j;?drJUdR>Gc*@m+toYC%>L>kk_ z&?EN{U&th{f!UI#^{qY5`BvL&@sxJz#ig+%rgy(YhMe`VJKTr++hp>1#nixgKi<3o zIBsQwj=OqIb5-=qc;4Szb6d?^ND5ZkTS zz}(3meQV|pA@x)kqcj>t>|vJ=sjQvN6j^7KMs=l~3MQuF!gm^UaBM8&612k*LqiROSbD+P^WP zpQ+4EkSEbmYg6`jtO0q*!cL|O=_3tXGPf8pAhVh5)zgmTW~jG8oKC=-$g>12Ql_!{ zlJvb&oMr)jQKcze0aX|Y(0$|!e;vv|t`j-L8m!ZQyCaKZ#1JJxM~G^}xD74%)YAWa zX;}UExvwrt7sqL_OTLMB+nj0C@!7Bc`Cz)y`n#Z#!xqcdg3TjM7a_Gq1`TbUv-y z0oO=msUTCNeYF%PPB^z0tGB>33)?fKB~R&ricPP0YGtY2+E4DappAxG^<7+ZM!*23 zbCj62US2l;)^wi4bRI$XBmD>DzuCrua8|a+?%?yDexIjSo|97_0(8a>qSkK<$ zAHe9**p54FMe=*m`=>0&H z=2^^D4pDNe>eY&Pi!Tmp~l3(RCWhf3E}fW z*3F7jK)IyXLL6ij*;J$Jc*vv?wJAX+73-77(Rbc9-pp4g#6@czMX;*d)g0sV<&RQy zYM(S3k!C>`2R;3O+|harDo?R`6%>dWyz?ow{sOFgvFrrN_^yWSx>GT<^BqUJRx*GD z256VxC+iV+E7hZn?Z(uLvy26$CVxzYhwmt#9;F}O$!%X zdV-4F&gOMw?E9eJu||Dskrj6J6sU%=@?q_1VyLj8a*_ApF3pl5dzo*=ruNU__KdGe zT+d;|*rH1v#{3e21whwaPdS*%u+p4+GMbN_A3Pd_dOFoaE-;QpU}&OE4(N0f`kuDY zh5;f-QTNTXo^*k^J^Qw>R#KV`>(D<9^Sw zr@(i?4Nk4hk^p}CUKK+9n^XF5AV2%aqH1f;ebTwL&|w;##`zQbg2}~s)(^S>u5lf$ zRapSMiY3*B!%vii9~eu`45A3ZIm*c)UVtc6izq}m9Fa? z2A_vPC8n1^U=lRwNerfM@p|N1u~_q|J5e6#uf_CgBzD@O<$Wk~_LA=5+Q?lF&hGHm z_6~^T@0++Gb~_v1&+Wd$rExh6o^7J0i5$5Wxc`PcgM$s2mNE73cPAnrX>|F<8ce4-|5bA`qqC9c8ZU0M%cP%O_dEFq|BttxNCB2f4bgLN8Sy>B1)^r^uSly zp&kj`_F)bzM(fdbpL1-?r>B@nOG*Z#I<7TrRLF*2-@+5J&J&TwJ^DHdS4BfIZz`q_ zC^Cx`MgIUh$7D-qK&CWgo@+$*HmpDZn&uXa$0#RnB+YlfX*$tX*uFaEFJ}uA9)yan zcdF|unW3WPR?NC>uLB0=zm)?HQ2}jxNUMFcgbl{-D;S)TknjOD6v`(}L6A+DJ`B;{%0=nl;PGt@Pjf9O_R=W% z1oqeFN;8)CaLkDAUDY({t-U;pB`T@d4s@-_ncg;A0U}jA1bu+HP!pJ*W)m`!9dtG> zT$x2*2mIUNTJALgPuSOn`PF?8c38$_rgsfT^T8S@pw)3whdXLBjE-Dga!tvxHQ0~m zg%!M_M0ORJb^XB+GV6sVJP!IpyBs;+jCPu7;|o8ohjb7@M27A?;qZZmn6;Svd?RfU zSKw^y^JGhPULf#hp<&6RAHR!%Nc#2BYMR;O%u*6cNw^AuN5DS{c+^ktYk=_Aq>&zO z*7Kjn0lA|}>Q#~-516Vp9-23KHJ`v%tTPJ^`^j4NeSP^Dmk$+LZbe~J*R3@!~sirq( zYA&wU)|*2<07M6tqz-ao=GhGX9YmodL~D*~s1lx5-BCp!@Z;&&UY!>{b8@@rTZ~D@V)w%AhluoP-eVHzC|q&F^tZt81`sE3cfoY`e^0q zkPF>hNktX=y@Trscquf}IgRha5rl6K9ynKV_54i{4R|u7WvP$xp*;V~x#*G-z5aEp zWG%aOc-v->(2BHwey;skLuERcUr=t?VQ|cxK_t`He*5mnr=162k3XnYaA&4_Ak`jg z2LTbBfZWPC(ywqnJ%KRr#I|%gRIl)tZSDMV{e*XA@E~yDO?Rp!L-3c49Yx#(wR;`@ z+5E{vk@e5r(}&w`--oTZE={ztGnDnCq)lMr7{?Ai)5NmC$5mjSr1b;K-qVD$k92S4 zw*)@e@b*ia-_PHVmp1Y=?}kCTsk`Gef@mF1h*YdM}w1Q%+i8A^y z>Gg|%9*hAhQUF;Bv^k6`Swp30B2L2Go*A8|93Pclx!5<pl)Hgg~1UAA@p3ZW3tYJZ?o??0q^U zU_?#tHVX%*M%Bxj;dpgRort?;z*>d{SuFh_fW8m}F`Ssyr9WSq?Od}O&$~t_zpXW($*8cyhD;h6%ATiSH2UH zzi<5$Ism2TkQ=(rh_-&?V{8qYl<*(?0gVz2K%?54Dt_ihhtOfqicJ@Q}Q z9Hv3hPhkp+ypGza%I719{gCM9!h79{Db>qp)ehC}kiXTLvPyl^N(s`=qR8>MP;V0Z z0`Wct9;-rgFCet6yzBSNje$A%dkc@3C+n{Tbif|J~kMuTjt93B+ia$Xga zYy)9M1eNJ>oFSxBZ&MezK#_!Loj6no&IToZVo;Jx&G z-9@9IX4uj>A(5561CLaBpcQ(oNP_BB`cn8{k8;as-|)S^)<>a#_+SV( zWM)&^ETSy{OWz03ek;PS6FBWvKWOZgcpSz3E1HLbioBGaYF~~0Vw`#@WW?9K4z2Th zcv=lyT3T%+B!Issjc8m=hx?M7c21q~3R2_`GUB}Z93L=VgQ%#iq{L_ei9q}I#rfqo zEZT2aOc)ejhD;bPg{1`6VO1Y5WcrqX@U9VY{F)&MUWh#c!uaRnH##-kZ|D?qh2Tlr z-@%i(^FdND^@1k&`hq3_{+(R!Lcr$N1FA4E;BHdKG%}&z`p?fIfaF>|ipJSYaV`u0(L~56m%ds4aW;O4vZFbQRf`?tj69kX?viqo5ro)*ndh^^ z9=vsw16xFS{Ro->R3Y=!SeYdDn+He4fZn+$IAtlY0LQuWBxkALr~)k{#aM{t^vKMU zAV+47Np(um{nAkF+6L9F-hDg=10o>LLxZ0;l}tc(h<82?pg2gi6EGnl8#aJ0pu-l)}Fx?{Dxun3}X~6w&DD_HxAd-A7=IvKfXyw`jXy?^NGk@CALmj_T5p zzhN0M1=cdXi?KW^laZHI5}F8r6SJ_l@XvA?u(`wzd%#IQ3}^-6TM$$u?hFE`UQ79KGz?#LIV}V#Ix0?zEG+dP`3>M1A&9*L>NG2X2XRu<)QS5Hg{TN zrwB!gzaC&+QpL#m^#uovtF?|5m`JoxNX!`5n&+Yh6*2o_7p#G5rB>+8_KFCuZ0XdG zyJAhK{a0^be}NdFGwbs>aM&}=`aq5NFn{|KA~PdAZnC@_SYcBZ06je0%_8&SEus7F^!@Q)x4^Pt>Vk_PWE zmmc3KB8A@yBdpYvGrPty)~4B?nz_R3x?_~rd4}g%pZ^${GQ0BitL$ynqx&1A<=RJf z=yU3-a0>6c=I1ExECiOX?*WFo^ZTn!+W9UtdL=b>KS{F0G$(y3t?Xo;Gl0ux4^R6p z)7e2bEKN#d&<{fhEQ=fbgm&+CzWa!v#6k|S+WdBIxUvic_1^ixUt1`W4t_F%ZLXk; zP8b6Ynr3zJhEB0prU&i3W@9pQz6NKh1`jlslTSHXnbtOF*6N z%Kzmzq)IrZ$5Of5O~4UYd^iIn&nfU5akUtQjFGm?$43q&%vKxI>#CwP8nmSRkkf_5 z=)3q<9Ak>AIphnPm0+o}1%{9}W=I0B#Ux#XEovwn_Ia$l(`ND?(J^ywdjgIyVN3{Ifr2%&EunuhALEx>N5cc{ z4a}9}BQ~lBfW}T`u~96Inb-y^`j9PhIP9AaWN($=M*QagR+XCkOq8a#Fk7e$1kvFD zRYdib3A4B^#QNmZ>#@>($ftrC@LEm~pBXBy6HU2}+d=QB${Y>{s?v!Pqgs_Z1R8ED zea`Eva>yxcHKP6_=GtV73dXUTvqGikvD}(<{6m-N-GONw6oHeIg1_)EP}dop95$}F zyTTS`uS=S&Zik7_FX4>@^ur-=r_NLvq!J(Y`_UeN<7F17x^{fjDBwwLcOJyeA@&gX zcLHtgNA3b8lSkU~3f;{G6JwY&f{j|U)7IRGG7UQrUpmmbK5bE*l>`^<_uL$>))YcWxN+YJ}ywK%`uXmi;p>q(i(~zAo=&p+<)a0lT zWU?Z=dJQ^%D3%S9<-D)S#`xf~n<6I2vD0W%W}DJo7mRYlevf9&3qqtedHCf&QLWr- zP+*^{OSrl^d7ko+-dCOoE*|+>2+mYER#e<(ob*MNm`WA~E@o<`aT<(>K#jC*wVXvZ zF3T_^nUkx_+{G-h36f^7H;PQJShSi#XW?k!aLw*H#uxu{8NH8n2Q<_b2Mtf~-`R{w zeICCi-QMOYCa7pCu(6?ijq5r!Mu1W-l3cz@9pGPnEH|(W_X227PiLZE7~TW$5{wS7 z%-h7w2tDDXhY#~z>!eI`#|jyTi_!>H#)=`7c~O%sYw6}i43#$BY%JRptu<-5;TxNy z;DBP15;;cy03-Y;PdAau*pxT^%C(u8+M>f~P#s}@b!x;v2`1?vq|Yff+~aMP6$<5A zU1Aq5GYn3!#=v8bD2pT^o>9lSZd&24WNcMI-1Xp-bNi8ex<)RNR)RV+R=imqVahS zbsi;@eLoqXL@}HC@|Qs@9x5gD?Gx=i0Q{G$WfHV;46cHaO>q>VvQ|BNLEI+&upiP z4E)(U5`YZMKwuWQZi3Piu~qb0VxLfAX>$ zJ@WEQ1fh$C9xHk%K7+zq%#?I5Ea7)B?yDMaSB6vVr?$&<@*;;q7^N}Jr>4ZPTTZK{ z~~e!u+CShT3~$^LbEvLFy~a3XnDLNgKWyP zSHbgogp+^s(N!P|9LO7~45dVHjDTx^Oj_f)@BymJMPu((5cOyv_sB5UG*KNx(a>)C zuKSSGfPwM~c5PwZmqpnBFXya9GOkz;^1$gZ<9xBS?syIyBAC9f)2) zmX=vuzWrJEbln26H+hOEo?FP*GPqD$+A~lL{{% zwZdn@Pz>qQwWG%6LNz4xPO=biv+B%@NGuqZ>gXW)(!oAGMCrvKi-M905E+7Kc>U{W zvPYb8Hu&TsP)K|~kTcP(?!hvKFZI&NcyizubEy@^#2Z=TX#kcPf(GQ(4CfDM5MA9j#hFN>CYnY2LB2iuOk%(qP35EH(ba2!7XYybv=I6W-VA;TA5#^w9 zz$7ixQ_-4Q-O}7xqAZ{*a2FQO*wLSK0i9FpyM6sro#b-Qn_}E^6ipgHRe=^^HSB?5 zrmT(D;CR42p*kAffpo18f0V(zMGF8F?Wk|k&Mf0N#aJ5kG;F6^G-Ef#a3L+wYeRUS z)UbV#uR{u*I5eOAp+X>q`s;aHNzdVH4Q6&`8Jm0db5wt)?2rY0hUBqi(DSkYvFp0) z&{y`A(x7D!xb)Uwj|H*t#n(7X4r2U*g4%#)CcufGD@8klBhRzr4=3cAnc*(0i7bYj znVDLoi~k4_DCSJadp%snG3I&uh+)j&P6I%v^L8HPy*V;a!;D?)w#51di`W-SERE$P z#jyKVI|s5a?9ecnYcbXOAlPjE!K=fNF4A&mU^O}+DSu{(?>h@4WBiFRp{ys#k5x7v z#$g06pZE!~A&uc+4CzIa5HK6=Uw31y5l^gDl`^NU6EPP~xF%6=Ge6O z_b{PKrd}{ve={=R0~A$25hH2v3B|=W&RSm z3iCTztE3Wnjx6jLk4A}QOqVHaPoWCZogr^;!?8|b2gNz$@H@aA4JDgTWbXct)$pH) zMf5{u(g70^ufzDx$Ip4&gh?8K-3fH1pSW1kNo|KuvVfIz(k1dLJ~rllPnMdQBXaq{ zCA$K5nUz|JcSx&y61Dk0^AV|6?`K=038YUC@$E)xV3-TA`*E!pK`TtvIr8 zn@1#n43**{GP z$jQXn#opP@&f1B=$j-*bz}A?-z}mvV>AyG;)eGA#5mf%e8Qty7_Tx1!g zg;JfybJ?x#Vxex;B?p!5l5n#osvD(4#fj2liEdh=#kuT5CHvR3*35jpaHsTUcU)A0 zQK6kz6YJ&VBW`TNnf$|DVc*-ov?|*T_N=)kQm7>ZF2*6#_!4;++mFNf>*OLxhFLKa zh~v&UA{aMM%ys_0M!cBfycnD0lCPS1^RqPNuPe$G(C+hFmJl1@RZw;aJCf-qinLRS z1(t8*s}@STB(mnXx2+Ew&*2%Jkn(mWrRLTA&ub^?*WJ?Hz_~2zUV7%L9>%9ZZxvGR zmL1nrF9&m%>zJV}k+bnl?#F4lY6R73&e&={S&%N;XC2TF^$j)eY<3_eL5Ob?YWwx~ z@DW4q)x#}zCYs)CY}Os!Y*_Dlk!TI0CV9T}s{q8^L-EXR6Cr&jq+iu!{ zhq}_lQ}9&yXwh00lXiz|Ml|7g1t`FJ;Q#fo`_gz`gVAfO1>%v&w;X6|OD_Y?+b4lF zXw}W;g-TgpY?@nt4ZTR>Og#Zw;!w4lU&$0QS~~AD1W^hc%?I&RoDj2i^U|ruybTG= z{+hkG7oDY#KcULT6&>3)NBRQ{e+%vn1fwd>i<|uD1++7; z#Jgqb|7W3Y!Ut5(3*pyWA= znIxEUfigS$z27RlQbUpXxYCgA&rz>~l|wGa=a(1pz!vKaH^kzst*cpbz)_416}pkG zCP$Bavve|=D(^R)eHx%V(4H1dWpNx4N)0W^7ang*zX|3ga@U(FuA(Q9E1;#PI_`pR zgQjlNa44}Esq|&QT2Gc#pO`~ha5aTKK#cio6s&HUd3&Z%k5DTL>KcajILggEc)h*e^X3^ibmUNbq-ngUs+IXnEpFSZ0>(y zWN7YjM;7o!!K{TZ)l-8~jwIkg6FW(IhdOHI^u{YqGW3_C=!C7!PJENL!pnlfUMnck zgcpcOJ?DOi-E`&&dOw*c&i?K%{RA{Vt_4uXiJ+%eA_J}WLfk#5cy{Gl{!w--P?piD zDa(9P3BN#9cFYlKneQI=O-Sh+f7hyR3Du50u%?Ng=^n4Vq)qFq<(&ZfjTS)1P{fr1 zdhWmuX+*O(GZ~q=n5R7x6!qkSrjJ9^$~oK}uhq(-k$~WA|2C}@kaa1S1FiHRW6{kj85{Rs=sk z`G9|*0-2e~VkpD})AXTm={nadP+LoIPld?7|K%eb6f=gMm#{nq-}tqZh%yJ&*h?N{ zG_~9hL*e8MVeISj7ooJ+6GQxARj0MGXmA|WO~f)f4o;N<&0w}kRFOg)88LB?978Z_ zvB>1dnICl(8Zd^Q$Ms}Gg!BQn)*9sipH+S2+gMM+%!y`YV~0(WgC_eiwD8n}HwmuH z0DWVaEocYRK>SuKkd5Hu9S|>o?6H8dfWRBWMEca79hzH=_wHPrG`+9lm|-|BR;{d} zVju#(_VzX}CWDw|ED9>f3!mA;u82pcKl<}B%_C5Iy&0!=787!#=%#?F+x z;N>it;$Ik!`}1U{$1QN&8yz!UXU~US^HG{PaPLJl?-M5&HO0LG4r?m>9drb&Vjldf`MBrokP=T?KD!xE-nD=&M`SGawEk(p% zM7@e><>PujWvkdR8fHGNGkeoq8eVM$|5qIg<96C501SDQ}M%!%y z-!STwt#UDQ382%XynJPLK6xZ{7SS5%qSiIZMAOf8hka`KJ}=*Q4!IvSHw6E^^Yr^D z^N?S556VCR0pC!blz`(AJpI~5XpmQDvq5>95FN?@pBNf}aXT{J34QN~EB z9z^z$sp4YdGuIGGB`kMTL*jz`c;;pPAZVXA8+Zx?T>PePXyWOTvhEV~*6VO9FeLVn z`2(e!IYghL9ieKfU8CB)QbONBY~|QTd>cH_mh$a|2w@jQIa-J3o3NMj@hML;4FXrL zqaULH9ta{L9*Bq2^lXDz!(IiLg;`wDHmTk>m}QN!g*7H3MFQZjekLTdodq{!y%N%f zhYCa-$&N7Na|e$DN!Ds<-~dgD-8WNSWKSW=ly+1LniM#bh_-$!{@HR6QwWB6P+GZ! zT%nqbJk(;fXYg+^cgJ(}VoK?oH>cJCE^Oe%U5O&C3O+bQQ+OPAZWU+C(TBQc*tfAx zxE^=_Uj(OEmt0`qcR3PF7OhK<;}*IBnn(8{_)@v2ruacOiSg>e0{?BMfx4*K8fHVv zFj=PF0`|$-A(*LYZrBFyfr|vgO-`c{*o;idP1Jr)aP&T23CejXTxzl`*-`qZ0WNTl z1X4mBkO8W)XKMf4|F=M;q@2mO85OPn34RR63G$Fr;ucfMUcf^NCtji|o*J=vLFo5y zVv`dnqt8J1BNKZbBqhtQc4y4VK)INe0%~!Xr1fC5l$`p17ClUDKb-o^_ zxEpuQfON=)de|-5?v`eJy#Q=G;1At!I;X%{v#fC}L`P=6b9{lcero?Q_L1-j6$oEdD$ zqpOby_ydyW{smexqLQb~@1(#I#~=v3-k#&KC5;QSbw|4;&QOxKDl!Xw42fwa+ZSuW zTx2#pJy7uEY?s@%D!b0`OBm&}-)7S&GtvJD{)+-nN?^=v;qSYNH+m7CSgy#zE!*9nL0ekMzHNBc0gB;Bj zhohXu1in38oh{%cwJ*j0pL4Ex`C z(x*MxQEU|~W_voe83$ACqtys(9dh5%+fSzx)VI<+dcm&knCGk82~SO7J3&)KTp?(( zH&dPvvYJ7MAg?FS&1=80gcN*@sj=a_hAc33%Abr|LZ^drp6y{t?X^aAZ01akF*R(p zii1P_xz3av#sgtR%M~8=os)_9?02+<{@VKU^UX7PY=PvEi?keNGg?H#(Da9s2K^~f zT=nn9FJQ^Inu4%RG$<#xPBNxa#nrMeJ_Il(Y2U510L z{=R7!n=?c^F2%Tm<-~@PhnT0!@ioDsH-JM;=6&S$4O_npKilr}eLEYv(kaYijUmTv z;+wMv*MD=+t`+wZuf;mUiiP?x`&uP4|4MJc$L&Vpq$?Cf83_cfY# zW{(y3C%;3vwcc0Lxdo*Zx;Qjf#O5l8O#vMFfsq}b@5Cb!@0lAkE0N0)zFsYIUrF${ z?DnszT=7NnC}Us?&3E2r7?3A+fdsxOc+6j=IE)7KNDbuB0zN;72n2RFzH*b?nF{`w zMfUdI{(mYV&CY-E1Jj8B6vySTp)6io*nS0JOyE?yUoa7+<{^Ser|h&rLlY+xgn@Jd zf~Bd7!;0jnftRBRgc^QqlTK|kg%?M5g@h!fBAb!1NcX%pEJQh?zDkYBnm=f0CL!z# z=!%)0I7ssUz;SS7j2FxY^x%i^I#WS22zti@%n0Xq*kSw=VI-KuFOoPM3U0ycGT2!-I9`to01C$vSp6Rx5FOGHgA6J&d_z% zde`G)CTJazQzjZ0s8pY3CK0kWe#wfvuY{eVJUWTOts|@0W<}0@h)z@R2 znrh+DM4F3G6ulM#Ij*r(cqx}oC3Ly8y>Gj1&c&u=kN@4@;YWDY63w;FGnZkomDTBs z+$4VYj9POaslr?bke_eZMI$W-FLDK_wfH#M*|M{tMT|AU72PO*^NQwFPJg z1n6a3eSRdaZ7sQSq&!%>XKdYM!F&j_VhqNj{#%036TQHjRAFrH6pw8F&NaSTZ#GUY z9Y3b*tRI2=IblpL(O;~l zqxcTtZHX`4`m6B5B`+cjlDYrg*WsRM&F5(}l>V$Lr1dMwFmfrjK~BcrF}PK216?_$ z*}-O~BRuFqJDw*QsZOA)G^c&3?ZtRo0`kGYmRk_FrQPQG(yxPCiHl<>hywvOTAXUN zOA=I^4X#sx2`m%>JA>ZN(NTgYv$fnN2J-s*fEi^5sxzfAln4&`rD5xeZQW6y@Im_5 zkwD2OeTj#3b#uSWxAXi| zO3tD`5e7J#;$wUmRX@Q0y@dVeAP4Dg05t3$4%z?pKZaO48MvC*{XYQ2s7854ZtFMf zvy3k~Ww@#kz^gpDvN9Q_iz6Sorc$U5*A<~zQ88K8v<>u4gBj(Q(sQ#9?oKVjZyO5f zO`e6}JNMD&leyRjFSCpN?~zs1_pyN&mfmBWNZ2%gTtd%3U?PDoP#wX80pq}eUJ#BL z&^exKf4Dn0Ua~QmCBD>QBu|!8=nc!$fVvNzG_(|3q1sO(( zc-M*-C!NZCX(JFVFiFOx4(2eQ#(vf)(OSUs4c@OM+R!s=d=(dk^}I@W?&-@cWO5K` zv^<4uFI2jIvVNuCG<(Qtq>ib`tWprRbp+vlP@7^4PH2c~`{YlN)fw!qD@&pOe58JLBYes$qMIq5EZ&@ItpedJIhq#>oaz9~ zE>Vl*nLo4^jy%Wvgzw=~%v7lIQmVTnF3O?K{Q)tPX4QzWy}M-`+xe7ME?gX`krGkS zed&39rE+gxNk>F*NH7n;Bh3pQ?3qf_M5>!x*B3!WK?#|2;#5KH ze2^otpw{7=AR$-BMZbL^K%unWOl?I}k0$1?Jf zIU2mz?jNKpY~9FnBhqjGhgtVO*YvRUFJ0IFzTvX1Nzu*_x5rA;T0P{Dd*!BRSxw9d-!OM>g$a?xOks6pobF2Os|Wm5wq z{}2D8AO}C_1xHE~oja@#Mzsy^>A+c&jh4ye0I%rLCr>Bp%BK)UY!38^n{Sb{(Zvho zX|_w!P}xkWdGgDiwF2-6S&jD^Pz|Xhe#3yjeipKhh{LWk&Q})Y&VP1uI7@TU`zPZaVGU} zRYZ8d=M4iYlngq+v!{rISgX8(T-rg5H`2Zmd04}bR}tq; z%kjBUnns9BvDgmq!gX@2Mk=NnCkB^>U>m3TfTCS{XGHw0b7nZ*?wPPaw_9VlS~{71 ziKlH==9~q_lIrF+Da!m+a@CJ4*t4zCy?ECSo06Mab?j_&2|WF1L!;zKi_?qPQ*>A~nvHX2LH156;QeTA4@o&NWy86bPv1AL#xc0QdhE8G8PkX%eg=ZH`&9 zD#1sz{}nu3qmq!tts`s*v8h2>^>q{7hg?Pwh{9DIbMiJbopqP)(i4vjFLU;Lv435X}PmgJ!npfc|@|NLpeJc4x0DC^ZFRai~_P9}l98eystUwkS zA+Ej4Ddp-sBoy6(ijaJ<;V0w=%C*f|ozfHCl1ISirE5@ifW!ErHIzl_!NrBzgKq{m z#IZpPXh9I0#I(5M=UGV%$sOb;!J3|R>uXCEWbO4`)GMC8Wa1w>MQDks@JSN7QtRD? zPzM=|2f@2@!60A4axy>E-3pKZ_UQ_g#K1JI5aX+h-vGJ{lTf(gFlp}niCQNOK>#dFkifXLpIeB4Fp%7NUa0$@& zbio7l6%1x~avqkc?<0TCSbH~d=fB5+J`A9eObmH=)XI*{Bag>qyV+@54>sgbrpF!# zI-{3i10G>yLDiq+m~%XfC*Pi0av#^LUBs5lr)h9=^KoNksB! zxdcZ|X=gGz;>g1;XOv9i8@fY8ns&R`kM!E!@Zedp-g+nN4QO7ArVD~_zsFT+%yc^N z;>nEKw)9z+zR}YfzIc>r&b16eW*qp8#09Tra;EEfvZ;EfwkHSm(bd;O)NEC~RQ|us zA;0k^Fx~(8z6eDB=PT&{Fkkns56Nt%_nr%s>P}5r59Sv6_ z7$j-48f(@{atf?RWsVl?%_QJDIA*b=ivNXzrjyrZfqOtNPHEwwiV}Ewm@ht}lhADx z#tGigDLfXKg7TEdqv1OMIY%*Pg8##N~b zs^ltG4J&r}%_dc;p;~3KjH_BTw5X{PgS1>-z8tBIP&taUj0>nLa^x$I=MT17(j=Ccv z$%oXP`S>st0M;set)B8hs$Ql zb(QMJBgOiZfq!OaJ8ZS+mkS^B9I7odZ;)Urv}As2GW}(l*qmh9+jht{y>Y`D=-iXT zx`gx)o8!YR2B#=}Lz+M^DybsBIg#tES30z;nt9o?7^_v$40rcFc>1nOabEjc;!X#Z z*u#x|8puV#7FbG4AG*-O%1o4%x0 z#pjfu=ByfyCn7fDU9%Rx`h|ZlgJ3h+Yn5?AM0j*|E`=|dbNr1eM?2?XLK4uL@!Sgk zS1DgvsK$RvaoTU(HQl9WHC&Uk9rD_M!0(#D{^OV?O^-w0k?kNE!wyRd9>CK(eM4C* zDDyX(b7{6*+2K5$vbDmR>WTSS*vf>>K3@4HT#O4b%3S1;coI=iqF*vI0zZj#n6!;F zmox!KI3N3q)13st!cl16nzLvfFUClNV8~bGqV}e)Ws^#l`SjJ-wt4ev zpxDoqwDY<-ghBE+7v%BBdv-Sx2hSC$%TsRek!vgaC+Xrea9Epb}Ra&qcVRAEV57L-r2rjZgbH?wE`1*{k5=CrUm~ z0xl&}FjGq0jhyn7z@KZE9P&V>%{0NO`~f zu6}v)4s^3gZKZJd!5r^O$@%%OQf!JuWt|oMOncKspU3zI69g~hZv1^)j%3w1Q$km<{ScS+>sK-a73!zZGVznp+a}D({VV1x#yNX%? zgV%szHlpYMdWu6iH&2ugt@$Qsc<(cO`awGN%Z?s|-ZO@61)>l)K(c49?f!f2QGJNY z&KwcQ>KK&DBW#s(wt8zK9R{Y9KyZMkvvf05DxObM!OyXjLtmkh<`t!dW9v!d>87SI z3X|X9yu2WvDQ0et!LikRB{tJS>3o>lh160QOpej1D$%S(Mg{MReTH&foom(*>v|EB z!>AdbqtjocDUhr|z+uj+eL!$6+;t(@HIa1TDmS&Vc3VSvPOERg+d=2E-h6k6hj$fx z71Ca!e9qXPsJ+I?KQ@BcdIcC49U(k!ZvMZ8J#>o23hPkpu_Fnf=FhDMWaD zbj5_BH!XJBs{KghZ$Y?^+w=81h1jhwlN&+@q*fE^6_ zY8<=R!@J<72nJI;mXa@!io209&#^g{N)`F#$?|CFd_HqvFNoDmk=2EMIv!;3=nvmx zfvd07Be=^JJ+HgvPR!VD0_ z42+rZrOqI5;}xIb#~3XFMu$O5s-deQM|Ft8Y%xnBj>~9Hk~8j1%wMqwk4|dtll$p) z(TAyQpQVQEp1E|j*R1pmc9$lgUN#ER-{ubfr{b@9?V;@!LCp(2*&XD*+h5AJF9$Jh z={=MBRK#=+DoXa@*&iOD6>Y_$opp>Sf0tSPT~;(NEqc^WXD#~rlk$^*?RlPxfACKR zKi#d9-P1iCaXnFk?yD!x<#V>p!nu2LhaOw;%)0h4p$?a=V>7V0H|r`=x^9%Iq7a}$ z;w=(^X{Vr}NN#O%iRdYloKy*e`I=ujVdNu1%;H@Taf&e;2PWA^V^5d(+9cjky4RuE z$FadIfHs+{GT>%V_%k)$$Ho4DostE^RE@E48Dt4;JwS7r>IfRtS|`BOp_pOwVzTaq zyH5`h)GLJsh%h{uRCjct$3!edh(obAmYMmRRR^(oB;!jfJ?p;$lkbIia5ALhh18ZgMcA$YD^{qr=Bs>)fEu zS5D(rXp7^o%>1rH`{f>C`+dgLH^Toa>@1+NTDpf%mo!q+-QCjN4bt5qjUXW{9nvKr zDcv1XQqtW@NlHo!e205qufXO0zvF^uEtd0pcFmqS=gjOmf3v@w9i}1lM4dVO1*1>6 zJD3$#1Lzf|C@zG6c~ zbaO}+_iR;{2~3V=;3gGIp%_s_$`8uTQ#rKa2^_;k>ur}g6?4Pj0Q>ZGJAZ$H#qv|; z&O9_qs!T!s?ihMqnd?Omb79U@gp-<(nkATo2R)P=f$a; zu^UXY;_Z9iM;*;qrp)ZbY?ySjU*agItS{kabqHa=RTQ5rgN^B5Hr7vy?`)aLM)tb= zsEgTSqUUuVK@6Xgq+MV1d*k|{Z!Y@F3(l`YB1r89{QC20O^Mx6NNtXLGgZ>mu!o!) zW!&+TXI&=v66`kyoTtqE4!ib;eApaAm2W_T?0WX)eR5P33h*8g-Y&|-gHa9V}+fm&;7^gRZ5{R@D7Gv&C zAxG?)lR43Wn{q(QN<2l3iVW2}MA*;$Cyc?*!!z(-Gf<*I<|zgh@R+kqhj^%~`_Y4fPMs*RSL0b8AlDx0 zwt>!VH2d%|x;8J&9Q9^G!OM=-1WLM<9pkI_ySE}@SRq<2JLQS;)W+efY6vi^M~?D( zHKSNFc7F}$9wo0Nb+d{mU4#zu3p{&Txw??CBHg4yKJetj=?Jln$wJ?x*!ZEXXcUSq zB1Z)+gd&f`nE%3;tr0$W(0Ia()=FaUZSYC=!dG^7@e8>IMCPx;QN~`0eR6z}d;rfF z6i6Dzxz(5t&HrxQR!Ey!VL(pDKWfdUPH#Ao%B~&9#T5%3jl}#|)v1~$k=&~v+gYk$ zRfgMW&^|8~$3<$jQ;wS=72A?aN-Ym&FLh8>VLOp!S>=$-twhMIdvljcNVIzsF^xu9 zKE}x`3>meALIN^8$xzgXxEZ6YNV@>{opCAAjV`MJu`1a zMuz%MEUMcr)3O|J>5q%p8~N2Qb`@-MJIj+oQGx@^+brwlL$Q8*oo>$!k`kQWX#sgc z1A{2xhBvXEXJ8ZLybs&XyPQ=~^fWO%2%&qNsDXVEvH4n$`pL3tYUNLEsY^a`ZrC+N z1zyRPDvCjr3JvtKPz6ocB>v}m@r-^u&uTh2>8vA=9JWrGt&+$^tdsqoBu4Z~ z+Hdx#Ilj(RQq4m4(V8Grc-8Kmz2<$R`@Hc`7?3amgY&{=>#)_l!QRWedfu0qw!g}Q zzgd3|vnErUrlI;+EC}Iq!UY$1EKAJn9M3M6P5Jbk>J=VZ+XM`LTo`nPUO%ZN7JVz9 zJ1_K(;&MA@m|7$WC&XW=>3S^cwOntpSii=8 zVpk>28S5vO6nDxOiDSD2lC#zPl1|CY%5NaXS99h2R(8c0ne5S8xKe{mz2e*->VzSWkY<3@=Hnrpf7AX>OG6A!oD8DhYbt zpR&`TpWNTnxw5*P+uss%O4`CNx9AfiH=P&hoK8;h0^j>a(57sjQRs!Q^!xfwMEcw! zl_<4pZ9IbjPFP}#w!|pE+i~~kG)~MIFBU`7 znNMheZVq$#j62dZd7u`@Knux(ACXY;P%=*)SPc9vW;7DK1JJ=#fflX z;PDu{isEL`s-`<~>uOdc$NlP%weWFQO7V+zb*1=*hi>B&XP4aCh>YU&PDzA!%CxLf zqgx&3@$veyj#vHj0fFn^*VCUK$uz%wsi2ojfbFs9Br?rXJosYDMp4sC=5pm250G#R2!qT9ngYA;bKF-J#`#8OI-0m+ZM2Cnl1GTz^)dsEs`; zyyJ0Pv>=*_;E%-aTlaa-7iJq&OfT}waf!}TjcqeDLAg1-qD^Q*)6DMgB zx5F0e&5VV_GkEX!3UhIA7$t&h)m0{2JHPuI@vmsuK1sBWTm~lVWp7H~3Vx<={el@6pG^W!~F_kiVd(|B+Ql#|s4mOmGgh^(m^SsM#fV zYON__wO$2zei4M?kA(05<_<0O04z*yz6Zr)` zAKnlZvo|pMK!Lzvi4NOTV6*S9Dx2jQxC2R_P@?_mWLEWNtGiTBN3-SRaJ0f-Mg7Gz zhrlZlB{vh3c1j*`r1|eY1lXTvBoM1GXui~bb?zQt3tBYR7)y$E_w!J2# zkj%NZq#P2Ri&TNHCcV1K*viQvsPT|&*e;|#tZUs4q^I7ZuhP<}`biRxQ9jq&X#Qk7 zalu1*RUiSCHSQbo7D>i_=SM$i7nqxALkPsf;*kx*C1=r{5m?ewv6h=q;OJ`QjOlUe<(SA38%ok$l&cRN#}T}D3(WY zK%m;v=WCl~W2zCw2;DF)aauX*B)yv98?nFzv;H((!kH^dil?thMpMgczx#s=RIouS zo$0jM(Auhv!xcyAPT|Kl%d`up)Ln|cmFz0<3gJi$f1cF1fDtya9PW%`L7BoB^JYx9 z4@OUQ&UU$*wPIxAYej-JaSX?j{}^Wv52C$XbH=RK6O0cUJ=-*MC^HAXOuo{d+{vPN zaEE(%?n<>3FHg3!<(hDq6Uy-W=$()%#wLx+p@;$prkuWsr~5&-{c_-)2_|LqNrc!& z<1t|kgFtM_mC2Sy<}~~{-Etg%3OWBe603dbU|6083Q-CuK)@>7W!yuR4`u;@mBR9K zFKPZW{qEqh!B+_Wt5*#CS6lA;V|?Plh;BI0GUbXDFSDYAr9Oe$L_dRFt}JenY8f0t zGKrJaQ|t6tC^N~q3Baw5t$QUk{7EE}uJXgaQ1m{cGdR2H^q``wWJ!dgQtX+eXS;*fA0UDig?@Rhpp)=qBcacFM; zm`VY{$5k}*&8D^-^IZ4sH}BNt<%wcD^yeW+u@^F#RT$}$jAyw(n-qv}pSFvQ(n9## z;tT59etlyl80CISb%f9bRd8sjjlu*E6LIc^1M?1r)F(Rw-hwX|PS%2C~ zuExTTG%z%|ZUR!!?e{JWz*BT-Cr?Kg_Qo@dIEX?Bn8#=8JDMv|ZI{%Rj3G&FeR z3QM%)g4`(d{0emKEk)AE*K*$UzRc#)AKccg(w$TKEc7~FCofdKI_%Ad^emE*1ILBV zYIa+N^RB*Pn~}2X03*tVjF}LwaQA%w>HSuh(PtEp^ztTBEBhC+mY=2>F};DTdA_G{ z<&PH&uBKQhM>1%ca=slkW1=r>x8RXR^tzK(J;vHJ=ajrQ@j@fjj6=dkrVU@Pd-$hu zNGl;1<8{&afuWE@WZ`~)g0_9AH+8M$oCv+bB zCKIOBr`tMkY<_iXm$*enG(WFrvl>j@B9bF?idfT;e|Dy1{c zO)`TDelWpSOuHTZeKbx!J9wZh?fZ~4KV$x`&?3u zQ|HM3;d!74b>r#;rD+ZVL~swkQQvEvY$gjf2b;t&5e7+Vug^9G?|nOY)Wwa#JbGHz z_C~k8HWC>KVp(E@q2dY)n^HJ=a^SOTs)h6^*~wB7@{N|iRf1N&zaUUOIcLL^$dx0= zjP2ael0xNRXOrSsbeQgo#<*zm6ToT<9ioDInp!4gX!&Fuw2tuTIf%7UA1?M2iv?6 zG&Ls|&y1kG42GB`@f6YreWx1Y#lEcg@}SQvJJxl}5_jIv$vB;hnC5|FEn@+~34izNnh(^24+3jkz#MoS3R$xM8Vz*g9Giye8x#{cp47**C~`sbCHJ zpI??;Y}u%+?-gvmj7(&;u)z0rmO-p z$J$Uc!qtf7ex5`%VbON|5|=UO2N$=gqb5cTSs$Ir?PbsW^@<9@>#7wd^F2`zT2k6s zDsvot>P^F!U@|I6|9oVUAuI@IHKoj@nMJw|JgN6jyPEK}Ih`GNRT?o-%gPl zHax$av^;Z36W)VCaXxza3oOg_LFcw9nYLTKg5I5t%N(9m!GxZoGAL6FTfEuxHT@zkL9O33ZsjX_0>ldv0x7w3h<|W_y^ok9g6N91lW= z`HX2Qfo>|-9k1aD#!@7n+vu@|gU=Y8(zjld_j;Y6_R4z<_GdJ6=r^U1i=`Ri;M_1D z%4q0c#J4d)BYX2>e=ZC78P7uBSd2Ia#lp=?wsp}lb4vF47o@MunS@!`b=vZZdI_ug zGn((@pGq+zk$?$Oxe|8ySBDm-_!5k+BeHd`J4*#`msut4P`ac6`!vu&|FdYRgNYgN z+S)M;q+|d=v$4e3ZyDdkELtXgMG~t7<-*Bb<&^;&U9MsXMgN4GE3l zrFqitw_^IRl7Eyh+9zsl;eeg#c*~^D7@p)15Efj5Q|=#4WUMCEhu?7G| zfR$yQvq><|)GX(rSo)AQdLe4<6APUcV-psGF!ttQhJ_1)>KM)D&jYH{m6&tXQ<37P z{uAN7qNV4;jZ>7HsbwWv*ElUVxvz=(-=@~96sqdlTlMO3sYw+WH6|b$ZZ}SZv?>Qh ztCab2pWq4Hl!WG@=A)~^DqKVNMDLSI9)fDKhu9h7Y(k8XEvbqQV@W&Mw2f=iK(hz= zN{G%&MrC=RQhOJ>73oQTnxRLt0Im3bPQo7&&OxQ`=5>YATqdf&SwW*ffv6tB!?T|m zg{7y<6nVTa&?mN5R|TpCs{A~P76#@-9mZIbAl-EWX1Pl52u1@pSnxAW1Ig*-8_D># z3Sr z=TfpkS*r3vXo@eg4%FUMM#zitEsi6IhqWWj=Zci?oAIVUF?@FSYWRPc&1O~@Vxz%t z>!7BSy|qw8OiwCw{YH1iRO6xenuzeGJ5O|Nn|{e}fmW484G$d-<69l`*N$Eb+p%nY z>JLh#pWc+a^YU^3OoRUU^av`6R^l|;F~u(}q0y^4@GW&!X2hzP-8U+^r#m1N)l~rj zA61=wB1;z3@GOW$p1C%yNSdFP`FiL-TchH1;$wKvs4zO$uv||VDE0#KP*`6*1!wa$ zK5C3dsAb`_xkAV>M#oiJ^TP%o~zUf7lvO`I&@bVGAdqdbHY1wf{7xWMK`I| zFfsD_I6}JMzO>pZ9@9Ew+ho-T#psvF=fq!Xpk@nqxQPB0_EfCXj3V}UeB#|4grvy) zu&~>;-`p5zmgL&RtJ0~VX+}yBF__*%$B}9n(r{-|g`dfiW}c{2maXj)AGSW5o*iG? z@Xzj&55FM(Zs;A>`6~&@Mth0Ge$7dcD7hKAG~!72A_Nb# zYZwY=LYmXd96&&B(=ZPNwltt32GNUDJh_y~MzSTVORB@!<6w)oe73fplF3m8KR*7` zaI4{!$V?P3^kNw@Rpam{l5?fHU!6kl@FQOh;T%)xpEu86yCuiJb+FnH;w zC{!7#S<{9?>56-`h~#L1yg}oFGo19c&u6PLvZ91YhjdfV(bif>X}DXYxSW3J?0{%! zJ{g?ZybybzSiAHWZIT;3T+HUj#CEIEs_fZ>TmO&d@kn;x={^NpvSTv)n zNA&gY7vZ<_ZMf@qp(y#o@`y?sU2xl3D4j8k&wx_b5#3rAXncF_TwVJ=e9EtWaE`3J z8#!jk_aj>@`{>N1p!fP3{7)XgUCe%PZXyu`EMyM{7C4eWp2z>asn)0(SQ5M{f?Qm~ zn^p>sgIeyfrjOVNZ!QV!u7v=Dpm~9-PPATTNNW6gXRywkIlMVi3DUO3B&Cn zuF<385AaaCv2H6ajrH43YWH2Lz?-vY7)n$Up_3$sC$mK!G7WU0R*Ih^qN63tx(-nM z7!J;?l4l5_4{k}KvgS`ix2`H=LeW^L+C! zt<*}BZL|*WCd;25T5lPkQHR?YSe-)b^_$wKU46{5gp3VqJrhk$ff}v|`B~5g@h)so zKDSi}3Y>gkN+S(_K>6(j<51u6x%(;?NS#ci4Viu2tiLcK zvluI`fMsU(C?9`w$teHpZ+-FYYAV3CiUh=oy$lWMQa@msqtJ;M@4m8Ok6Ad%~Iy4oA+tbV;-yn%cf2|Wig1Wg@fT`9FvX~(j( z%e#NbIPg6z?w-#lnK`wkH9wdBlj58QSkhMdy;ji1s=q17-ldXa2m z#?C_OKspwkxbYJV$M=1`@l-j*Do*QguUiEdMXPwv;TO#4eKbg_hiGxAP!J?pqQkNz zC<#PUH=cJ}>FJJ92NS>3S}O2wmODl~5+%(xVm#|}dAqnTYf5^d7rS_i?4K=lcq~& z%qFCcf={fNY#D)R5!s}fq3f!E4|zpU_3P6WS(KW9s?H>`_K34;WHq5*#yp+-n;)eE z!>$GSNkT0fl{5W-w<;GUa`>WF-FGhOu-3Y{_)m*ZJY=!e`^IfSswS#`KX@gF9rnuv_c1XF+o7;g`lTY>5;2m3$mbx4ohl7i%(nSxl4<6fx}=Wrb6F#29$Cy#LfFVJc##!k z;7knBIxt&;sS`P0eHJROCye!2cHyNpR6j$-_e!aJVqOeiB;OB~k}hi_T=w6)Fdr`& z=afXV*qLHV_;S6pgnR)tM>+b=K6MnLp?fxlk4F_eRnP;4HjZDmGRG@E?+JShM^Vwy zO-j$)htDp$Wk{aZ1REm-J4XSkf+1BDR@%`Bv`n=k*EPfJ9;mW;J3N)2>18kC$WYsK z5bBD`(`?#;rBj5A#rqq5$J0++eABQH%|({lcYYx}9K$)!Y$Ne>5s~^!dH|(;vR7HJmOYd}Tks5Sm%;PH1lGRKbo@ zPMxw)PZR1pZqeXaUT}N~U%%wJ!Eg=D)rlU!-K`%;xf&&YmX&r+!_x+q^y9}ct@@~e zsP0u{cP^}2lNXh9-cuRgs4Fg-QFr^Gc&ztWLpWjUa5ah!@yukNPnB1JVlXlKL<@~v z=D~fzq#V%PqP<0?o#2o*UTCbJS6>{(U0_rrBGFVhVg`&7)_SjY`9$C+#6p*`jHy;( zi*;f>A4r&v7gmhVbKE+#$31B=g7o5l{ybt>i2$r#&>>?1`<=x%C4c2r{BK(!sxxfb zYy(*`DRf_cfVr+(4x#Y)(^5bL9}Z>u<8l0y_8PV8kxWbb(pf6gH6OGuS3 z>B;1#cO(MRlfxwDCXmQd|EVI7NxBsXSj087j_5JMr9N6Yif8b#)HW>68O-uoBDO_9 zc{OF*K@}Y~a$w;!dk|!2=ey^Ll({r8qukrczk(u7ezw)5DKp{M1!ArQAhRaucCD!R$ zz1oX$mlRFtd4BVZCL@IRDdS$Drk@O&`$@*AO_h2}SFW8#?((o>5|=JBO#%BKBUJ!vfwYF*(x z$~rkAjB}*zq0on&aBng(vVgT&&sSKiRw(uhrPOBy63P+v+M<#z*5T89lFG8LEu+qz zzYDhX^L>swNk$i2N?HVM5JMmD@YozPaOE5b!ecxq&RYnR2l)t9YcF-Vi}gK8D(9CS z@CK|!306jFl_O*f4BY198y&82XgSgj}%q@9;=)4aYL@e?j5n>RRQ8(3HV|7GiJi;Kc?s_(%Oz_4n3rr0f<|2uX&)pmAVw@h-T*xC_ zNotk~iPJXp7e`Yslo>3$Kp#j)QH#RRnY!PE*reHzNU+?q>oHAloI^XV8p!?cdMcUk zEyK#caAB>C#)SSn_|%r;<_G2F{R*l;CHGRNR?d7uKl*!YmV>2hwB>n8qs$YuiWe~( z`3k7I*b=eQYA=R|52Z=Oz9uN@vj8i~{7ba4k-=Upa#(V*C*BzK9y#dKXmt>Zz2kL1 zrBM`Z=Ru65WOjS^&I{R$1^JSUXezRn9U6g;fPW93nJC6sA_DR$Aqw7vGZDI35cMl$ zk&Mg9pdhC&mdH{rn{zc6Cr@p_OlHyLyeK%0SW{mw(&;fmRmyXfKd1AtJUi)S=&ObI z;dCd2sY2rCT_2A)l4++dpHgn@r=en?zT|pB9n*?1E{yR;a`O#%D~Z1zdp+OBbjj2} zuw7Z*dBTq^3~!oF-~^Jqn0@WfiDmS^>aH+}%pVe`xzp+(dzmnob~Wu89G|9lM7khB zeu}lz3!3X8ZaOU}B!xl*iUH1Qo5{tS>pC5`CHfBpNs3O+;$HB(8bp&Xf1)=|O-!U3 zkAUqydEqE9?;KNSCGnxoj7em|G13C5_~tsEPlK*lZ=B-hGA8+kwe`ix3{T6D&G*Zn z{S1bzz{!VWR1*fd3eSXzFoOCZE&Q7LR%KqXu^xmtY-Y%nu*13RktU{ChO6g+EvF79C52woo_l1Ss z8YVQvN>mq>5N^#I;TWb~(_X1mN&FA2=HGEoJ-)AxYUgU^#FIn*C}Ch-^4R9mK!wd` zrdn6RPB?!aGNo8mI>Q4Wb_oTC#0lC?XN^+bETlJdQE(-%APoxk6dag0fxv*=-WDqR zum ztN@Xp12aHiSL;7ll~2w5KO*04bgSpK;o0mr;J>l~THXIjG2qW829B@w{&)L(J7v7v z`t~ceFR9u`+ zQcg^s!O7N6&-!-OO7GDGC_uPPtOzc~vE0QRRn(D+Lwq z7^o>`z-S-<QR&@uXQsfU=RYpqQF7M|6El*5I^tLm;_GSFtKs8u(f#@7`M;;<9!t^ zKLREd1fHy5{=>NSt>Wo_QXU#d&J(X<6bLI?>W2YBe|`_*2-LbXv~_(b2*ro*JQuro zosfWWNeF?L5cdROg$2D^GV>4Pp&03G*GU}!f({7M+byuauPPsF)O!d62P1QfS0;MS zP8QY=Ww{Ob5R9|F+lVhS|9j8*ACNijJ&>J&k(Gg&3DEP5P5!0TZK5b~4Tq`*(vl$H zq5E3Bk+?_t+vB&%=Al-&6d{XPK;WVSFE8%*K2yd2K-}y8x5nME)94KZJPh*WA)`X) z9zzdM#llHX?-4n48*`cHfON%y_%Kpl8vYmKo*=jONGhpdIRFBd6o|FkmodMuDxV>X zdyoe%x@(kMPL=<%^E?5NN}NGJP=7;!&nllYyL+7f)fl_mUOPmYdxc%UrW`QpZApQ< z?XP?w-rZ|&WNkrj;(9Ne+!}N$Mx6hG2#9T)hoQFi{$Bfs5pq|M+fW-H=nL!xx{an2 z2ngCeMX*}$f&Qn+J&WFIlI-4IQS_)LsN44dX3qc8jN zYk&Ka%#q>t_kWL#G8UX%$81S4j(|;@q(MN4?*Yrv!0vYB{{Y^#&@E51Egp3M4g`dY z@nL5)CVzzYe?+h}gLpw9Fxnrn{eABHZ{ezZteF09(mku+T1`>81E~`j4(5Q_0{L$a z@Cl?%;YUz^S?zzJ@Mx~MWwMPqpORRDfOPYM{#EJXH@3=0L+lZzv8~Z9_F?|IHCg+U zJqt}Bsh1U|0OFml|6KHcBtZGLN7$qhAnfe?U-EZrR{JyGuN+=(NIony=8W=y4DBFit^G6XtK$e00 zbe|N&^eE|fA;fzM-r6d8yoJFT7|>*aYvE}y2)ZbT?52(hYu>Y9q-bTeC5B7I^pqG1cJY=!yJ<0<1;RBnv4gc8ToMo~6HxKKSov;`lI|=6xhIw}C@F{B zk0V%kK&&vpkN49egU6$=-*4>x!w0wij8)gS6anT=s$vfX^zwO>`FG_0U0va>wzrEx zvW{wkEC2zcfZ6K(9tD!{DC|$5-9_DYfJIdXkS)NMtUw1Pz30#D)JIVdd(=Jaok!HL zdr@exLjlB1V3u{?6~h_-2hqXq<%7_@jSv#6f=n|2Rs)DfbWc3A>_=h0U14ou_y}&~ z*LQalAWT;O)f4LT9>v`$EcVcHTkBsf(lkLpVizCgBF+3qS^wAF?X4@K6Dgh20IwPY z`H1+Qu3QihkBuq!b-m|^Tb}XFuij(8b|XNtB)rGNgnN|tw`>1)#68+=%+Y76yL19` z-WK4#_kPStAwEj`^XliJ<)BA`-j)DDtpMHr{vD1a`lG1FW(c>P3Nv4M%SZ$SMEmTa z#TfA)1wC-VL&4bL>;t2KkyBaVVd#z-KF<4-bnhAL*8GIhBwzc0KClF2af*B9&+vE@ z_S>CzvdF)nZ)F`FNP+n91MbA`d!f|-QRqM8`#scc*Lrxs_iquad=TF~in?>$_d~-y zJTvnT3p)A#VEyj|&4;vyCr$jJ5fna3`&|<1o{o=|F#khBE`OBt+XsINn%@=fv69e# zkZ4tpB7e_|?t*UP<6&9DKcK|s$3b_B9NvZ9I`d(Dxj!)N)<nP5V{`)-5v4ndGc1lhbue(&^p#0rQI3e?@IRATFO7H_un67 z{V)IA<=krca4pXtj>*oWoPS5xJw0!k58tW(VKN;&%KVdN0Tv{Xpg}<7fPbpMLl(D- I+lM9p59+_GKmY&$ literal 0 HcmV?d00001 From 43e06b28305a5449305e366b62f44cbf731f8596 Mon Sep 17 00:00:00 2001 From: Ted Mielczarek Date: Wed, 25 Apr 2012 13:37:16 -0400 Subject: [PATCH 28/78] bug 661908 - create a virtualenv as part of configure. r=khuey --HG-- extra : rebase_source : 9f2977471ba4baf45cc618c87b2e99f102bc9cca --- allmakefiles.sh | 1 + build/virtualenv/Makefile.in | 15 +++++++++++++++ configure.in | 26 ++++++++++++++++++++++---- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 build/virtualenv/Makefile.in diff --git a/allmakefiles.sh b/allmakefiles.sh index 09161e50a0cf..54023a6feeb7 100755 --- a/allmakefiles.sh +++ b/allmakefiles.sh @@ -30,6 +30,7 @@ build/Makefile build/pgo/Makefile build/pgo/blueprint/Makefile build/pgo/js-input/Makefile +build/virtualenv/Makefile config/Makefile config/autoconf.mk config/nspr/Makefile diff --git a/build/virtualenv/Makefile.in b/build/virtualenv/Makefile.in new file mode 100644 index 000000000000..d050eaf7e975 --- /dev/null +++ b/build/virtualenv/Makefile.in @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +DEPTH = ../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +default:: +# install some packages + +include $(topsrcdir)/config/rules.mk diff --git a/configure.in b/configure.in index f3bdcde8c7a6..299a4113789a 100644 --- a/configure.in +++ b/configure.in @@ -7901,10 +7901,9 @@ else fi AC_SUBST(CL_INCLUDES_PREFIX) rm -f dummy-hello.c - _topsrcdirwin=`cd \`dirname $0\`; pwd -W` dnl cl.py provides dependency generation for MSVC - CC_WRAPPER="$PYTHON -O $_topsrcdirwin/build/cl.py" - CXX_WRAPPER="$PYTHON -O $_topsrcdirwin/build/cl.py" + CC_WRAPPER='$(PYTHON) -O $(topsrcdir)/build/cl.py' + CXX_WRAPPER='$(PYTHON) -O $(topsrcdir)/build/cl.py' COMPILER_DEPEND=1 fi fi @@ -8544,7 +8543,6 @@ AC_SUBST(MOZ_MAPINFO) AC_SUBST(MOZ_BROWSE_INFO) AC_SUBST(MOZ_TOOLS_DIR) AC_SUBST(WIN32_REDIST_DIR) -AC_SUBST(PYTHON) AC_SUBST(MAKENSISU) dnl Echo the CFLAGS to remove extra whitespace. @@ -8926,6 +8924,22 @@ AC_SUBST(MOZ_DEFINES) rm -f confdefs.h mv confdefs.h.save confdefs.h +dnl Create a virtualenv where we can install local Python packages +AC_MSG_RESULT([Creating Python virtualenv]) +rm -rf _virtualenv +mkdir _virtualenv +$PYTHON $_topsrcdir/other-licenses/virtualenv/virtualenv.py ./_virtualenv +case "$host_os" in +mingw*) + PYTHON=`pwd`/_virtualenv/Scripts/python.exe + ;; +*) + PYTHON=`pwd`/_virtualenv/bin/python + ;; +esac + +AC_SUBST(PYTHON) + dnl Load the list of Makefiles to generate. dnl To add new Makefiles, edit allmakefiles.sh. dnl allmakefiles.sh sets the variable, MAKEFILES. @@ -8949,6 +8963,10 @@ mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null AC_OUTPUT($MAKEFILES) +# Populate the virtualenv +AC_MSG_RESULT([Populating Python virtualenv]) +$MAKE -C build/virtualenv || exit 1 + # Generate a JSON config file for unittest harnesses etc to read # build configuration details from in a standardized way. OS_TARGET=${OS_TARGET} TARGET_CPU=${TARGET_CPU} MOZ_DEBUG=${MOZ_DEBUG} \ From 1d372d50c69042a96af08a9275e4675694e557fe Mon Sep 17 00:00:00 2001 From: Ted Mielczarek Date: Wed, 25 Apr 2012 13:37:16 -0400 Subject: [PATCH 29/78] bug 661908 - add mozbase packages to virtualenv. r=khuey --HG-- extra : rebase_source : a7dd1d3f0dd5f39b3a7ea781f9c09c905b678ccf --- build/virtualenv/Makefile.in | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/build/virtualenv/Makefile.in b/build/virtualenv/Makefile.in index d050eaf7e975..74220c727e80 100644 --- a/build/virtualenv/Makefile.in +++ b/build/virtualenv/Makefile.in @@ -9,7 +9,26 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk +# Paths here are topsrcdir-relative, and +# must be in dependency-order. +setuptools_packages := \ + other-licenses/simplejson-2.1.1 \ + testing/mozbase/manifestdestiny \ + testing/mozbase/mozinfo \ + testing/mozbase/mozinstall \ + testing/mozbase/mozlog \ + testing/mozbase/mozprocess \ + testing/mozbase/mozprofile \ + testing/mozbase/mozrunner \ + $(NULL) + + +define install_setuptools_package +cd $(topsrcdir)/$(1)/; $(PYTHON) setup.py develop + +endef + default:: -# install some packages + $(foreach package,$(setuptools_packages),$(call install_setuptools_package,$(package))) include $(topsrcdir)/config/rules.mk From 19d81907c6596b682244c64d295215e1be3d861d Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Mon, 21 May 2012 21:05:36 +0100 Subject: [PATCH 30/78] bug 756850 - HBGetGlyph callback for harfbuzz needs to return whether the glyph existed. r=smontagu --- gfx/thebes/gfxHarfBuzzShaper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gfx/thebes/gfxHarfBuzzShaper.cpp b/gfx/thebes/gfxHarfBuzzShaper.cpp index 0f7e0ac0398a..7ffbaf62a1c6 100644 --- a/gfx/thebes/gfxHarfBuzzShaper.cpp +++ b/gfx/thebes/gfxHarfBuzzShaper.cpp @@ -169,7 +169,7 @@ HBGetGlyph(hb_font_t *font, void *font_data, const FontCallbackData *fcd = static_cast(font_data); *glyph = fcd->mShaper->GetGlyph(unicode, variation_selector); - return true; + return *glyph != 0; } struct HMetricsHeader { From 77f79e7a88872a640d198c4ccd3e616da609b7b2 Mon Sep 17 00:00:00 2001 From: Daniel Holbert Date: Mon, 21 May 2012 13:38:50 -0700 Subject: [PATCH 31/78] Bug 757177: Remove unused variables from SVGFragmentIdentifier.cpp. r=longsonr --- content/svg/content/src/SVGFragmentIdentifier.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/content/svg/content/src/SVGFragmentIdentifier.cpp b/content/svg/content/src/SVGFragmentIdentifier.cpp index d21dc9d77d86..3a320a030cca 100644 --- a/content/svg/content/src/SVGFragmentIdentifier.cpp +++ b/content/svg/content/src/SVGFragmentIdentifier.cpp @@ -11,12 +11,6 @@ using namespace mozilla; -static nsSVGEnumMapping sZoomAndPanMap[] = { - {&nsGkAtoms::disable, nsIDOMSVGZoomAndPan::SVG_ZOOMANDPAN_DISABLE}, - {&nsGkAtoms::magnify, nsIDOMSVGZoomAndPan::SVG_ZOOMANDPAN_MAGNIFY}, - {nsnull, 0} -}; - static bool IsMatchingParameter(const nsAString &aString, const nsAString &aParameterName) { @@ -148,7 +142,6 @@ SVGFragmentIdentifier::ProcessSVGViewSpec(const nsAString &aViewSpec, } } - const nsSVGViewBoxRect *oldViewBoxPtr = root->GetViewBoxProperty(); if (viewBoxParams) { SaveOldViewBox(root); root->mViewBox.SetBaseValueString(*viewBoxParams, root); @@ -156,7 +149,6 @@ SVGFragmentIdentifier::ProcessSVGViewSpec(const nsAString &aViewSpec, RestoreOldViewBox(root); } - const SVGPreserveAspectRatio *oldPARPtr = root->GetPreserveAspectRatioProperty(); if (preserveAspectRatioParams) { SaveOldPreserveAspectRatio(root); root->mPreserveAspectRatio.SetBaseValueString(*preserveAspectRatioParams, root); @@ -164,7 +156,6 @@ SVGFragmentIdentifier::ProcessSVGViewSpec(const nsAString &aViewSpec, RestoreOldPreserveAspectRatio(root); } - const PRUint16 *oldZoomAndPanPtr = root->GetZoomAndPanProperty(); if (zoomAndPanParams) { SaveOldZoomAndPan(root); nsCOMPtr valAtom = do_GetAtom(*zoomAndPanParams); From 0208722478e4b91ef24b472145b249ed5f55d9aa Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Mon, 21 May 2012 13:39:26 -0700 Subject: [PATCH 32/78] Bug 753565 - webapp.json incorrect on Mac. r=felipe --- browser/modules/WebappsInstaller.jsm | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/browser/modules/WebappsInstaller.jsm b/browser/modules/WebappsInstaller.jsm index d9217451c8d1..7b86ebf4693d 100644 --- a/browser/modules/WebappsInstaller.jsm +++ b/browser/modules/WebappsInstaller.jsm @@ -108,6 +108,11 @@ function NativeApp(aData) { this.manifest = app.manifest; this.profileFolder = Services.dirsvc.get("ProfD", Ci.nsIFile); + + this.webappJson = { + "registryDir": this.profileFolder.path, + "app": app + }; } #ifdef XP_WIN @@ -288,14 +293,9 @@ WinNativeApp.prototype = { */ _createConfigFiles: function() { // ${InstallDir}/webapp.json - let json = { - "registryDir": this.profileFolder.path, - "app": this.app - }; - let configJson = this.installDir.clone(); configJson.append("webapp.json"); - writeToFile(configJson, JSON.stringify(json), function() {}); + writeToFile(configJson, JSON.stringify(this.webappJson), function() {}); // ${InstallDir}/webapp.ini let webappINI = this.installDir.clone().QueryInterface(Ci.nsILocalFile); @@ -538,18 +538,9 @@ MacNativeApp.prototype = { _createConfigFiles: function() { // ${ProfileDir}/webapp.json - let json = { - "registryDir": this.profileFolder.path, - "app": { - "origin": this.launchURI.prePath, - "installOrigin": "apps.mozillalabs.com", - "manifest": this.manifest - } - }; - let configJson = this.appProfileDir.clone(); configJson.append("webapp.json"); - writeToFile(configJson, JSON.stringify(json), function() {}); + writeToFile(configJson, JSON.stringify(this.webappJson), function() {}); // ${InstallDir}/Contents/MacOS/webapp.ini let applicationINI = this.macOSDir.clone().QueryInterface(Ci.nsILocalFile); From 5381ee22c06f8d210dcbae42dfdee7d35230d776 Mon Sep 17 00:00:00 2001 From: Geoff Brown Date: Mon, 21 May 2012 13:40:49 -0700 Subject: [PATCH 33/78] Bug 746938 - Prevent NullPointerException in getNetworkType; r=mounir --- embedding/android/GeckoNetworkManager.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/embedding/android/GeckoNetworkManager.java b/embedding/android/GeckoNetworkManager.java index 411d0622bc78..0cd802d7fd71 100644 --- a/embedding/android/GeckoNetworkManager.java +++ b/embedding/android/GeckoNetworkManager.java @@ -186,11 +186,18 @@ public class GeckoNetworkManager ConnectivityManager cm = (ConnectivityManager)GeckoApp.mAppContext.getSystemService(Context.CONNECTIVITY_SERVICE); - if (cm.getActiveNetworkInfo() == null) { + if (cm == null) { + Log.w("GeckoNetworkManager", "Could not access Connectivity service"); return NetworkType.NETWORK_NONE; } - switch (cm.getActiveNetworkInfo().getType()) { + NetworkInfo ni = cm.getActiveNetworkInfo(); + + if (ni == null) { + return NetworkType.NETWORK_NONE; + } + + switch (ni.getType()) { case ConnectivityManager.TYPE_ETHERNET: return NetworkType.NETWORK_ETHERNET; case ConnectivityManager.TYPE_WIFI: @@ -207,6 +214,11 @@ public class GeckoNetworkManager TelephonyManager tm = (TelephonyManager)GeckoApp.mAppContext.getSystemService(Context.TELEPHONY_SERVICE); + if (tm == null) { + Log.w("GeckoNetworkManager", "Could not access Telephony service"); + return NetworkType.NETWORK_UNKNOWN; + } + switch (tm.getNetworkType()) { case TelephonyManager.NETWORK_TYPE_IDEN: case TelephonyManager.NETWORK_TYPE_CDMA: From a18c7823bbfac340049d7be7ae8e97c03393f55e Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Tue, 22 May 2012 08:43:35 +1200 Subject: [PATCH 34/78] Bug 745047 - Wait until actually in fullscreen before starting mozMovement pointer lock test. r=smaug --- dom/tests/mochitest/pointerlock/file_movementXY.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dom/tests/mochitest/pointerlock/file_movementXY.html b/dom/tests/mochitest/pointerlock/file_movementXY.html index 6e49223a9bc2..0b8bc68a9b8b 100644 --- a/dom/tests/mochitest/pointerlock/file_movementXY.html +++ b/dom/tests/mochitest/pointerlock/file_movementXY.html @@ -83,8 +83,14 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=633602 document.mozCancelFullScreen(); }; - document.addEventListener("mozfullscreenchange", function() { + function fullscreenchange() { if (document.mozFullScreenElement === div) { + if (window.screenX != 0 || window.screenY != 0) { + todo(window.screenX == 0 && window.screenY == 0, + "We should only receive fullscreenchange once we've finished fullscreen transition"); + setTimeout(fullscreenchange, 250); + return; + } div.addEventListener("mousemove", moveMouse, false); synthesizeMouseAtCenter(div, {type: "mousemove"}, window); } @@ -92,7 +98,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=633602 runTests(); SimpleTest.finish(); } - }, false); + } + + document.addEventListener("mozfullscreenchange", fullscreenchange, false); function start() { div.mozRequestFullScreen(); From 6577ec19624c669112657faadbd90566694a2ce3 Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Tue, 22 May 2012 08:43:36 +1200 Subject: [PATCH 35/78] Bug 753546 Part 1 - Make nsDocument listen for 'fullscreen-approved' notification rather than 'perm-changed' to signal fullscreen approved. r=smaug --- content/base/src/nsDocument.cpp | 11 ++++++----- .../mochitest/tests/SimpleTest/specialpowersAPI.js | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 9fbf29c1fd37..17063228180e 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -9257,7 +9257,7 @@ nsDocument::ClearPendingPointerLockRequest(bool aDispatchErrorEvents) NS_WARNING("Document must implement nsIObserver"); return; } - os->RemoveObserver(obs, "perm-changed"); + os->RemoveObserver(obs, "fullscreen-approved"); if (aDispatchErrorEvents) { DispatchPointerLockError(doc); @@ -9291,7 +9291,7 @@ nsDocument::SetPendingPointerLockRequest(Element* aElement) nsCOMPtr obs(do_QueryInterface(aElement->OwnerDoc())); NS_ENSURE_TRUE(obs != nsnull, NS_ERROR_FAILURE); - nsresult res = os->AddObserver(obs, "perm-changed", true); + nsresult res = os->AddObserver(obs, "fullscreen-approved", true); NS_ENSURE_SUCCESS(res, res); sPendingPointerLockDoc = do_GetWeakReference(aElement->OwnerDoc()); @@ -9309,9 +9309,10 @@ nsDocument::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { - if (strcmp("perm-changed", aTopic) == 0) { + if (strcmp("fullscreen-approved", aTopic) == 0) { + nsCOMPtr subject(do_QueryInterface(aSubject)); nsCOMPtr doc(do_QueryReferent(sPendingPointerLockDoc)); - if (nsContentUtils::IsSitePermAllow(doc->NodePrincipal(), "fullscreen")) { + if (subject == doc) { nsCOMPtr element(do_QueryReferent(sPendingPointerLockElement)); nsDocument::ClearPendingPointerLockRequest(false); nsAsyncPointerLockRequest::Request(element, doc); @@ -9337,7 +9338,7 @@ nsDocument::RequestPointerLock(Element* aElement) DispatchPointerLockError(this); return; } - + if (!nsContentUtils::IsSitePermAllow(NodePrincipal(), "fullscreen")) { // Domain isn't yet approved for fullscreen, so we must wait until // it's been approved. diff --git a/testing/mochitest/tests/SimpleTest/specialpowersAPI.js b/testing/mochitest/tests/SimpleTest/specialpowersAPI.js index c9e3bc796455..4b4cccad593e 100644 --- a/testing/mochitest/tests/SimpleTest/specialpowersAPI.js +++ b/testing/mochitest/tests/SimpleTest/specialpowersAPI.js @@ -1041,6 +1041,9 @@ SpecialPowersAPI.prototype = { var pm = Cc["@mozilla.org/permissionmanager;1"].getService(Ci.nsIPermissionManager); var uri = this.getDocumentURIObject(document); pm.add(uri, "fullscreen", Ci.nsIPermissionManager.ALLOW_ACTION); + var obsvc = Cc['@mozilla.org/observer-service;1'] + .getService(Ci.nsIObserverService); + obsvc.notifyObservers(document, "fullscreen-approved", null); }, removeFullscreenAllowed: function(document) { From dbc3e1ed74b70f295b3399d29d17d5d58eb551ca Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Tue, 22 May 2012 08:43:36 +1200 Subject: [PATCH 36/78] Bug 753546 Part 2 - Don't allow fullscreen approval decision to be remembered for document's whose URI doesn't have a host. r=dao --- browser/base/content/browser.js | 110 +++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index b3dfb7d93600..f691616d7608 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -4184,7 +4184,7 @@ var FullScreen = { cancelWarning: function(event) { if (!this.warningBox) return; - this.fullscreenDocUri = null; + this.fullscreenDoc = null; this.warningBox.removeEventListener("transitionend", this); if (this.warningFadeOutTimeout) { clearTimeout(this.warningFadeOutTimeout); @@ -4204,39 +4204,52 @@ var FullScreen = { }, setFullscreenAllowed: function(isApproved) { - let remember = document.getElementById("full-screen-remember-decision").checked; - if (remember) - Services.perms.add(this.fullscreenDocUri, - "fullscreen", - isApproved ? Services.perms.ALLOW_ACTION : Services.perms.DENY_ACTION, - Services.perms.EXPIRE_NEVER); - else if (isApproved) { - // The user has only temporarily approved fullscren for this domain. - // Add the permission (so Gecko knows fullscreen is approved) but add a - // listener to remove the permission when the chrome document exits fullscreen. - Services.perms.add(this.fullscreenDocUri, - "fullscreen", - Services.perms.ALLOW_ACTION, - Services.perms.EXPIRE_SESSION); - let host = this.fullscreenDocUri.host; - function onFullscreenchange(event) { - if (event.target == document && document.mozFullScreenElement == null) { - // The chrome document has left fullscreen. Remove the temporary permission grant. - Services.perms.remove(host, "fullscreen"); - document.removeEventListener("mozfullscreenchange", onFullscreenchange); + // The "remember decision" checkbox is hidden when showing for documents that + // the permission manager can't handle (documents with URIs without a host). + // We simply require those to be approved every time instead. + let rememberCheckbox = document.getElementById("full-screen-remember-decision"); + let uri = this.fullscreenDoc.nodePrincipal.URI; + if (!rememberCheckbox.hidden) { + if (rememberCheckbox.checked) + Services.perms.add(uri, + "fullscreen", + isApproved ? Services.perms.ALLOW_ACTION : Services.perms.DENY_ACTION, + Services.perms.EXPIRE_NEVER); + else if (isApproved) { + // The user has only temporarily approved fullscren for this fullscreen + // session only. Add the permission (so Gecko knows to approve any further + // fullscreen requests for this host in this fullscreen session) but add + // a listener to revoke the permission when the chrome document exits + // fullscreen. + Services.perms.add(uri, + "fullscreen", + Services.perms.ALLOW_ACTION, + Services.perms.EXPIRE_SESSION); + let host = uri.host; + function onFullscreenchange(event) { + if (event.target == document && document.mozFullScreenElement == null) { + // The chrome document has left fullscreen. Remove the temporary permission grant. + Services.perms.remove(host, "fullscreen"); + document.removeEventListener("mozfullscreenchange", onFullscreenchange); + } } + document.addEventListener("mozfullscreenchange", onFullscreenchange); } - document.addEventListener("mozfullscreenchange", onFullscreenchange); } if (this.warningBox) this.warningBox.setAttribute("fade-warning-out", "true"); - if (!isApproved) + // If the document has been granted fullscreen, notify Gecko so it can resume + // any pending pointer lock requests, otherwise exit fullscreen; the user denied + // the fullscreen request. + if (isApproved) + Services.obs.notifyObservers(this.fullscreenDoc, "fullscreen-approved", ""); + else document.mozCancelFullScreen(); }, warningBox: null, warningFadeOutTimeout: null, - fullscreenDocUri: null, + fullscreenDoc: null, // Shows the fullscreen approval UI, or if the domain has already been approved // for fullscreen, shows a warning that the site has entered fullscreen for a short @@ -4247,15 +4260,37 @@ var FullScreen = { return; // Set the strings on the fullscreen approval UI. - this.fullscreenDocUri = targetDoc.nodePrincipal.URI; - let utils = {}; - Cu.import("resource://gre/modules/DownloadUtils.jsm", utils); - let [displayHost, fullHost] = utils.DownloadUtils.getURIHost(this.fullscreenDocUri.spec); - let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties"); - let domainText = bundle.formatStringFromName("fullscreen.entered", [displayHost], 1); - document.getElementById("full-screen-domain-text").textContent = domainText; - let rememberText = bundle.formatStringFromName("fullscreen.rememberDecision", [displayHost], 1); - document.getElementById("full-screen-remember-decision").label = rememberText; + this.fullscreenDoc = targetDoc; + let uri = this.fullscreenDoc.nodePrincipal.URI; + let host = null; + try { + host = uri.host; + } catch (e) { } + let hostLabel = document.getElementById("full-screen-domain-text"); + let rememberCheckbox = document.getElementById("full-screen-remember-decision"); + let isApproved = false; + if (host) { + // Document's principal's URI has a host. Display a warning including the hostname and + // show UI to enable the user to permanently grant this host permission to enter fullscreen. + let utils = {}; + Cu.import("resource://gre/modules/DownloadUtils.jsm", utils); + let displayHost = utils.DownloadUtils.getURIHost(uri.spec)[0]; + let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties"); + + hostLabel.textContent = bundle.formatStringFromName("fullscreen.entered", [displayHost], 1); + hostLabel.removeAttribute("hidden"); + + rememberCheckbox.label = bundle.formatStringFromName("fullscreen.rememberDecision", [displayHost], 1); + rememberCheckbox.checked = false; + rememberCheckbox.removeAttribute("hidden"); + + // Note we only allow documents whose principal's URI has a host to + // store permission grants. + isApproved = Services.perms.testPermission(uri, "fullscreen") == Services.perms.ALLOW_ACTION; + } else { + hostLabel.setAttribute("hidden", "true"); + rememberCheckbox.setAttribute("hidden", "true"); + } // Note: the warning box can be non-null if the warning box from the previous request // wasn't hidden before another request was made. @@ -4269,11 +4304,10 @@ var FullScreen = { // If fullscreen mode has not yet been approved for the fullscreen // document's domain, show the approval UI and don't auto fade out the // fullscreen warning box. Otherwise, we're just notifying of entry into - // fullscreen mode. - let isApproved = - Services.perms.testPermission(this.fullscreenDocUri, "fullscreen") == Services.perms.ALLOW_ACTION; + // fullscreen mode. Note if the resource's host is null, we must be + // showing a local file or a local data URI, and we require explicit + // approval every time. let authUI = document.getElementById("full-screen-approval-pane"); - document.getElementById("full-screen-remember-decision").checked = false; if (isApproved) authUI.setAttribute("hidden", "true"); else { @@ -4471,7 +4505,7 @@ var XULBrowserWindow = { startTime: 0, statusText: "", isBusy: false, - inContentWhitelist: ["about:addons", "about:permissions", + inContentWhitelist: ["about:addons", "about:permissions", "about:sync-progress", "about:preferences"], QueryInterface: function (aIID) { From 2d080fd31426a490973ae55679f9c02a10e985c0 Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Tue, 22 May 2012 08:43:36 +1200 Subject: [PATCH 37/78] Bug 753546 part 3 - Record fullscreen approval in nsDocument flag. r=smaug --- content/base/public/nsIDocument.h | 13 +++- content/base/src/nsDocument.cpp | 112 ++++++++++++++++++------------ content/base/src/nsDocument.h | 26 ++++++- 3 files changed, 104 insertions(+), 47 deletions(-) diff --git a/content/base/public/nsIDocument.h b/content/base/public/nsIDocument.h index 8507bf6fd5e0..f35af196b340 100644 --- a/content/base/public/nsIDocument.h +++ b/content/base/public/nsIDocument.h @@ -92,9 +92,8 @@ class Element; } // namespace mozilla #define NS_IDOCUMENT_IID \ -{ 0x8e51e6d9, 0x914d, 0x46ba, \ - { 0xb3, 0x11, 0x2f, 0x27, 0x3d, 0xe6, 0x0d, 0x19 } } - +{ 0x88d887da, 0xd228, 0x41c2, \ + { 0xb8, 0x0a, 0x42, 0xec, 0xf0, 0xcb, 0xce, 0x37 } } // Flag for AddStyleSheet(). #define NS_STYLESHEET_FROM_CATALOG (1 << 0) @@ -744,6 +743,14 @@ public: */ virtual bool IsFullScreenDoc() = 0; + /** + * Sets whether this document is approved for fullscreen mode. + * Documents aren't approved for fullscreen until chrome has sent a + * "fullscreen-approved" notification with a subject which is a pointer + * to the approved document. + */ + virtual void SetApprovedForFullscreen(bool aIsApproved) = 0; + /** * Exits all documents from DOM full-screen mode, and moves the top-level * browser window out of full-screen mode. If aRunAsync is true, this runs diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 17063228180e..64594cfdb03e 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -7391,7 +7391,7 @@ nsDocument::OnPageHide(bool aPersisted, // document to reset its state, so reset full-screen state in *this* // document. OnPageHide() is called in every hidden document, so doing // this ensures all hidden documents have their full-screen state reset. - ClearFullScreenStack(); + CleanupFullscreenState(); // Next reset full-screen state in all visible documents in the doctree. nsIDocument::ExitFullScreen(false); @@ -8581,7 +8581,7 @@ nsIDocument::ExitFullScreen(bool aRunAsync) static bool ResetFullScreen(nsIDocument* aDocument, void* aData) { if (aDocument->IsFullScreenDoc()) { - static_cast(aDocument)->ClearFullScreenStack(); + static_cast(aDocument)->CleanupFullscreenState(); NS_ASSERTION(!aDocument->IsFullScreenDoc(), "Should reset full-screen"); nsTArray* changed = reinterpret_cast*>(aData); changed->AppendElement(aDocument); @@ -8659,7 +8659,7 @@ nsDocument::RestorePreviousFullScreenState() nsIDocument* doc = fullScreenDoc; while (doc != this) { NS_ASSERTION(doc->IsFullScreenDoc(), "Should be full-screen doc"); - static_cast(doc)->ClearFullScreenStack(); + static_cast(doc)->CleanupFullscreenState(); UnlockPointer(); DispatchFullScreenChange(doc); doc = doc->GetParentDocument(); @@ -8675,6 +8675,7 @@ nsDocument::RestorePreviousFullScreenState() // Full-screen stack in document is empty. Go back up to the parent // document. We'll pop the containing element off its stack, and use // its next full-screen element as the full-screen element. + static_cast(doc)->CleanupFullscreenState(); doc = doc->GetParentDocument(); } else { // Else we popped the top of the stack, and there's still another @@ -8768,21 +8769,46 @@ LogFullScreenDenied(bool aLogFailure, const char* aMessage, nsIDocument* aDoc) aMessage); } -void -nsDocument::ClearFullScreenStack() +nsresult +nsDocument::AddFullscreenApprovedObserver() { - if (mFullScreenStack.IsEmpty()) { - return; + nsCOMPtr os = mozilla::services::GetObserverService(); + NS_ENSURE_TRUE(os, NS_ERROR_FAILURE); + + nsresult res = os->AddObserver(this, "fullscreen-approved", true); + NS_ENSURE_SUCCESS(res, res); + + return NS_OK; +} + +nsresult +nsDocument::RemoveFullscreenApprovedObserver() +{ + nsCOMPtr os = mozilla::services::GetObserverService(); + NS_ENSURE_TRUE(os, NS_ERROR_FAILURE); + + nsresult res = os->RemoveObserver(this, "fullscreen-approved"); + NS_ENSURE_SUCCESS(res, res); + + return NS_OK; +} + +void +nsDocument::CleanupFullscreenState() +{ + if (!mFullScreenStack.IsEmpty()) { + // The top element in the full-screen stack will have full-screen + // style bits set on it and its ancestors. Remove the style bits. + // Note the non-top elements won't have the style bits set. + Element* top = FullScreenStackTop(); + NS_ASSERTION(top, "Should have a top when full-screen stack isn't empty"); + if (top) { + nsEventStateManager::SetFullScreenState(top, false); + } + mFullScreenStack.Clear(); } - // The top element in the full-screen stack will have full-screen - // style bits set on it and its ancestors. Remove the style bits. - // Note the non-top elements won't have the style bits set. - Element* top = FullScreenStackTop(); - NS_ASSERTION(top, "Should have a top when full-screen stack isn't empty"); - if (top) { - nsEventStateManager::SetFullScreenState(top, false); - } - mFullScreenStack.Clear(); + SetApprovedForFullscreen(false); + RemoveFullscreenApprovedObserver(); } bool @@ -8950,6 +8976,8 @@ nsDocument::RequestFullScreen(Element* aElement, bool aWasCallerChrome) } } + AddFullscreenApprovedObserver(); + // Stores a list of documents which we must dispatch "mozfullscreenchange" // too. We're required by the spec to dispatch the events in root-to-leaf // order, but we traverse the doctree in a leaf-to-root order, so we save @@ -9018,6 +9046,14 @@ nsDocument::RequestFullScreen(Element* aElement, bool aWasCallerChrome) true); e->PostDOMEvent(); + // If this document hasn't already been approved in this session, + // check to see if the user has granted the fullscreen access + // to the document's principal's host, if it has one. + if (!mIsApprovedForFullscreen) { + mIsApprovedForFullscreen = + nsContentUtils::IsSitePermAllow(NodePrincipal(), "fullscreen"); + } + // Remember this is the requesting full-screen document. sFullScreenDoc = do_GetWeakReference(static_cast(this)); @@ -9246,19 +9282,6 @@ nsDocument::ClearPendingPointerLockRequest(bool aDispatchErrorEvents) return; } nsCOMPtr doc(do_QueryReferent(sPendingPointerLockDoc)); - nsCOMPtr os = mozilla::services::GetObserverService(); - if (!os) { - NS_WARNING("Lost observer service in ClearPendingPointerLockRequest()!"); - return; - } - - nsCOMPtr obs(do_QueryInterface(doc)); - if (!os) { - NS_WARNING("Document must implement nsIObserver"); - return; - } - os->RemoveObserver(obs, "fullscreen-approved"); - if (aDispatchErrorEvents) { DispatchPointerLockError(doc); } @@ -9283,16 +9306,7 @@ nsDocument::SetPendingPointerLockRequest(Element* aElement) // If there's an existing pending pointer lock request, deny it. ClearPendingPointerLockRequest(true); - NS_ENSURE_TRUE(aElement != nsnull, NS_ERROR_FAILURE); - - nsCOMPtr os = mozilla::services::GetObserverService(); - NS_ENSURE_TRUE(os != nsnull, NS_ERROR_FAILURE); - - nsCOMPtr obs(do_QueryInterface(aElement->OwnerDoc())); - NS_ENSURE_TRUE(obs != nsnull, NS_ERROR_FAILURE); - - nsresult res = os->AddObserver(obs, "fullscreen-approved", true); - NS_ENSURE_SUCCESS(res, res); + NS_ENSURE_TRUE(aElement != nsnull, NS_ERROR_FAILURE); sPendingPointerLockDoc = do_GetWeakReference(aElement->OwnerDoc()); sPendingPointerLockElement = do_GetWeakReference(aElement); @@ -9303,6 +9317,12 @@ nsDocument::SetPendingPointerLockRequest(Element* aElement) return NS_OK; } + +void +nsDocument::SetApprovedForFullscreen(bool aIsApproved) +{ + mIsApprovedForFullscreen = aIsApproved; +} nsresult nsDocument::Observe(nsISupports *aSubject, @@ -9311,11 +9331,17 @@ nsDocument::Observe(nsISupports *aSubject, { if (strcmp("fullscreen-approved", aTopic) == 0) { nsCOMPtr subject(do_QueryInterface(aSubject)); + if (subject != this) { + return NS_OK; + } + SetApprovedForFullscreen(true); nsCOMPtr doc(do_QueryReferent(sPendingPointerLockDoc)); - if (subject == doc) { + if (this == doc) { + // This doc has a pointer lock request, waiting for fullscreen to be + // approved before it can be granted. Process the pointer lock request. nsCOMPtr element(do_QueryReferent(sPendingPointerLockElement)); nsDocument::ClearPendingPointerLockRequest(false); - nsAsyncPointerLockRequest::Request(element, doc); + nsAsyncPointerLockRequest::Request(element, this); } } return NS_OK; @@ -9339,8 +9365,8 @@ nsDocument::RequestPointerLock(Element* aElement) return; } - if (!nsContentUtils::IsSitePermAllow(NodePrincipal(), "fullscreen")) { - // Domain isn't yet approved for fullscreen, so we must wait until + if (!mIsApprovedForFullscreen) { + // Document isn't yet approved for fullscreen, so we must wait until // it's been approved. if (NS_FAILED(SetPendingPointerLockRequest(aElement))) { NS_WARNING("Failed to make pointer lock request pending!"); diff --git a/content/base/src/nsDocument.h b/content/base/src/nsDocument.h index 6f832898274d..0f1d9b257816 100644 --- a/content/base/src/nsDocument.h +++ b/content/base/src/nsDocument.h @@ -929,6 +929,8 @@ public: virtual void AsyncRequestFullScreen(Element* aElement); virtual void RestorePreviousFullScreenState(); virtual bool IsFullScreenDoc(); + virtual void SetApprovedForFullscreen(bool aIsApproved); + static void ExitFullScreen(); // This is called asynchronously by nsIDocument::AsyncRequestFullScreen() @@ -939,7 +941,14 @@ public: // Removes all elements from the full-screen stack, removing full-scren // styles from the top element in the stack. - void ClearFullScreenStack(); + void CleanupFullscreenState(); + + // Add/remove "fullscreen-approved" observer service notification listener. + // Chrome sends us a notification when fullscreen is approved for a + // document, with the notification subject as the document that was approved. + // We maintain this listener while in fullscreen mode. + nsresult AddFullscreenApprovedObserver(); + nsresult RemoveFullscreenApprovedObserver(); // Pushes aElement onto the full-screen stack, and removes full-screen styles // from the former full-screen stack top, and its ancestors, and applies the @@ -1180,6 +1189,21 @@ protected: // terminated instead of letting it finish at its own pace. bool mParserAborted:1; + // Whether this document has been approved for fullscreen, either by explicit + // approval via the fullscreen-approval UI, or because it received + // approval because its document's host already had the "fullscreen" + // permission granted when the document requested fullscreen. + // + // Note if a document's principal doesn't have a host, the permission manager + // can't store permissions for it, so we can only manage approval using this + // flag. + // + // Note we must track this separately from the "fullscreen" permission, + // so that pending pointer lock requests can determine whether documents + // whose principal doesn't have a host (i.e. those which can't store + // permissions in the permission manager) have been approved for fullscreen. + bool mIsApprovedForFullscreen:1; + PRUint8 mXMLDeclarationBits; nsInterfaceHashtable, nsPIBoxObject> *mBoxObjectTable; From 5bceac58757f05157cb88ca4cc95949748b8d531 Mon Sep 17 00:00:00 2001 From: Chris Pearce Date: Tue, 22 May 2012 08:43:36 +1200 Subject: [PATCH 38/78] Bug 756992 - Only show fullscreen warning/UI when crossing domain boundaries or when document isn't approved. r=smaug --- content/base/public/nsContentUtils.h | 3 +++ content/base/src/nsContentUtils.cpp | 12 +++++++++++ content/base/src/nsDocument.cpp | 32 +++++++++++++++++++--------- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/content/base/public/nsContentUtils.h b/content/base/public/nsContentUtils.h index 617ba008383a..50ccf59e8232 100644 --- a/content/base/public/nsContentUtils.h +++ b/content/base/public/nsContentUtils.h @@ -593,6 +593,9 @@ public: // system principal, and true for a null principal. static bool IsSitePermDeny(nsIPrincipal* aPrincipal, const char* aType); + // Returns true if aDoc1 and aDoc2 have equal NodePrincipal()s. + static bool HaveEqualPrincipals(nsIDocument* aDoc1, nsIDocument* aDoc2); + static nsILineBreaker* LineBreaker() { return sLineBreaker; diff --git a/content/base/src/nsContentUtils.cpp b/content/base/src/nsContentUtils.cpp index d94cba3f254b..0c586a998314 100644 --- a/content/base/src/nsContentUtils.cpp +++ b/content/base/src/nsContentUtils.cpp @@ -6491,6 +6491,18 @@ nsContentUtils::IsRequestFullScreenAllowed() IsCallerChrome(); } +/* static */ +bool +nsContentUtils::HaveEqualPrincipals(nsIDocument* aDoc1, nsIDocument* aDoc2) +{ + if (!aDoc1 || !aDoc2) { + return false; + } + bool principalsEqual = false; + aDoc1->NodePrincipal()->Equals(aDoc2->NodePrincipal(), &principalsEqual); + return principalsEqual; +} + static void CheckForWindowedPlugins(nsIContent* aContent, void* aResult) { diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 64594cfdb03e..fa167b6bd51d 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -8683,9 +8683,11 @@ nsDocument::RestorePreviousFullScreenState() if (fullScreenDoc != doc) { // We've popped so enough off the stack that we've rolled back to // a fullscreen element in a parent document. If this document isn't - // authorized for fullscreen, dispatch an event to chrome so it - // knows to show the authorization UI. - if (!nsContentUtils::IsSitePermAllow(doc->NodePrincipal(), "fullscreen")) { + // approved for fullscreen, or if it's cross origin, dispatch an + // event to chrome so it knows to show the authorization/warning UI. + if (!nsContentUtils::HaveEqualPrincipals(fullScreenDoc, doc) || + (!nsContentUtils::IsSitePermAllow(doc->NodePrincipal(), "fullscreen") && + !static_cast(doc)->mIsApprovedForFullscreen)) { nsRefPtr e = new nsAsyncDOMEvent(doc, NS_LITERAL_STRING("MozEnteredDomFullscreen"), @@ -9039,13 +9041,6 @@ nsDocument::RequestFullScreen(Element* aElement, bool aWasCallerChrome) DispatchFullScreenChange(changed[changed.Length() - i - 1]); } - nsRefPtr e = - new nsAsyncDOMEvent(this, - NS_LITERAL_STRING("MozEnteredDomFullscreen"), - true, - true); - e->PostDOMEvent(); - // If this document hasn't already been approved in this session, // check to see if the user has granted the fullscreen access // to the document's principal's host, if it has one. @@ -9054,6 +9049,23 @@ nsDocument::RequestFullScreen(Element* aElement, bool aWasCallerChrome) nsContentUtils::IsSitePermAllow(NodePrincipal(), "fullscreen"); } + // If this document, or a document with the same principal has not + // already been approved for fullscreen this fullscreen-session, dispatch + // an event so that chrome knows to pop up a warning/approval UI. + nsCOMPtr previousFullscreenDoc(do_QueryReferent(sFullScreenDoc)); + // Note previousFullscreenDoc=nsnull upon first entry, so we always + // take this path on the first time we enter fullscreen in a fullscreen + // session. + if (!mIsApprovedForFullscreen || + !nsContentUtils::HaveEqualPrincipals(previousFullscreenDoc, this)) { + nsRefPtr e = + new nsAsyncDOMEvent(this, + NS_LITERAL_STRING("MozEnteredDomFullscreen"), + true, + true); + e->PostDOMEvent(); + } + // Remember this is the requesting full-screen document. sFullScreenDoc = do_GetWeakReference(static_cast(this)); From dc686f0a90af59f5fa14048bfa541796212d0754 Mon Sep 17 00:00:00 2001 From: "julian.reschke@gmx.de" Date: Mon, 21 May 2012 06:31:00 -0700 Subject: [PATCH 39/78] Bug 663057 - support RFC2231/5987 encoding for title parameter in HTTP link header fields. r=hsivonen --- content/base/src/nsContentSink.cpp | 75 ++++++++++- content/base/src/nsContentSink.h | 1 + intl/uconv/idl/nsIUTF8ConverterService.idl | 5 +- intl/uconv/src/nsUTF8ConverterService.cpp | 11 +- netwerk/mime/nsIMIMEHeaderParam.idl | 24 ++++ netwerk/mime/nsMIMEHeaderParamImpl.cpp | 141 ++++++++++++++++++++- netwerk/test/unit/test_MIME_params.js | 65 +++++++++- 7 files changed, 302 insertions(+), 20 deletions(-) diff --git a/content/base/src/nsContentSink.cpp b/content/base/src/nsContentSink.cpp index 2920a6191bbb..e289e4c605b6 100644 --- a/content/base/src/nsContentSink.cpp +++ b/content/base/src/nsContentSink.cpp @@ -416,6 +416,48 @@ nsContentSink::LinkContextIsOurDocument(const nsSubstring& aAnchor) return same; } +// Decode a parameter value using the encoding defined in RFC 5987 (in place) +// +// charset "'" [ language ] "'" value-chars +// +// returns true when decoding happened successfully (otherwise leaves +// passed value alone) +bool +nsContentSink::Decode5987Format(nsAString& aEncoded) { + + nsresult rv; + nsCOMPtr mimehdrpar = + do_GetService(NS_MIMEHEADERPARAM_CONTRACTID, &rv); + if (NS_FAILED(rv)) + return false; + + nsCAutoString asciiValue; + + const PRUnichar* encstart = aEncoded.BeginReading(); + const PRUnichar* encend = aEncoded.EndReading(); + + // create a plain ASCII string, aborting if we can't do that + // converted form is always shorter than input + while (encstart != encend) { + if (*encstart > 0 && *encstart < 128) { + asciiValue.Append((char)*encstart); + } else { + return false; + } + encstart++; + } + + nsAutoString decoded; + nsCAutoString language; + + rv = mimehdrpar->DecodeRFC5987Param(asciiValue, language, decoded); + if (NS_FAILED(rv)) + return false; + + aEncoded = decoded; + return true; +} + nsresult nsContentSink::ProcessLinkHeader(nsIContent* aElement, const nsAString& aLinkData) @@ -429,6 +471,7 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, nsAutoString href; nsAutoString rel; nsAutoString title; + nsAutoString titleStar; nsAutoString type; nsAutoString media; nsAutoString anchor; @@ -453,7 +496,7 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, end = start; last = end - 1; - bool needsUnescape = false; + bool wasQuotedString = false; // look for semicolon or comma while (*end != kNullCh && *end != kSemicolon && *end != kComma) { @@ -467,14 +510,14 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, quote = kGreaterThan; } - needsUnescape = (ch == kQuote); + wasQuotedString = (ch == kQuote); PRUnichar* closeQuote = (end + 1); // seek closing quote while (*closeQuote != kNullCh && quote != *closeQuote) { // in quoted-string, "\" is an escape character - if (needsUnescape && *closeQuote == kBackSlash && *(closeQuote + 1) != kNullCh) { + if (wasQuotedString && *closeQuote == kBackSlash && *(closeQuote + 1) != kNullCh) { ++closeQuote; } @@ -549,7 +592,7 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, value++; } - if (needsUnescape) { + if (wasQuotedString) { // unescape in-place PRUnichar* unescaped = value; PRUnichar *src = value; @@ -574,6 +617,20 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, title = value; title.CompressWhitespace(); } + } else if (attr.LowerCaseEqualsLiteral("title*")) { + if (titleStar.IsEmpty() && !wasQuotedString) { + // RFC 5987 encoding; uses token format only, so skip if we get + // here with a quoted-string + nsAutoString tmp; + tmp = value; + if (Decode5987Format(tmp)) { + titleStar = tmp; + titleStar.CompressWhitespace(); + } else { + // header value did not parse, throw it away + titleStar.Truncate(); + } + } } else if (attr.LowerCaseEqualsLiteral("type")) { if (type.IsEmpty()) { type = value; @@ -602,7 +659,10 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, href.Trim(" \t\n\r\f"); // trim HTML5 whitespace if (!href.IsEmpty() && !rel.IsEmpty()) { - rv = ProcessLink(aElement, anchor, href, rel, title, type, media); + rv = ProcessLink(aElement, anchor, href, rel, + // prefer RFC 5987 variant over non-I18zed version + titleStar.IsEmpty() ? title : titleStar, + type, media); } href.Truncate(); @@ -620,7 +680,10 @@ nsContentSink::ProcessLinkHeader(nsIContent* aElement, href.Trim(" \t\n\r\f"); // trim HTML5 whitespace if (!href.IsEmpty() && !rel.IsEmpty()) { - rv = ProcessLink(aElement, anchor, href, rel, title, type, media); + rv = ProcessLink(aElement, anchor, href, rel, + // prefer RFC 5987 variant over non-I18zed version + titleStar.IsEmpty() ? title : titleStar, + type, media); } return rv; diff --git a/content/base/src/nsContentSink.h b/content/base/src/nsContentSink.h index d1f1d74b260b..799cc6c3f22d 100644 --- a/content/base/src/nsContentSink.h +++ b/content/base/src/nsContentSink.h @@ -117,6 +117,7 @@ class nsContentSink : public nsICSSLoaderObserver, bool IsTimeToNotify(); bool LinkContextIsOurDocument(const nsSubstring& aAnchor); + bool Decode5987Format(nsAString& aEncoded); static void InitializeStatics(); diff --git a/intl/uconv/idl/nsIUTF8ConverterService.idl b/intl/uconv/idl/nsIUTF8ConverterService.idl index 2810d28cd630..e8333621fbc9 100644 --- a/intl/uconv/idl/nsIUTF8ConverterService.idl +++ b/intl/uconv/idl/nsIUTF8ConverterService.idl @@ -25,6 +25,8 @@ interface nsIUTF8ConverterService : nsISupports * The most common case is the input is in 7bit non-ASCII charsets * like ISO-2022-JP, HZ or UTF-7 (in its original form or * a modified form used in IMAP folder names). + * @param aAllowSubstitution when true, allow the decoder to substitute + * invalid input sequences by replacement characters * @return the converted string in UTF-8. * @throws NS_ERROR_UCONV_NOCONV when there is no decoder for aCharset * or error code of nsIUnicodeDecoder in case of conversion failure @@ -32,7 +34,8 @@ interface nsIUTF8ConverterService : nsISupports AUTF8String convertStringToUTF8(in ACString aString, in string aCharset, - in boolean aSkipCheck); + in boolean aSkipCheck, + in boolean aAllowSubstitution); /* XXX : To-be-added. convertStringFromUTF8 */ diff --git a/intl/uconv/src/nsUTF8ConverterService.cpp b/intl/uconv/src/nsUTF8ConverterService.cpp index e9b220e1984e..ff498b5c5ffe 100644 --- a/intl/uconv/src/nsUTF8ConverterService.cpp +++ b/intl/uconv/src/nsUTF8ConverterService.cpp @@ -17,7 +17,8 @@ NS_IMPL_ISUPPORTS1(nsUTF8ConverterService, nsIUTF8ConverterService) static nsresult -ToUTF8(const nsACString &aString, const char *aCharset, nsACString &aResult) +ToUTF8(const nsACString &aString, const char *aCharset, + bool aAllowSubstitution, nsACString &aResult) { nsresult rv; if (!aCharset || !*aCharset) @@ -33,6 +34,9 @@ ToUTF8(const nsACString &aString, const char *aCharset, nsACString &aResult) getter_AddRefs(unicodeDecoder)); NS_ENSURE_SUCCESS(rv, rv); + if (!aAllowSubstitution) + unicodeDecoder->SetInputErrorBehavior(nsIUnicodeDecoder::kOnError_Signal); + PRInt32 srcLen = aString.Length(); PRInt32 dstLen; const nsAFlatCString& inStr = PromiseFlatCString(aString); @@ -54,6 +58,7 @@ NS_IMETHODIMP nsUTF8ConverterService::ConvertStringToUTF8(const nsACString &aString, const char *aCharset, bool aSkipCheck, + bool aAllowSubstitution, nsACString &aUTF8String) { // return if ASCII only or valid UTF-8 providing that the ASCII/UTF-8 @@ -67,7 +72,7 @@ nsUTF8ConverterService::ConvertStringToUTF8(const nsACString &aString, aUTF8String.Truncate(); - nsresult rv = ToUTF8(aString, aCharset, aUTF8String); + nsresult rv = ToUTF8(aString, aCharset, aAllowSubstitution, aUTF8String); // additional protection for cases where check is skipped and the input // is actually in UTF-8 as opposed to aCharset. (i.e. caller's hunch @@ -111,6 +116,6 @@ nsUTF8ConverterService::ConvertURISpecToUTF8(const nsACString &aSpec, return NS_OK; } - return ToUTF8(unescapedSpec, aCharset, aUTF8Spec); + return ToUTF8(unescapedSpec, aCharset, true, aUTF8Spec); } diff --git a/netwerk/mime/nsIMIMEHeaderParam.idl b/netwerk/mime/nsIMIMEHeaderParam.idl index 54f6d7b85ce7..f533f3bca5dc 100644 --- a/netwerk/mime/nsIMIMEHeaderParam.idl +++ b/netwerk/mime/nsIMIMEHeaderParam.idl @@ -77,6 +77,30 @@ interface nsIMIMEHeaderParam : nsISupports { in boolean aTryLocaleCharset, out string aLang); + /** + * Given the value of a header field parameter using the encoding + * defined in RFC 5987, decode the value into a Unicode string, and extract + * the optional language parameter. + * + *

+ * This function is purposefully picky; it will abort for all (most?) + * invalid inputs. This is by design. In particular, it does not support + * any character encodings other than UTF-8, in order not to promote + * non-interoperable usage. + * + *

+ * This code is currently not used inside nsMIMEHeaderParamImpl, but + * might be in the future. New code that needs RFC2231/5987 + * encoding should use this one. + * + * @param aParamVal a header field parameter to decode. + * @param aLang will be set to the language part (possibly + * empty). + * @return the decoded parameter value. + */ + AString decodeRFC5987Param(in ACString aParamVal, + out ACString aLang); + /** * Given the value of a single header field (such as * Content-Disposition and Content-Type) and the name of a parameter diff --git a/netwerk/mime/nsMIMEHeaderParamImpl.cpp b/netwerk/mime/nsMIMEHeaderParamImpl.cpp index c306c8326ef8..3c3ec117b0b0 100644 --- a/netwerk/mime/nsMIMEHeaderParamImpl.cpp +++ b/netwerk/mime/nsMIMEHeaderParamImpl.cpp @@ -21,6 +21,7 @@ #include "nsReadableUtils.h" #include "nsNativeCharsetUtils.h" #include "nsNetError.h" +#include "nsIUnicodeDecoder.h" // static functions declared below are moved from mailnews/mime/src/comi18n.cpp @@ -96,7 +97,8 @@ nsMIMEHeaderParamImpl::DoGetParameter(const nsACString& aHeaderVal, cvtUTF8(do_GetService(NS_UTF8CONVERTERSERVICE_CONTRACTID)); if (cvtUTF8 && NS_SUCCEEDED(cvtUTF8->ConvertStringToUTF8(str1, - PromiseFlatCString(aFallbackCharset).get(), false, str2))) { + PromiseFlatCString(aFallbackCharset).get(), false, true, + str2))) { CopyUTF8toUTF16(str2, aResult); return NS_OK; } @@ -279,7 +281,7 @@ bool IsValidOctetSequenceForCharset(nsACString& aCharset, const char *aOctets) nsresult rv = cvtUTF8->ConvertStringToUTF8(tmpRaw, PromiseFlatCString(aCharset).get(), - true, tmpDecoded); + false, false, tmpDecoded); if (rv != NS_OK) { // we can't decode; charset may be unsupported, or the octet sequence @@ -709,6 +711,135 @@ nsMIMEHeaderParamImpl::DecodeRFC2047Header(const char* aHeaderVal, return NS_OK; } +// true if the character is allowed in a RFC 5987 value +// see RFC 5987, Section 3.2.1, "attr-char" +bool IsRFC5987AttrChar(char aChar) +{ + char c = aChar; + + return (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c == '!' || c == '#' || c == '$' || c == '&' || + c == '+' || c == '-' || c == '.' || c == '^' || + c == '_' || c == '`' || c == '|' || c == '~'); +} + +// true is character is a hex digit +bool IsHexDigit(char aChar) +{ + char c = aChar; + + return (c >= 'a' && c <= 'f') || + (c >= 'A' && c <= 'F') || + (c >= '0' && c <= '9'); +} + +// percent-decode a value +// returns false on failure +bool PercentDecode(nsACString& aValue) +{ + char *c = (char *) nsMemory::Alloc(aValue.Length() + 1); + if (!c) { + return false; + } + + strcpy(c, PromiseFlatCString(aValue).get()); + nsUnescape(c); + aValue.Assign(c); + nsMemory::Free(c); + + return true; +} + +// Decode a parameter value using the encoding defined in RFC 5987 +// +// charset "'" [ language ] "'" value-chars +NS_IMETHODIMP +nsMIMEHeaderParamImpl::DecodeRFC5987Param(const nsACString& aParamVal, + nsACString& aLang, + nsAString& aResult) +{ + nsCAutoString charset; + nsCAutoString language; + nsCAutoString value; + + PRUint32 delimiters = 0; + const char *encoded = PromiseFlatCString(aParamVal).get(); + const char *c = encoded; + + while (*c) { + char tc = *c++; + + if (tc == '\'') { + // single quote + delimiters++; + } else if (tc >= 128) { + // fail early, not ASCII + NS_WARNING("non-US-ASCII character in RFC5987-encoded param"); + return NS_ERROR_INVALID_ARG; + } else { + if (delimiters == 0) { + // valid characters are checked later implicitly + charset.Append(tc); + } else if (delimiters == 1) { + // no value checking for now + language.Append(tc); + } else if (delimiters == 2) { + if (IsRFC5987AttrChar(tc)) { + value.Append(tc); + } else if (tc == '%') { + if (!IsHexDigit(c[0]) || !IsHexDigit(c[1])) { + // we expect two more characters + NS_WARNING("broken %-escape in RFC5987-encoded param"); + return NS_ERROR_INVALID_ARG; + } + value.Append(tc); + // we consume two more + value.Append(*c++); + value.Append(*c++); + } else { + // character not allowed here + NS_WARNING("invalid character in RFC5987-encoded param"); + return NS_ERROR_INVALID_ARG; + } + } + } + } + + if (delimiters != 2) { + NS_WARNING("missing delimiters in RFC5987-encoded param"); + return NS_ERROR_INVALID_ARG; + } + + // abort early for unsupported encodings + if (!charset.LowerCaseEqualsLiteral("utf-8")) { + NS_WARNING("unsupported charset in RFC5987-encoded param"); + return NS_ERROR_INVALID_ARG; + } + + // percent-decode + if (!PercentDecode(value)) { + return NS_ERROR_OUT_OF_MEMORY; + } + + // return the encoding + aLang.Assign(language); + + // finally convert octet sequence to UTF-8 and be done + nsresult rv = NS_OK; + nsCOMPtr cvtUTF8 = + do_GetService(NS_UTF8CONVERTERSERVICE_CONTRACTID, &rv); + NS_ENSURE_SUCCESS(rv, rv); + + nsCAutoString utf8; + rv = cvtUTF8->ConvertStringToUTF8(value, charset.get(), true, false, utf8); + NS_ENSURE_SUCCESS(rv, rv); + + CopyUTF8toUTF16(utf8, aResult); + return NS_OK; +} + NS_IMETHODIMP nsMIMEHeaderParamImpl::DecodeParameter(const nsACString& aParamValue, const char* aCharset, @@ -724,7 +855,7 @@ nsMIMEHeaderParamImpl::DecodeParameter(const nsACString& aParamValue, nsCOMPtr cvtUTF8(do_GetService(NS_UTF8CONVERTERSERVICE_CONTRACTID)); if (cvtUTF8) return cvtUTF8->ConvertStringToUTF8(aParamValue, aCharset, - true, aResult); + true, true, aResult); } const nsAFlatCString& param = PromiseFlatCString(aParamValue); @@ -904,7 +1035,7 @@ void CopyRawHeader(const char *aInput, PRUint32 aLen, if (cvtUTF8 && NS_SUCCEEDED( cvtUTF8->ConvertStringToUTF8(Substring(aInput, aInput + aLen), - aDefaultCharset, skipCheck, utf8Text))) { + aDefaultCharset, skipCheck, true, utf8Text))) { aOutput.Append(utf8Text); } else { // replace each octet with Unicode replacement char in UTF-8. for (PRUint32 i = 0; i < aLen; i++) { @@ -1037,7 +1168,7 @@ nsresult DecodeRFC2047Str(const char *aHeader, const char *aDefaultCharset, if (cvtUTF8 && NS_SUCCEEDED( cvtUTF8->ConvertStringToUTF8(nsDependentCString(decodedText), - charset, IS_7BIT_NON_ASCII_CHARSET(charset), utf8Text))) { + charset, IS_7BIT_NON_ASCII_CHARSET(charset), true, utf8Text))) { aResult.Append(utf8Text); } else { aResult.Append(REPLACEMENT_CHAR); diff --git a/netwerk/test/unit/test_MIME_params.js b/netwerk/test/unit/test_MIME_params.js index 29873d1576f3..0e53dbc80788 100644 --- a/netwerk/test/unit/test_MIME_params.js +++ b/netwerk/test/unit/test_MIME_params.js @@ -391,6 +391,35 @@ var tests = [ "attachment", "foo"], ]; +var rfc5987paramtests = [ + [ // basic test + "UTF-8'language'value", "value", "language", Cr.NS_OK ], + [ // percent decoding + "UTF-8''1%202", "1 2", "", Cr.NS_OK ], + [ // UTF-8 + "UTF-8''%c2%a3%20and%20%e2%82%ac%20rates", "\u00a3 and \u20ac rates", "", Cr.NS_OK ], + [ // missing charset + "''abc", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // ISO-8859-1: unsupported + "ISO-8859-1''%A3%20rates", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // unknown charset + "foo''abc", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // missing component + "abc", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // missing component + "'abc", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // illegal chars + "UTF-8''a b", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // broken % escapes + "UTF-8''a%zz", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // broken % escapes + "UTF-8''a%b", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // broken % escapes + "UTF-8''a%", "", "", Cr.NS_ERROR_INVALID_ARG ], + [ // broken UTF-8 + "UTF-8''%A3%20rates", "", "", 0x8050000E /* NS_ERROR_UDEC_ILLEGALINPUT */ ], +]; + function do_tests(whichRFC) { var mhp = Components.classes["@mozilla.org/network/mime-hdrparam;1"] @@ -451,12 +480,38 @@ function do_tests(whichRFC) } } -function run_test() { +function test_decode5987Param() { + var mhp = Components.classes["@mozilla.org/network/mime-hdrparam;1"] + .getService(Components.interfaces.nsIMIMEHeaderParam); - // Test RFC 2231 - do_tests(0); + for (var i = 0; i < rfc5987paramtests.length; ++i) { + dump("Testing #" + i + ": " + rfc5987paramtests[i] + "\n"); - // Test RFC 5987 - do_tests(1); + var lang = {}; + try { + var decoded = mhp.decodeRFC5987Param(rfc5987paramtests[i][0], lang); + if (rfc5987paramtests[i][3] == Cr.NS_OK) { + do_check_eq(rfc5987paramtests[i][1], decoded); + do_check_eq(rfc5987paramtests[i][2], lang.value); + } + else { + do_check_eq(rfc5987paramtests[i][3], "instead got: " + decoded); + } + } + catch (e) { + do_check_eq(rfc5987paramtests[i][3], e.result); + } + } } +function run_test() { + + // Test RFC 2231 (complete header field values) + do_tests(0); + + // Test RFC 5987 (complete header field values) + do_tests(1); + + // tests for RFC5987 parameter parsing + test_decode5987Param(); +} From 3e8063294ba4a059880d7d473dcb09a255106015 Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Mon, 21 May 2012 13:55:28 -0700 Subject: [PATCH 40/78] Bug 756701 - Clear private data should not move things to the deleted items table. r=mfinkle,dolske --- .../passwordmgr/storage-mozStorage.js | 31 ------------- toolkit/components/satchel/nsFormHistory.js | 44 ------------------- 2 files changed, 75 deletions(-) diff --git a/toolkit/components/passwordmgr/storage-mozStorage.js b/toolkit/components/passwordmgr/storage-mozStorage.js index 06c0bb5eaa97..5c30bbf50b77 100644 --- a/toolkit/components/passwordmgr/storage-mozStorage.js +++ b/toolkit/components/passwordmgr/storage-mozStorage.js @@ -345,7 +345,6 @@ LoginManagerStorage_mozStorage.prototype = { try { stmt = this._dbCreateStatement(query, params); stmt.execute(); - this.storeDeletedLogin(storedLogin); transaction.commit(); } catch (e) { this.log("_removeLogin failed: " + e.name + " : " + e.message); @@ -651,31 +650,6 @@ LoginManagerStorage_mozStorage.prototype = { return [logins, ids]; }, - /* storeDeletedLogin - * - * Moves a login to the deleted logins table - * - */ - storeDeletedLogin : function(aLogin) { -#ifdef ANDROID - let stmt = null; - try { - this.log("Storing " + aLogin.guid + " in deleted passwords\n"); - let query = "INSERT INTO moz_deleted_logins (guid, timeDeleted) VALUES (:guid, :timeDeleted)"; - let params = { guid: aLogin.guid, - timeDeleted: Date.now() }; - let stmt = this._dbCreateStatement(query, params); - stmt.execute(); - } catch(ex) { - throw ex; - } finally { - if (stmt) - stmt.reset(); - } -#endif - }, - - /* * removeAllLogins * @@ -693,11 +667,6 @@ LoginManagerStorage_mozStorage.prototype = { // Disabled hosts kept, as one presumably doesn't want to erase those. query = "DELETE FROM moz_logins"; try { - let logins = this.getAllLogins(); - for each (let login in logins) { - let [id, storedLogin] = this._getIdForLogin(login); - this.storeDeletedLogin(storedLogin); - } stmt = this._dbCreateStatement(query); stmt.execute(); transaction.commit(); diff --git a/toolkit/components/satchel/nsFormHistory.js b/toolkit/components/satchel/nsFormHistory.js index 697c9f6f9749..30c321567a32 100644 --- a/toolkit/components/satchel/nsFormHistory.js +++ b/toolkit/components/satchel/nsFormHistory.js @@ -222,10 +222,6 @@ FormHistory.prototype = { existingTransactionInProgress = this.dbConnection.transactionInProgress; if (!existingTransactionInProgress) this.dbConnection.beginTransaction(); - this.moveToDeletedTable("VALUES (:guid, :timeDeleted)", { - guid: guid, - timeDeleted: Date.now() - }); // remove from the formhistory database stmt = this.dbCreateStatement(query, params); @@ -261,12 +257,6 @@ FormHistory.prototype = { existingTransactionInProgress = this.dbConnection.transactionInProgress; if (!existingTransactionInProgress) this.dbConnection.beginTransaction(); - this.moveToDeletedTable( - "SELECT guid, :timeDeleted FROM moz_formhistory " + - "WHERE fieldname = :fieldname", { - fieldname: name, - timeDeleted: Date.now() - }); stmt = this.dbCreateStatement(query, params); stmt.execute(); @@ -300,11 +290,6 @@ FormHistory.prototype = { existingTransactionInProgress = this.dbConnection.transactionInProgress; if (!existingTransactionInProgress) this.dbConnection.beginTransaction(); - this.moveToDeletedTable( - "SELECT guid, :timeDeleted FROM moz_formhistory", { - timeDeleted: Date.now() - }); - stmt = this.dbCreateStatement(query); stmt.execute(); this.sendNotification("removeAllEntries", null); @@ -367,12 +352,6 @@ FormHistory.prototype = { existingTransactionInProgress = this.dbConnection.transactionInProgress; if (!existingTransactionInProgress) this.dbConnection.beginTransaction(); - this.moveToDeletedTable( - "SELECT guid, :timeDeleted FROM moz_formhistory " + - "WHERE firstUsed >= :beginTime AND firstUsed <= :endTime", { - beginTime: beginTime, - endTime: endTime - }); stmt = this.dbCreateStatement(query, params); stmt.executeStep(); @@ -391,29 +370,6 @@ FormHistory.prototype = { this.dbConnection.commitTransaction(); }, - moveToDeletedTable : function moveToDeletedTable(values, params) { -#ifdef ANDROID - this.log("Moving entries to deleted table."); - - let stmt; - - try { - // Move the entries to the deleted items table. - let query = "INSERT INTO moz_deleted_formhistory (guid, timeDeleted) "; - if (values) query += values; - stmt = this.dbCreateStatement(query, params); - stmt.execute(); - } catch (e) { - this.log("Moving deleted entries failed: " + e); - throw e; - } finally { - if (stmt) { - stmt.reset(); - } - } -#endif - }, - get dbConnection() { // Make sure dbConnection can't be called from now to prevent infinite loops. delete FormHistory.prototype.dbConnection; From d0a202d9a0f6d912dc1ec3caf5fa6da7fe0a762c Mon Sep 17 00:00:00 2001 From: Benoit Girard Date: Fri, 18 May 2012 17:03:10 -0400 Subject: [PATCH 41/78] Bug 750989 - Pause Profiler during saving. r=mstange,jrmuizel --HG-- extra : rebase_source : e1a6623d2a0de80423efb76c5b35e7734b119635 --- tools/profiler/TableTicker.cpp | 11 +++++++++++ tools/profiler/platform-linux.cc | 22 ++++++++-------------- tools/profiler/platform-macos.cc | 6 ++++-- tools/profiler/platform-win32.cc | 4 +++- tools/profiler/platform.h | 5 +++++ 5 files changed, 31 insertions(+), 17 deletions(-) diff --git a/tools/profiler/TableTicker.cpp b/tools/profiler/TableTicker.cpp index f5ae320964a2..17258b5f8b04 100644 --- a/tools/profiler/TableTicker.cpp +++ b/tools/profiler/TableTicker.cpp @@ -381,8 +381,14 @@ public: } #endif + // Pause the profiler during saving. + // This will prevent us from recording sampling + // regarding profile saving. This will also + // prevent bugs caused by the circular buffer not + // being thread safe. Bug 750989. std::ofstream stream; stream.open(buff); + t->SetPaused(true); if (stream.is_open()) { stream << *(t->GetPrimaryThreadProfile()); stream << "h-" << GetSharedLibraryInfoString() << std::endl; @@ -391,6 +397,7 @@ public: } else { LOG("Fail to open profile log file."); } + t->SetPaused(false); return NS_OK; } @@ -422,8 +429,10 @@ JSObject* TableTicker::ToJSObject(JSContext *aCx) b.DefineProperty(profile, "threads", threads); // For now we only have one thread + SetPaused(true); JSObject* threadSamples = GetPrimaryThreadProfile()->ToJSObject(aCx); b.ArrayPush(threads, threadSamples); + SetPaused(false); return profile; } @@ -719,7 +728,9 @@ char* mozilla_sampler_get_profile() } std::stringstream profile; + t->SetPaused(true); profile << *(t->GetPrimaryThreadProfile()); + t->SetPaused(false); std::string profileString = profile.str(); char *rtn = (char*)malloc( (profileString.length() + 1) * sizeof(char) ); diff --git a/tools/profiler/platform-linux.cc b/tools/profiler/platform-linux.cc index 9f3dd1930e2f..ad1810710dd5 100644 --- a/tools/profiler/platform-linux.cc +++ b/tools/profiler/platform-linux.cc @@ -139,28 +139,21 @@ class Sampler::PlatformData : public Malloced { while (sampler_->IsActive()) { sampler_->HandleSaveRequest(); + if (!sampler_->IsPaused()) { #ifdef XP_MACOSX - pthread_kill(signal_receiver_, SIGPROF); + pthread_kill(signal_receiver_, SIGPROF); #else - // Glibc doesn't provide a wrapper for tgkill(2). - tgkill(vm_tgid_, vm_tid_, SIGPROF); + // Glibc doesn't provide a wrapper for tgkill(2). + tgkill(vm_tgid_, vm_tid_, SIGPROF); #endif + } + // Convert ms to us and subtract 100 us to compensate delays // occuring during signal delivery. - // TODO measure and confirm this. const useconds_t interval = sampler_->interval_ * 1000 - 100; //int result = usleep(interval); usleep(interval); - // sometimes usleep is defined as returning void - int result = 0; -#ifdef DEBUG - if (result != 0 && errno != EINTR) { - LOG("SignalSender usleep error"); - ASSERT(result == 0 || errno == EINTR); - } -#endif - mozilla::unused << result; } } @@ -189,7 +182,8 @@ static void* SenderEntry(void* arg) { Sampler::Sampler(int interval, bool profiling) : interval_(interval), profiling_(profiling), - active_(false) { + active_(false), + paused_(false) { data_ = new PlatformData(this); } diff --git a/tools/profiler/platform-macos.cc b/tools/profiler/platform-macos.cc index 79073ab45aa6..254563ddfff5 100644 --- a/tools/profiler/platform-macos.cc +++ b/tools/profiler/platform-macos.cc @@ -223,7 +223,8 @@ class SamplerThread : public Thread { // Implement Thread::Run(). virtual void Run() { while (SamplerRegistry::sampler->IsActive()) { - SampleContext(SamplerRegistry::sampler); + if (!SamplerRegistry::sampler->IsPaused()) + SampleContext(SamplerRegistry::sampler); OS::Sleep(interval_); } } @@ -295,7 +296,8 @@ Sampler::Sampler(int interval, bool profiling) : // isolate_(isolate), interval_(interval), profiling_(profiling), - active_(false) /*, + active_(false), + paused_(false) /*, samples_taken_(0)*/ { data_ = new PlatformData; } diff --git a/tools/profiler/platform-win32.cc b/tools/profiler/platform-win32.cc index 952e2441974a..c4578b9ee2b9 100644 --- a/tools/profiler/platform-win32.cc +++ b/tools/profiler/platform-win32.cc @@ -64,7 +64,8 @@ class SamplerThread : public Thread { // Implement Thread::Run(). virtual void Run() { while (sampler_->IsActive()) { - SampleContext(sampler_); + if (!sampler_->IsPaused()) + SampleContext(sampler_); OS::Sleep(interval_); } } @@ -121,6 +122,7 @@ Sampler::Sampler(int interval, bool profiling) : interval_(interval), profiling_(profiling), active_(false), + paused_(false), data_(new PlatformData) { } diff --git a/tools/profiler/platform.h b/tools/profiler/platform.h index 21a3334ecfa0..61a50ead81d9 100644 --- a/tools/profiler/platform.h +++ b/tools/profiler/platform.h @@ -211,6 +211,10 @@ class Sampler { // Whether the sampler is running (that is, consumes resources). bool IsActive() const { return active_; } + // Low overhead way to stop the sampler from ticking + bool IsPaused() const { return paused_; } + void SetPaused(bool value) { NoBarrier_Store(&paused_, value); } + class PlatformData; PlatformData* platform_data() { return data_; } @@ -229,6 +233,7 @@ class Sampler { const int interval_; const bool profiling_; + Atomic32 paused_; Atomic32 active_; PlatformData* data_; // Platform specific data. }; From 655d60c2c17807a3acd661cf77eb4d788d256b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20Desr=C3=A9?= Date: Mon, 21 May 2012 14:02:00 -0700 Subject: [PATCH 42/78] Bug 756691 - Use a non-linear volume change scale [r=djf] --- b2g/chrome/content/shell.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/b2g/chrome/content/shell.js b/b2g/chrome/content/shell.js index b2246a6e226f..b75551a6d474 100644 --- a/b2g/chrome/content/shell.js +++ b/b2g/chrome/content/shell.js @@ -179,7 +179,10 @@ var shell = { if (!audioManager) return; - let volume = audioManager.masterVolume + delta / steps; + let currentVolume = audioManager.masterVolume; + let newStep = Math.round(steps * Math.sqrt(currentVolume)) + delta; + let volume = (newStep / steps) * (newStep / steps); + if (volume > 1) volume = 1; if (volume < 0) From b45c6f931a1473d52747f72d02ece199cc9efae9 Mon Sep 17 00:00:00 2001 From: Yoshi Huang Date: Thu, 12 Apr 2012 12:01:49 +0800 Subject: [PATCH 43/78] Bug 731786 - B2G RIL: Support SIM cards that require PIN codes. r=philikon sr=sicking --- dom/base/DOMRequestHelper.jsm | 33 ++- .../interfaces/nsIDOMMobileConnection.idl | 107 ++++++++- .../nsIMobileConnectionProvider.idl | 5 +- dom/network/src/MobileConnection.cpp | 36 +++ dom/system/gonk/RILContentHelper.js | 69 +++++- dom/system/gonk/RadioInterfaceLayer.js | 98 +++++++- dom/system/gonk/ril_consts.js | 17 ++ dom/system/gonk/ril_worker.js | 209 +++++++++++++++--- 8 files changed, 529 insertions(+), 45 deletions(-) diff --git a/dom/base/DOMRequestHelper.jsm b/dom/base/DOMRequestHelper.jsm index 2e195f711500..476d8e960df5 100644 --- a/dom/base/DOMRequestHelper.jsm +++ b/dom/base/DOMRequestHelper.jsm @@ -57,26 +57,39 @@ DOMRequestIpcHelper.prototype = { Services.obs.removeObserver(this, "inner-window-destroyed"); this._requests = []; this._window = null; - this._messages.forEach((function(msgName) { - cpmm.removeMessageListener(msgName, this); - }).bind(this)); + this.removeMessageListener(); if(this.uninit) this.uninit(); } }, - initHelper: function(aWindow, aMessages) { - this._messages = aMessages; + initRequests: function initRequests() { this._requests = []; - this._window = aWindow; - let util = this._window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils); - this.innerWindowID = util.currentInnerWindowID; - this._id = this._getRandomId(); - Services.obs.addObserver(this, "inner-window-destroyed", false); + }, + + initMessageListener: function initMessageListener(aMessages) { + this._messages = aMessages; this._messages.forEach((function(msgName) { cpmm.addMessageListener(msgName, this); }).bind(this)); }, + + initHelper: function(aWindow, aMessages) { + this.initMessageListener(aMessages); + this.initRequests(); + this._id = this._getRandomId(); + Services.obs.addObserver(this, "inner-window-destroyed", false); + this._window = aWindow; + let util = this._window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils); + this.innerWindowID = util.currentInnerWindowID; + }, + + removeMessageListener: function removeMessageListener() { + this._messages.forEach((function(msgName) { + cpmm.removeMessageListener(msgName, this); + }).bind(this)); + this._messages = null; + }, createRequest: function() { return Services.DOMRequest.createRequest(this._window); diff --git a/dom/network/interfaces/nsIDOMMobileConnection.idl b/dom/network/interfaces/nsIDOMMobileConnection.idl index 89635cc31466..31a3735853ba 100644 --- a/dom/network/interfaces/nsIDOMMobileConnection.idl +++ b/dom/network/interfaces/nsIDOMMobileConnection.idl @@ -8,7 +8,7 @@ interface nsIDOMEventListener; interface nsIDOMDOMRequest; interface nsIDOMMozMobileConnectionInfo; -[scriptable, uuid(ba2be619-fed6-4652-865a-c61f88ffeaa8)] +[scriptable, uuid(962298cd-3443-423e-9e47-f22e24ad850b)] interface nsIDOMMozMobileConnection : nsIDOMEventTarget { /** @@ -54,6 +54,111 @@ interface nsIDOMMozMobileConnection : nsIDOMEventTarget */ attribute nsIDOMEventListener ondatachange; + /** + * Find out about the status of an ICC lock (e.g. the PIN lock). + * + * @param lockType + * Identifies the lock type, e.g. "pin" for the PIN lock. + * + * @return a DOM Request. + * The request's result will be an object containing + * information about the specified lock's status, + * e.g. {lockType: "pin", enabled: true}. + */ + nsIDOMDOMRequest getCardLock(in DOMString lockType); + + /** + * Unlock a card lock. + * + * @param info + * An object containing the information necessary to unlock + * the given lock. At a minimum, this object must have a + * "lockType" attribute which specifies the type of lock, e.g. + * "pin" for the PIN lock. Other attributes are dependent on + * the lock type. + * + * Examples: + * + * (1) Unlocking the PIN: + * + * unlockCardLock({lockType: "pin", + * pin: "..."}); + * + * (2) Unlocking the PUK and supplying a new PIN: + * + * unlockCardLock({lockType: "puk", + * puk: "...", + * newPin: "..."}); + * + * @return a nsIDOMDOMRequest. + * The request's result will be an object containing + * information about the unlock operation. + * + * Examples: + * + * (1) Unlocking failed: + * + * { + * lockType: "pin", + * result: false, + * retryCount: 2 + * } + * + * (2) Unlocking succeeded: + * + * { + * lockType: "pin", + * result: true + * } + */ + nsIDOMDOMRequest unlockCardLock(in jsval info); + + /** + * Modify the state of a card lock. + * + * @param info + * An object containing information about the lock and + * how to modify its state. At a minimum, this object + * must have a "lockType" attribute which specifies the + * type of lock, e.g. "pin" for the PIN lock. Other + * attributes are dependent on the lock type. + * + * Examples: + * + * (1) Disabling the PIN lock: + * + * setCardLock({lockType: "pin", + * pin: "...", + * enabled: false}); + * + * (2) Changing the PIN: + * + * setCardLock({lockType: "pin", + * pin: "...", + * newPin: "..."}); + * + * @return a nsIDOMDOMRequest. + * The request's result will be an object containing + * information about the operation. + * + * Examples: + * + * (1) Enabling/Disabling card lock failed or change card lock failed. + * + * { + * lockType: "pin", + * result: false, + * retryCount: 2 + * } + * + * (2) Enabling/Disabling card lock succeed or change card lock succeed. + * + * { + * lockType: "pin", + * result: true + * } + */ + nsIDOMDOMRequest setCardLock(in jsval info); }; [scriptable, uuid(f3bb0611-5e4a-46f1-a8f5-cf592b37596e)] diff --git a/dom/network/interfaces/nsIMobileConnectionProvider.idl b/dom/network/interfaces/nsIMobileConnectionProvider.idl index 24589297b8a2..cd9cc89b8db6 100644 --- a/dom/network/interfaces/nsIMobileConnectionProvider.idl +++ b/dom/network/interfaces/nsIMobileConnectionProvider.idl @@ -12,7 +12,7 @@ interface nsIDOMWindow; * XPCOM component (in the content process) that provides the mobile * network information. */ -[scriptable, uuid(1ecd19eb-15d4-47c0-a2cf-80cfa3b94eeb)] +[scriptable, uuid(93202514-9ae9-482e-95bc-9c6ed62aea99)] interface nsIMobileConnectionProvider : nsISupports { readonly attribute DOMString cardState; @@ -20,4 +20,7 @@ interface nsIMobileConnectionProvider : nsISupports readonly attribute nsIDOMMozMobileConnectionInfo dataConnectionInfo; nsIDOMDOMRequest getNetworks(in nsIDOMWindow window); + nsIDOMDOMRequest getCardLock(in nsIDOMWindow window, in DOMString lockType); + nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info); + nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info); }; diff --git a/dom/network/src/MobileConnection.cpp b/dom/network/src/MobileConnection.cpp index f141ab96838f..f4329335c2dc 100644 --- a/dom/network/src/MobileConnection.cpp +++ b/dom/network/src/MobileConnection.cpp @@ -162,6 +162,42 @@ MobileConnection::GetNetworks(nsIDOMDOMRequest** request) return mProvider->GetNetworks(GetOwner(), request); } +NS_IMETHODIMP +MobileConnection::GetCardLock(const nsAString& aLockType, nsIDOMDOMRequest** aDomRequest) +{ + *aDomRequest = nsnull; + + if (!mProvider) { + return NS_ERROR_FAILURE; + } + + return mProvider->GetCardLock(GetOwner(), aLockType, aDomRequest); +} + +NS_IMETHODIMP +MobileConnection::UnlockCardLock(const jsval& aInfo, nsIDOMDOMRequest** aDomRequest) +{ + *aDomRequest = nsnull; + + if (!mProvider) { + return NS_ERROR_FAILURE; + } + + return mProvider->UnlockCardLock(GetOwner(), aInfo, aDomRequest); +} + +NS_IMETHODIMP +MobileConnection::SetCardLock(const jsval& aInfo, nsIDOMDOMRequest** aDomRequest) +{ + *aDomRequest = nsnull; + + if (!mProvider) { + return NS_ERROR_FAILURE; + } + + return mProvider->SetCardLock(GetOwner(), aInfo, aDomRequest); +} + nsresult MobileConnection::InternalDispatchEvent(const nsAString& aType) { diff --git a/dom/system/gonk/RILContentHelper.js b/dom/system/gonk/RILContentHelper.js index 62e172ce014e..f138435b7fb7 100644 --- a/dom/system/gonk/RILContentHelper.js +++ b/dom/system/gonk/RILContentHelper.js @@ -8,6 +8,7 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; Cu.import("resource://gre/modules/XPCOMUtils.jsm"); Cu.import("resource://gre/modules/Services.jsm"); +Cu.import("resource://gre/modules/DOMRequestHelper.jsm"); var RIL = {}; Cu.import("resource://gre/modules/ril_consts.js", RIL); @@ -26,6 +27,12 @@ const RIL_IPC_MSG_NAMES = [ "RIL:EnumerateCalls", "RIL:CallStateChanged", "RIL:CallError", + "RIL:GetCardLock:Return:OK", + "RIL:GetCardLock:Return:KO", + "RIL:SetCardLock:Return:OK", + "RIL:SetCardLock:Return:KO", + "RIL:UnlockCardLock:Return:OK", + "RIL:UnlockCardLock:Return:KO", ]; const kVoiceChangedTopic = "mobile-connection-voice-changed"; @@ -63,9 +70,8 @@ function RILContentHelper() { this.voiceConnectionInfo = new MobileConnectionInfo(); this.dataConnectionInfo = new MobileConnectionInfo(); - for each (let msgname in RIL_IPC_MSG_NAMES) { - cpmm.addMessageListener(msgname, this); - } + this.initRequests(); + this.initMessageListener(RIL_IPC_MSG_NAMES); Services.obs.addObserver(this, "xpcom-shutdown", false); // Request initial state. @@ -84,6 +90,8 @@ function RILContentHelper() { } } RILContentHelper.prototype = { + __proto__: DOMRequestIpcHelper.prototype, + QueryInterface: XPCOMUtils.generateQI([Ci.nsIMobileConnectionProvider, Ci.nsIRILContentHelper, Ci.nsIObserver]), @@ -104,6 +112,39 @@ RILContentHelper.prototype = { throw Components.Exception("Not implemented", Cr.NS_ERROR_NOT_IMPLEMENTED); }, + getCardLock: function getCardLock(window, lockType) { + if (window == null) { + throw Components.Exception("Can't get window object", + Cr.NS_ERROR_UNEXPECTED); + } + let request = Services.DOMRequest.createRequest(window); + let requestId = this.getRequestId(request); + cpmm.sendAsyncMessage("RIL:GetCardLock", {lockType: lockType, requestId: requestId}); + return request; + }, + + unlockCardLock: function unlockCardLock(window, info) { + if (window == null) { + throw Components.Exception("Can't get window object", + Cr.NS_ERROR_UNEXPECTED); + } + let request = Services.DOMRequest.createRequest(window); + info.requestId = this.getRequestId(request); + cpmm.sendAsyncMessage("RIL:UnlockCardLock", info); + return request; + }, + + setCardLock: function setCardLock(window, info) { + if (window == null) { + throw Components.Exception("Can't get window object", + Cr.NS_ERROR_UNEXPECTED); + } + let request = Services.DOMRequest.createRequest(window); + info.requestId = this.getRequestId(request); + cpmm.sendAsyncMessage("RIL:SetCardLock", info); + return request; + }, + _telephonyCallbacks: null, _enumerationTelephonyCallbacks: null, @@ -195,9 +236,7 @@ RILContentHelper.prototype = { observe: function observe(subject, topic, data) { if (topic == "xpcom-shutdown") { - for each (let msgname in RIL_IPC_MSG_NAMES) { - cpmm.removeMessageListener(msgname, this); - } + this.removeMessageListener(); Services.obs.removeObserver(this, "xpcom-shutdown"); cpmm = null; } @@ -206,6 +245,7 @@ RILContentHelper.prototype = { // nsIFrameMessageListener receiveMessage: function receiveMessage(msg) { + let request; debug("Received message '" + msg.name + "': " + JSON.stringify(msg.json)); switch (msg.name) { case "RIL:CardStateChanged": @@ -239,6 +279,22 @@ RILContentHelper.prototype = { [msg.json.callIndex, msg.json.error]); break; + case "RIL:GetCardLock:Return:OK": + case "RIL:SetCardLock:Return:OK": + case "RIL:UnlockCardLock:Return:OK": + request = this.getRequest(msg.json.requestId); + if (request) { + Services.DOMRequest.fireSuccess(request, msg.json); + } + break; + case "RIL:GetCardLock:Return:KO": + case "RIL:SetCardLock:Return:KO": + case "RIL:UnlockCardLock:Return:KO": + request = this.getRequest(msg.json.requestId); + if (request) { + Services.DOMRequest.fireError(request, msg.json.errorMsg); + } + break; } }, @@ -284,7 +340,6 @@ RILContentHelper.prototype = { } } }, - }; const NSGetFactory = XPCOMUtils.generateNSGetFactory([RILContentHelper]); diff --git a/dom/system/gonk/RadioInterfaceLayer.js b/dom/system/gonk/RadioInterfaceLayer.js index a680836f6c7f..738a41bcef28 100644 --- a/dom/system/gonk/RadioInterfaceLayer.js +++ b/dom/system/gonk/RadioInterfaceLayer.js @@ -44,6 +44,9 @@ const RIL_IPC_MSG_NAMES = [ "RIL:RejectCall", "RIL:HoldCall", "RIL:ResumeCall", + "RIL:GetCardLock", + "RIL:UnlockCardLock", + "RIL:SetCardLock" ]; XPCOMUtils.defineLazyServiceGetter(this, "gSmsService", @@ -221,6 +224,15 @@ RadioInterfaceLayer.prototype = { case "RIL:ResumeCall": this.resumeCall(msg.json); break; + case "RIL:GetCardLock": + this.getCardLock(msg.json); + break; + case "RIL:UnlockCardLock": + this.unlockCardLock(msg.json); + break; + case "RIL:SetCardLock": + this.setCardLock(msg.json); + break; } }, @@ -309,6 +321,15 @@ RadioInterfaceLayer.prototype = { case "iccinfochange": this.radioState.icc = message; break; + case "iccgetcardlock": + this.handleICCGetCardLock(message); + break; + case "iccsetcardlock": + this.handleICCSetCardLock(message); + break; + case "iccunlockcardlock": + this.handleICCUnlockCardLock(message); + break; default: throw new Error("Don't know about this message type: " + message.type); } @@ -634,6 +655,18 @@ RadioInterfaceLayer.prototype = { } }, + handleICCGetCardLock: function handleICCGetCardLock(message) { + ppmm.sendAsyncMessage("RIL:GetCardLock:Return:OK", message); + }, + + handleICCSetCardLock: function handleICCSetCardLock(message) { + ppmm.sendAsyncMessage("RIL:SetCardLock:Return:OK", message); + }, + + handleICCUnlockCardLock: function handleICCUnlockCardLock(message) { + ppmm.sendAsyncMessage("RIL:UnlockCardLock:Return:OK", message); + }, + // nsIObserver observe: function observe(subject, topic, data) { @@ -1196,8 +1229,71 @@ RadioInterfaceLayer.prototype = { this.worker.postMessage({type: "getDataCallList"}); }, -}; + getCardLock: function getCardLock(message) { + // Currently only support pin. + switch (message.lockType) { + case "pin" : + message.type = "getICCPinLock"; + break; + default: + ppmm.sendAsyncMessage("RIL:GetCardLock:Return:KO", + {errorMsg: "Unsupported Card Lock.", + requestId: message.requestId}); + return; + } + this.worker.postMessage(message); + }, + unlockCardLock: function unlockCardLock(message) { + switch (message.lockType) { + case "pin": + message.type = "enterICCPIN"; + break; + case "pin2": + message.type = "enterICCPIN2"; + break; + case "puk": + message.type = "enterICCPUK"; + break; + case "puk2": + message.type = "enterICCPUK2"; + break; + default: + ppmm.sendAsyncMessage("RIL:UnlockCardLock:Return:KO", + {errorMsg: "Unsupported Card Lock.", + requestId: message.requestId}); + return; + } + this.worker.postMessage(message); + }, + + setCardLock: function setCardLock(message) { + // Change pin. + if (message.newPin !== undefined) { + switch (message.lockType) { + case "pin": + message.type = "changeICCPIN"; + break; + case "pin2": + message.type = "changeICCPIN2"; + break; + default: + ppmm.sendAsyncMessage("RIL:SetCardLock:Return:KO", + {errorMsg: "Unsupported Card Lock.", + requestId: message.requestId}); + return; + } + } else { // Enable/Disable pin lock. + if (message.lockType != "pin") { + ppmm.sendAsyncMessage("RIL:SetCardLock:Return:KO", + {errorMsg: "Unsupported Card Lock.", + requestId: message.requestId}); + } + message.type = "setICCPinLock"; + } + this.worker.postMessage(message); + } +}; let RILNetworkInterface = { diff --git a/dom/system/gonk/ril_consts.js b/dom/system/gonk/ril_consts.js index ddef52ea0b46..bda7d746053f 100644 --- a/dom/system/gonk/ril_consts.js +++ b/dom/system/gonk/ril_consts.js @@ -423,6 +423,23 @@ const ICC_STATUS_ERROR_WRONG_LENGTH = 0x67; const ICC_STATUS_ERROR_COMMAND_NOT_ALLOWED = 0x69; const ICC_STATUS_ERROR_WRONG_PARAMETERS = 0x6a; +// ICC call barring facility. +// TS 27.007, clause 7.4, +CLCK +const ICC_CB_FACILITY_SIM = "SC"; + +// ICC service class +// TS 27.007, clause 7.4, +CLCK +const ICC_SERVICE_CLASS_NONE = 0; // no user input +const ICC_SERVICE_CLASS_VOICE = (1 << 0); +const ICC_SERVICE_CLASS_DATA = (1 << 1); +const ICC_SERVICE_CLASS_FAX = (1 << 2); +const ICC_SERVICE_CLASS_SMS = (1 << 3); +const ICC_SERVICE_CLASS_DATA_SYNC = (1 << 4); +const ICC_SERVICE_CLASS_DATA_ASYNC = (1 << 5); +const ICC_SERVICE_CLASS_PACKET = (1 << 6); +const ICC_SERVICE_CLASS_PAD = (1 << 7); +const ICC_SERVICE_CLASS_MAX = (1 << 7); // Max ICC_SERVICE_CLASS value + /** * GSM PDU constants */ diff --git a/dom/system/gonk/ril_worker.js b/dom/system/gonk/ril_worker.js index 7073699cd21a..8f02fa405fde 100644 --- a/dom/system/gonk/ril_worker.js +++ b/dom/system/gonk/ril_worker.js @@ -762,30 +762,58 @@ let RIL = { * String containing the PIN. */ enterICCPIN: function enterICCPIN(options) { - Buf.newParcel(REQUEST_ENTER_SIM_PIN); + Buf.newParcel(REQUEST_ENTER_SIM_PIN, options); Buf.writeUint32(1); Buf.writeString(options.pin); Buf.sendParcel(); }, /** - * Change the current ICC PIN number + * Enter a PIN2 to unlock the ICC. * - * @param oldPin + * @param pin + * String containing the PIN2. + */ + enterICCPIN2: function enterICCPIN2(options) { + Buf.newParcel(REQUEST_ENTER_SIM_PIN2, options); + Buf.writeUint32(1); + Buf.writeString(options.pin); + Buf.sendParcel(); + }, + + /** + * Change the current ICC PIN number. + * + * @param pin * String containing the old PIN value * @param newPin * String containing the new PIN value */ changeICCPIN: function changeICCPIN(options) { - Buf.newParcel(REQUEST_CHANGE_SIM_PIN); + Buf.newParcel(REQUEST_CHANGE_SIM_PIN, options); Buf.writeUint32(2); - Buf.writeString(options.oldPin); + Buf.writeString(options.pin); Buf.writeString(options.newPin); Buf.sendParcel(); }, /** - * Supplies SIM PUK and a new PIN to unlock the ICC + * Change the current ICC PIN2 number. + * + * @param pin + * String containing the old PIN2 value + * @param newPin + * String containing the new PIN2 value + */ + changeICCPIN2: function changeICCPIN2(options) { + Buf.newParcel(REQUEST_CHANGE_SIM_PIN2, options); + Buf.writeUint32(2); + Buf.writeString(options.pin); + Buf.writeString(options.newPin); + Buf.sendParcel(); + }, + /** + * Supplies ICC PUK and a new PIN to unlock the ICC. * * @param puk * String containing the PUK value. @@ -794,13 +822,106 @@ let RIL = { * */ enterICCPUK: function enterICCPUK(options) { - Buf.newParcel(REQUEST_ENTER_SIM_PUK); + Buf.newParcel(REQUEST_ENTER_SIM_PUK, options); Buf.writeUint32(2); Buf.writeString(options.puk); Buf.writeString(options.newPin); Buf.sendParcel(); }, + /** + * Supplies ICC PUK2 and a new PIN2 to unlock the ICC. + * + * @param puk + * String containing the PUK2 value. + * @param newPin + * String containing the new PIN2 value. + * + */ + enterICCPUK2: function enterICCPUK2(options) { + Buf.newParcel(REQUEST_ENTER_SIM_PUK2, options); + Buf.writeUint32(2); + Buf.writeString(options.puk); + Buf.writeString(options.newPin); + Buf.sendParcel(); + }, + + /** + * Get ICC Pin lock. A wrapper call to queryICCFacilityLock. + * + * @param requestId + * Request Id from RadioInterfaceLayer. + */ + getICCPinLock: function getICCPinLock(options) { + options.facility = ICC_CB_FACILITY_SIM; + options.password = ""; // For query no need to provide pin. + options.serviceClass = ICC_SERVICE_CLASS_VOICE | + ICC_SERVICE_CLASS_DATA | + ICC_SERVICE_CLASS_FAX, + this.queryICCFacilityLock(options); + }, + + /** + * Query ICC facility lock. + * + * @param facility + * One of ICC_CB_FACILITY_*. + * @param password + * Password for the facility, or "" if not required. + * @param serviceClass + * One of ICC_SERVICE_CLASS_*. + */ + queryICCFacilityLock: function queryICCFacilityLock(options) { + Buf.newParcel(REQUEST_QUERY_FACILITY_LOCK, options); + Buf.writeUint32(3); + Buf.writeString(options.facility); + Buf.writeString(options.password); + Buf.writeString(options.serviceClass.toString()); + Buf.sendParcel(); + }, + + /** + * Set ICC Pin lock. A wrapper call to setICCFacilityLock. + * + * @param enabled + * true to enable, false to disable. + * @param pin + * Pin code. + * @param requestId + * Request Id from RadioInterfaceLayer. + */ + setICCPinLock: function setICCPinLock(options) { + options.facility = ICC_CB_FACILITY_SIM; + options.enabled = options.enabled; + options.password = options.pin; + options.serviceClass = ICC_SERVICE_CLASS_VOICE | + ICC_SERVICE_CLASS_DATA | + ICC_SERVICE_CLASS_FAX, + this.setICCFacilityLock(options); + }, + + /** + * Set ICC facility lock. + * + * @param facility + * One of ICC_CB_FACILITY_*. + * @param enabled + * true to enable, false to disable. + * @param password + * Password for the facility, or "" if not required. + * @param serviceClass + * One of ICC_SERVICE_CLASS_*. + */ + setICCFacilityLock: function setICCFacilityLock(options) { + Buf.newParcel(REQUEST_SET_FACILITY_LOCK, options); + Buf.writeUint32(4); + Buf.writeString(options.facility); + Buf.writeString(options.enabled ? "1" : "0"); + Buf.writeString(options.password); + Buf.writeString(options.serviceClass.toString()); + Buf.sendParcel(); + }, + /** * Request an ICC I/O operation. * @@ -2154,25 +2275,47 @@ RIL[REQUEST_GET_SIM_STATUS] = function REQUEST_GET_SIM_STATUS(length, options) { this._processICCStatus(iccStatus); }; RIL[REQUEST_ENTER_SIM_PIN] = function REQUEST_ENTER_SIM_PIN(length, options) { - if (options.rilRequestError) { - return; - } - - let response = Buf.readUint32List(); - if (DEBUG) debug("REQUEST_ENTER_SIM_PIN returned " + response); + this.sendDOMMessage({type: "iccunlockcardlock", + lockType: "pin", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); }; RIL[REQUEST_ENTER_SIM_PUK] = function REQUEST_ENTER_SIM_PUK(length, options) { - if (options.rilRequestError) { - return; - } - - let response = Buf.readUint32List(); - if (DEBUG) debug("REQUEST_ENTER_SIM_PUK returned " + response); + this.sendDOMMessage({type: "iccunlockcardlock", + lockType: "puk", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); +}; +RIL[REQUEST_ENTER_SIM_PIN2] = function REQUEST_ENTER_SIM_PIN2(length, options) { + this.sendDOMMessage({type: "iccunlockcardlock", + lockType: "pin2", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); +}; +RIL[REQUEST_ENTER_SIM_PUK2] = function REQUEST_ENTER_SIM_PUK(length, options) { + this.sendDOMMessage({type: "iccunlockcardlock", + lockType: "puk2", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); +}; +RIL[REQUEST_CHANGE_SIM_PIN] = function REQUEST_CHANGE_SIM_PIN(length, options) { + this.sendDOMMessage({type: "iccsetcardlock", + lockType: "pin", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); +}; +RIL[REQUEST_CHANGE_SIM_PIN2] = function REQUEST_CHANGE_SIM_PIN2(length, options) { + this.sendDOMMessage({type: "iccsetcardlock", + lockType: "pin2", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); }; -RIL[REQUEST_ENTER_SIM_PIN2] = null; -RIL[REQUEST_ENTER_SIM_PUK2] = null; -RIL[REQUEST_CHANGE_SIM_PIN] = null; -RIL[REQUEST_CHANGE_SIM_PIN2] = null; RIL[REQUEST_ENTER_NETWORK_DEPERSONALIZATION] = null; RIL[REQUEST_GET_CURRENT_CALLS] = function REQUEST_GET_CURRENT_CALLS(length, options) { if (options.rilRequestError) { @@ -2534,8 +2677,24 @@ RIL[REQUEST_DEACTIVATE_DATA_CALL] = function REQUEST_DEACTIVATE_DATA_CALL(length this.sendDOMMessage({type: "datacallstatechange", datacall: datacall}); }; -RIL[REQUEST_QUERY_FACILITY_LOCK] = null; -RIL[REQUEST_SET_FACILITY_LOCK] = null; +RIL[REQUEST_QUERY_FACILITY_LOCK] = function REQUEST_QUERY_FACILITY_LOCK(length, options) { + if (options.rilRequestError) { + return; + } + + let response = Buf.readUint32List()[0]; + this.sendDOMMessage({type: "iccgetcardlock", + lockType: "pin", + enabled: response == 0 ? false : true, + requestId: options.requestId}); +}; +RIL[REQUEST_SET_FACILITY_LOCK] = function REQUEST_SET_FACILITY_LOCK(length, options) { + this.sendDOMMessage({type: "iccsetcardlock", + lockType: "pin", + result: options.rilRequestError == 0 ? true : false, + retryCount: length ? Buf.readUint32List()[0] : -1, + requestId: options.requestId}); +}; RIL[REQUEST_CHANGE_BARRING_PASSWORD] = null; RIL[REQUEST_QUERY_NETWORK_SELECTION_MODE] = function REQUEST_QUERY_NETWORK_SELECTION_MODE(length, options) { if (options.rilRequestError) { From 100deaf17c371d2b0894d684423a8b564f5be4ee Mon Sep 17 00:00:00 2001 From: Robert Strong Date: Mon, 21 May 2012 16:55:01 -0700 Subject: [PATCH 44/78] Windows installer only - Bug 745426 - Maintenance service description should wrap to allow long localizations. r=bbondy --- browser/installer/windows/nsis/installer.nsi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi index 95c1aaf8f1f1..4cd6964e82f1 100755 --- a/browser/installer/windows/nsis/installer.nsi +++ b/browser/installer/windows/nsis/installer.nsi @@ -1092,14 +1092,14 @@ Function .onInit WriteINIStr "$PLUGINSDIR\components.ini" "Field 1" Left "0" WriteINIStr "$PLUGINSDIR\components.ini" "Field 1" Right "-1" WriteINIStr "$PLUGINSDIR\components.ini" "Field 1" Top "5" - WriteINIStr "$PLUGINSDIR\components.ini" "Field 1" Bottom "15" + WriteINIStr "$PLUGINSDIR\components.ini" "Field 1" Bottom "25" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Type "checkbox" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Text "$(MAINTENANCE_SERVICE_CHECKBOX_DESC)" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Left "0" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Right "-1" - WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Top "20" - WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Bottom "30" + WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Top "27" + WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Bottom "37" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" State "1" WriteINIStr "$PLUGINSDIR\components.ini" "Field 2" Flags "GROUP" From 4f9a2ef33799321dec2535da9433c2588b5f7499 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Thu, 17 May 2012 14:45:00 +0300 Subject: [PATCH 45/78] Bug 675927 - [Mac] The Web Console Window freezes when drag and drop the parent tab to create a new window; r=msucan,rcampbell --- browser/devtools/webconsole/HUDService.jsm | 1 + 1 file changed, 1 insertion(+) diff --git a/browser/devtools/webconsole/HUDService.jsm b/browser/devtools/webconsole/HUDService.jsm index a0d8eb17d3d0..d1550638d43d 100644 --- a/browser/devtools/webconsole/HUDService.jsm +++ b/browser/devtools/webconsole/HUDService.jsm @@ -1758,6 +1758,7 @@ HUD_SERVICE.prototype = // Remove the HUDBox and the consolePanel if the Web Console is inside a // floating panel. if (hud.consolePanel && hud.consolePanel.parentNode) { + hud.consolePanel.hidePopup(); hud.consolePanel.parentNode.removeChild(hud.consolePanel); hud.consolePanel.removeAttribute("hudId"); hud.consolePanel = null; From ddc0cf470ae92c25ff71e0e670c12da6393766a3 Mon Sep 17 00:00:00 2001 From: Panos Astithas Date: Tue, 22 May 2012 08:40:51 +0300 Subject: [PATCH 46/78] Stop using 'frame.arguments' now that 'arguments' is always present in the environment bindings (Bug 752770); r=rcampbell --- .../devtools/debugger/debugger-controller.js | 48 ++----------------- .../test/browser_dbg_propertyview-07.js | 17 ++++--- .../test/browser_dbg_propertyview-08.js | 21 ++++---- 3 files changed, 23 insertions(+), 63 deletions(-) diff --git a/browser/devtools/debugger/debugger-controller.js b/browser/devtools/debugger/debugger-controller.js index 02bd6855111d..3d6ae9bb09a2 100644 --- a/browser/devtools/debugger/debugger-controller.js +++ b/browser/devtools/debugger/debugger-controller.js @@ -533,32 +533,10 @@ StackFrames.prototype = { paramVar.setGrip(paramVal); this._addExpander(paramVar, paramVal); } - - // If we already found 'arguments', we are done here. - if ("arguments" in frame.environment.bindings.variables) { - // Signal that variables have been fetched. - DebuggerController.dispatchEvent("Debugger:FetchedVariables"); - return; - } - } - - // Sometimes in call frames with arguments we don't get 'arguments' in the - // environment (bug 746601) and we have to construct it manually. Note, that - // in this case arguments.callee will be absent, even in the cases where it - // shouldn't be. - if (frame.arguments && frame.arguments.length > 0) { - // Add "arguments". - let argsVar = localScope.addVar("arguments"); - argsVar.setGrip({ - type: "object", - class: "Arguments" - }); - this._addExpander(argsVar, frame.arguments); - - // Signal that variables have been fetched. - DebuggerController.dispatchEvent("Debugger:FetchedVariables"); } + // Signal that variables have been fetched. + DebuggerController.dispatchEvent("Debugger:FetchedVariables"); }, /** @@ -566,10 +544,9 @@ StackFrames.prototype = { * new properties. */ _addExpander: function SF__addExpander(aVar, aObject) { - // No need for expansion for null and undefined values, but we do need them - // for frame.arguments which is a regular array. + // No need for expansion for null and undefined values. if (!aVar || !aObject || typeof aObject !== "object" || - (aObject.type !== "object" && !Array.isArray(aObject))) { + aObject.type !== "object") { return; } @@ -588,23 +565,6 @@ StackFrames.prototype = { return; } - // For arrays we have to construct a grip-like object. - if (Array.isArray(aObject)) { - let properties = { length: { value: aObject.length } }; - for (let i = 0, l = aObject.length; i < l; i++) { - properties[i] = { value: aObject[i] }; - } - aVar.addProperties(properties); - - // Expansion handlers must be set after the properties are added. - for (let i = 0, l = aObject.length; i < l; i++) { - this._addExpander(aVar[i], aObject[i]); - } - - aVar.fetched = true; - return; - } - let objClient = this.activeThread.pauseGrip(aObject); objClient.getPrototypeAndProperties(function SF_onProtoAndProps(aResponse) { // Add __proto__. diff --git a/browser/devtools/debugger/test/browser_dbg_propertyview-07.js b/browser/devtools/debugger/test/browser_dbg_propertyview-07.js index a9eb80f7b5ed..25383c1d90c9 100644 --- a/browser/devtools/debugger/test/browser_dbg_propertyview-07.js +++ b/browser/devtools/debugger/test/browser_dbg_propertyview-07.js @@ -76,18 +76,17 @@ function testFrameParameters() is(localNodes[6].querySelector(".info").textContent, "undefined", "Should have the right property value for 'fArg'."); - // FIXME bug TODO: reenable - //is(localNodes[7].querySelector(".info").textContent, "1", - // "Should have the right property value for 'a'."); + is(localNodes[7].querySelector(".info").textContent, "1", + "Should have the right property value for 'a'."); - //is(localNodes[8].querySelector(".info").textContent, "[object Object]", - // "Should have the right property value for 'b'."); + is(localNodes[8].querySelector(".info").textContent, "[object Object]", + "Should have the right property value for 'b'."); - //is(localNodes[9].querySelector(".info").textContent, "[object Object]", - // "Should have the right property value for 'c'."); + is(localNodes[9].querySelector(".info").textContent, "[object Object]", + "Should have the right property value for 'c'."); - //is(localNodes[10].querySelector(".info").textContent, "[object Arguments]", - // "Should have the right property value for 'arguments'."); + is(localNodes[10].querySelector(".info").textContent, "[object Arguments]", + "Should have the right property value for 'arguments'."); resumeAndFinish(); }}, 0); diff --git a/browser/devtools/debugger/test/browser_dbg_propertyview-08.js b/browser/devtools/debugger/test/browser_dbg_propertyview-08.js index 418715eae938..7a9a86621504 100644 --- a/browser/devtools/debugger/test/browser_dbg_propertyview-08.js +++ b/browser/devtools/debugger/test/browser_dbg_propertyview-08.js @@ -56,7 +56,7 @@ function testFrameParameters() is(localNodes[0].querySelector(".info").textContent, "[object Proxy]", "Should have the right property value for 'this'."); - // Expand the '__proto__', 'arguments' and 'a' tree nodes. This causes + // Expand the 'this', 'arguments' and 'c' tree nodes. This causes // their properties to be retrieved and displayed. localNodes[0].expand(); localNodes[9].expand(); @@ -67,6 +67,7 @@ function testFrameParameters() // content window timers are disabled while the debuggee is paused. let count = 0; let intervalID = window.setInterval(function(){ + dump("count: "+count+" "); if (++count > 50) { ok(false, "Timed out while polling for the properties."); resumeAndFinish(); @@ -96,17 +97,17 @@ function testFrameParameters() .textContent, 1, "Should have the right value for 'c.a'."); - //is(localNodes[10].querySelector(".info").textContent, - // "[object Arguments]", - // "Should have the right property value for 'arguments'."); + is(localNodes[10].querySelector(".info").textContent, + "[object Arguments]", + "Should have the right property value for 'arguments'."); - //is(localNodes[10].querySelector(".property > .title > .key") - // .textContent, "length", - // "Should have the right property name for 'length'."); + is(localNodes[10].querySelectorAll(".property > .title > .key")[7] + .textContent, "length", + "Should have the right property name for 'length'."); - //is(localNodes[10].querySelector(".property > .title > .value") - // .textContent, 5, - // "Should have the right argument length."); + is(localNodes[10].querySelectorAll(".property > .title > .value")[7] + .textContent, 5, + "Should have the right argument length."); resumeAndFinish(); }, 100); From e8361cf126ac4dc8cfc77e8ac6ab66d36c024afa Mon Sep 17 00:00:00 2001 From: Panos Astithas Date: Tue, 22 May 2012 09:30:03 +0300 Subject: [PATCH 47/78] Bug 756513 - Enable the script debugger by default; r=rcampbell --- browser/app/profile/firefox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 5baca2f8432c..b35ac401e4d6 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -1027,7 +1027,7 @@ pref("devtools.layoutview.enabled", false); pref("devtools.layoutview.open", false); // Enable the Debugger -pref("devtools.debugger.enabled", false); +pref("devtools.debugger.enabled", true); pref("devtools.debugger.remote-enabled", false); pref("devtools.debugger.remote-host", "localhost"); pref("devtools.debugger.remote-port", 6000); From 43a8a58584ada25a2ca367993203479ed8d2d302 Mon Sep 17 00:00:00 2001 From: Joe Walker Date: Tue, 22 May 2012 08:50:02 +0100 Subject: [PATCH 48/78] Bug 756888 - Rollup of a bunch of small GCLI changes; r=dcamp --HG-- rename : browser/devtools/commandline/gcliblank.xhtml => browser/devtools/commandline/gclitooltip.xhtml --- browser/devtools/commandline/gcli.jsm | 5 +- browser/devtools/commandline/gclioutput.xhtml | 58 ++++++ .../{gcliblank.xhtml => gclitooltip.xhtml} | 6 +- browser/devtools/jar.mn | 3 +- browser/devtools/shared/DeveloperToolbar.jsm | 193 ++++++++---------- browser/devtools/shared/test/Makefile.in | 1 + .../shared/test/browser_toolbar_basic.js | 4 +- .../shared/test/browser_toolbar_tooltip.js | 45 ++++ browser/devtools/shared/test/head.js | 50 ++++- .../locales/en-US/chrome/browser/browser.dtd | 6 +- 10 files changed, 256 insertions(+), 115 deletions(-) create mode 100644 browser/devtools/commandline/gclioutput.xhtml rename browser/devtools/commandline/{gcliblank.xhtml => gclitooltip.xhtml} (89%) create mode 100755 browser/devtools/shared/test/browser_toolbar_tooltip.js diff --git a/browser/devtools/commandline/gcli.jsm b/browser/devtools/commandline/gcli.jsm index e2693fe89c0f..bcba334c54d1 100644 --- a/browser/devtools/commandline/gcli.jsm +++ b/browser/devtools/commandline/gcli.jsm @@ -6201,7 +6201,7 @@ var eagerHelperSettingSpec = { { name: 'always', value: Eagerness.ALWAYS }, ] }, - defaultValue: 1, + defaultValue: Eagerness.SOMETIMES, description: l10n.lookup('eagerHelperDesc'), ignoreTypeDifference: true }; @@ -6346,7 +6346,8 @@ FocusManager.prototype.removeMonitoredElement = function(element, where) { FocusManager.prototype.updatePosition = function(dimensions) { var ev = { tooltipVisible: this.isTooltipVisible, - outputVisible: this.isOutputVisible + outputVisible: this.isOutputVisible, + dimensions: dimensions }; this.onVisibilityChange(ev); }; diff --git a/browser/devtools/commandline/gclioutput.xhtml b/browser/devtools/commandline/gclioutput.xhtml new file mode 100644 index 000000000000..76172e6f5bb0 --- /dev/null +++ b/browser/devtools/commandline/gclioutput.xhtml @@ -0,0 +1,58 @@ + + + %webConsoleDTD; + ] +> + + + + + + + + + + + + +

+ + diff --git a/browser/devtools/commandline/gcliblank.xhtml b/browser/devtools/commandline/gclitooltip.xhtml similarity index 89% rename from browser/devtools/commandline/gcliblank.xhtml rename to browser/devtools/commandline/gclitooltip.xhtml index b8b86e6f7859..d268cd86c87b 100644 --- a/browser/devtools/commandline/gcliblank.xhtml +++ b/browser/devtools/commandline/gclitooltip.xhtml @@ -19,8 +19,8 @@ - -
-
+ +
+
diff --git a/browser/devtools/jar.mn b/browser/devtools/jar.mn index b9978d47e354..4e16157bcc19 100644 --- a/browser/devtools/jar.mn +++ b/browser/devtools/jar.mn @@ -23,4 +23,5 @@ browser.jar: content/browser/debugger-controller.js (debugger/debugger-controller.js) content/browser/debugger-view.js (debugger/debugger-view.js) content/browser/devtools/gcli.css (commandline/gcli.css) - content/browser/devtools/gcliblank.xhtml (commandline/gcliblank.xhtml) + content/browser/devtools/gclioutput.xhtml (commandline/gclioutput.xhtml) + content/browser/devtools/gclitooltip.xhtml (commandline/gclitooltip.xhtml) diff --git a/browser/devtools/shared/DeveloperToolbar.jsm b/browser/devtools/shared/DeveloperToolbar.jsm index b7ef2fd2693d..c60c5ca32e69 100644 --- a/browser/devtools/shared/DeveloperToolbar.jsm +++ b/browser/devtools/shared/DeveloperToolbar.jsm @@ -7,7 +7,6 @@ const EXPORTED_SYMBOLS = [ "DeveloperToolbar" ]; const NS_XHTML = "http://www.w3.org/1999/xhtml"; -const URI_GCLIBLANK = "chrome://browser/content/devtools/gcliblank.xhtml"; Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); Components.utils.import("resource://gre/modules/Services.jsm"); @@ -79,7 +78,6 @@ DeveloperToolbar.prototype.toggle = function DT_toggle() this.hide(); } else { this.show(); - this._input.focus(); } }; @@ -154,9 +152,11 @@ DeveloperToolbar.prototype._onload = function DT_onload() this.display.onOutput.add(this.outputPanel._outputChanged, this.outputPanel); this._chromeWindow.getBrowser().tabContainer.addEventListener("TabSelect", this, false); - this._chromeWindow.getBrowser().addEventListener("load", this, true); + this._chromeWindow.getBrowser().addEventListener("load", this, true); + this._chromeWindow.addEventListener("resize", this, false); this._element.hidden = false; + this._input.focus(); this._notify(NOTIFICATIONS.SHOW); if (this._pendingShowCallback) { @@ -263,65 +263,10 @@ DeveloperToolbar.prototype.handleEvent = function DT_handleEvent(aEvent) }); } } -}; - -/** - * Add class="gcli-panel-inner-arrowcontent" to a panel's - * || so we can alter the styling - * without complex CSS expressions. - * @param aPanel The panel to affect - */ -function getContentBox(aPanel) -{ - let container = aPanel.ownerDocument.getAnonymousElementByAttribute( - aPanel, "anonid", "container"); - return container.querySelector(".panel-inner-arrowcontent"); -} - -/** - * Helper function to calculate the sum of the vertical padding and margins - * between a nested node |aNode| and an ancestor |aRoot|. Iff all of the - * children of aRoot are 'only-childs' until you get to aNode then to avoid - * scroll-bars, the 'correct' height of aRoot is verticalSpacing + aNode.height. - * @param aNode The child node whose height is known. - * @param aRoot The parent height whose height we can affect. - * @return The sum of the vertical padding/margins in between aNode and aRoot. - */ -function getVerticalSpacing(aNode, aRoot) -{ - let win = aNode.ownerDocument.defaultView; - - function pxToNum(styles, property) { - return parseInt(styles.getPropertyValue(property).replace(/px$/, ''), 10); + else if (aEvent.type == "resize") { + this.outputPanel._resize(); } - - let vertSpacing = 0; - do { - let styles = win.getComputedStyle(aNode); - vertSpacing += pxToNum(styles, "padding-top"); - vertSpacing += pxToNum(styles, "padding-bottom"); - vertSpacing += pxToNum(styles, "margin-top"); - vertSpacing += pxToNum(styles, "margin-bottom"); - vertSpacing += pxToNum(styles, "border-top-width"); - vertSpacing += pxToNum(styles, "border-bottom-width"); - - let prev = aNode.previousSibling; - while (prev != null) { - vertSpacing += prev.clientHeight; - prev = prev.previousSibling; - } - - let next = aNode.nextSibling; - while (next != null) { - vertSpacing += next.clientHeight; - next = next.nextSibling; - } - - aNode = aNode.parentNode; - } while (aNode !== aRoot); - - return vertSpacing + 9; -} +}; /** * Panel to handle command line output. @@ -332,32 +277,31 @@ function getVerticalSpacing(aNode, aRoot) function OutputPanel(aChromeDoc, aInput, aLoadCallback) { this._input = aInput; - this._anchor = aChromeDoc.getElementById("developer-toolbar"); + this._toolbar = aChromeDoc.getElementById("developer-toolbar"); this._loadCallback = aLoadCallback; /* -